月度信息修改和企业入驻信息修改

master
杜函宇 3 weeks ago
parent 40f0f1ed94
commit 6a021cafb0

@ -0,0 +1,61 @@
package com.ruoyi.docking.controller;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.docking.entity.Project;
import com.ruoyi.docking.entity.ProjectProgress;
import com.ruoyi.docking.entity.request.EditProjectRequest;
import com.ruoyi.docking.entity.request.YdxxtjRequest;
import com.ruoyi.docking.service.ProjectProgressService;
import com.ruoyi.docking.service.ProjectService;
import com.ruoyi.gysl.entity.request.ZwIdPageReq;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;
/**
* (Project)
*
* @author makejava
* @since 2025-03-25 14:49:04
*/
@Api(tags = "项目(对接数据)")
@RestController
@RequestMapping("/gysl/project")
public class ProjectController extends BaseController {
/**
*
*/
@Resource
private ProjectService projectService;
/**
*
*
* @param projectName
* @return
*/
@ApiOperation(value = "查询所有项目数据", response = Project.class)
@GetMapping("/page")
public AjaxResult selectAll(String projectName) {
return success(projectService.page(projectName));
}
/**
*
*/
@ApiOperation(value = "绑定项目")
@PostMapping("/editProject")
public AjaxResult editProject(@RequestBody @Valid EditProjectRequest editProjectRequest) {
return success(projectService.editProject(editProjectRequest));
}
}

@ -0,0 +1,30 @@
package com.ruoyi.docking.entity.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
*
*
* @author du
* @since 2024/7/18 17:14
*/
@Data
public class EditProjectRequest {
/**
* id
*/
@ApiModelProperty("本系统项目id")
@NotNull(message = "本系统项目id不能为空!")
private Long id;
/**
* id
*/
@ApiModelProperty("项目id")
@NotNull(message = "项目id不能为空!")
private Integer projectId;
}

@ -0,0 +1,35 @@
package com.ruoyi.docking.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.docking.entity.Project;
import com.ruoyi.docking.entity.request.EditProjectRequest;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* (ProjectProgress)访
*
* @author makejava
* @since 2025-03-25 14:49:04
*/
public interface ProjectMapper extends BaseMapper<Project> {
/**
*
*
* @param name
* @return
*/
@DataSource(value = DataSourceType.SLAVE)
List<Project> page(@Param("name") String name);
/**
*
*/
int editProject(@Param("req") EditProjectRequest editProjectRequest);
}

@ -23,11 +23,11 @@ public interface ProjectProgressMapper extends BaseMapper<ProjectProgress> {
/**
*
*
* @param name
* @param projectId
* @return
*/
@DataSource(value = DataSourceType.SLAVE)
List<ProjectProgress> page( @Param("name") String name);
List<ProjectProgress> page(@Param("projectId") Long projectId);
/**
* id

@ -0,0 +1,30 @@
package com.ruoyi.docking.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.docking.entity.Project;
import com.ruoyi.docking.entity.request.EditProjectRequest;
import java.util.List;
/**
* (ProjectProgress)
*
* @author makejava
* @since 2025-03-25 14:49:04
*/
public interface ProjectService extends IService<Project> {
/**
*
*
* @param projectName
* @return
*/
List<Project> page( String projectName);
/**
*
*/
int editProject(EditProjectRequest editProjectRequest);
}

@ -51,8 +51,8 @@ public class ProjectProgressServiceImpl extends ServiceImpl<ProjectProgressMappe
BasicInformation byId = basicInformationService.getById(zwIdPageReq.getXmId());
//获取对接的数据
List<ProjectProgress> page = new ArrayList<>();
if (isZs) {
page = projectProgressMapper.page(byId.getName());
if (isZs&&byId.getProjectId()!=null) {
page = projectProgressMapper.page(byId.getProjectId());
}
List<ProjectProgress> list = projectProgressMapper.getXmId(byId.getId());
return new ArrayList<>(Stream.concat(list.stream(), page.stream())
@ -73,8 +73,8 @@ public class ProjectProgressServiceImpl extends ServiceImpl<ProjectProgressMappe
BasicInformation byId = basicInformationService.getById(zwIdPageReq.getXmId());
//获取对接的数据
List<ProjectProgress> page = new ArrayList<>();
if (isZs) {
page = projectProgressMapper.page(byId.getName());
if (isZs&&byId.getProjectId()!=null) {
page = projectProgressMapper.page(byId.getProjectId());
}
List<ProjectProgress> list = projectProgressMapper.getXmId(byId.getId());
List<ProjectProgress> projectProgresses = new ArrayList<>(Stream.concat(list.stream(), page.stream())

@ -0,0 +1,48 @@
package com.ruoyi.docking.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.docking.entity.Project;
import com.ruoyi.docking.entity.request.EditProjectRequest;
import com.ruoyi.docking.mapper.ProjectMapper;
import com.ruoyi.docking.service.ProjectService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* (ProjectProgress)
*
* @author makejava
* @since 2025-03-25 14:49:04
*/
@Service("projectService")
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
@Resource
private ProjectMapper projectMapper;
@Value("${isZs}")
private Boolean isZs;
/**
*
*
* @param projectName
* @return
*/
@Override
public List<Project> page(String projectName) {
return projectMapper.page(projectName);
}
/**
*
*/
@Override
public int editProject(EditProjectRequest editProjectRequest) {
return projectMapper.editProject(editProjectRequest);
}
}

@ -19,6 +19,7 @@ import com.ruoyi.gysl.entity.request.AuditRequest;
import com.ruoyi.gysl.entity.request.BasicInformationPageReq;
import com.ruoyi.gysl.entity.response.BasicInformationResponse;
import com.ruoyi.gysl.entity.response.ProjectExcelInfo;
import com.ruoyi.gysl.login.util.HttpGetDataUtil;
import com.ruoyi.gysl.login.util.SM2Demo;
import com.ruoyi.gysl.login.util.SM4Demo;
import com.ruoyi.gysl.login.util.StringUtil;
@ -120,6 +121,8 @@ public class BasicInformationController extends BaseController {
@Value("${sceneId}")
private String sceneId;
@Resource
private HttpGetDataUtil httpGetDataUtil;
/**
*
*/
@ -189,67 +192,6 @@ public class BasicInformationController extends BaseController {
@ApiOperation("建筑工程竣工验收备案表")
@GetMapping("/getJgysbab")
public AjaxResult getJgysbab() throws Exception {
if (isZs) {
String czztdm = "9132059456176406XP";
String czztmc = "苏州纳米科技发展有限公司";
System.out.println(czztdm);
System.out.println(czztmc);
String contacts = "http://172.21.10.46/api/invoke/323018/jzgcjgysbab";
String a1 = Base64.getEncoder().encodeToString((byte[])
SM4Demo.exec(accessId.getBytes(),
"ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
String a2 = Base64.getEncoder().encodeToString((byte[])
SM4Demo.exec(czztdm.getBytes(),
"ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
String a3 = Base64.getEncoder().encodeToString((byte[])
SM4Demo.exec(czztmc.getBytes(),
"ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
String a4 = Base64.getEncoder().encodeToString((byte[])
SM4Demo.exec(sceneId.getBytes(),
"ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
//生成sm3签名
String input = "accessId=" + accessId + "&czztdm=" + czztdm + "&czztmc=" + czztmc + "&sceneId=" + sceneId;
try {
// 1. 构建 URL含签名参数处理特殊符号
String encodedSignature = URLEncoder.encode(SmUtil.sm3(input), "UTF-8")
.replace("+", "%20"); // 确保 + 不被编码为空格
String fullUrl = contacts + "?signature=" + encodedSignature;
// 2. 创建连接
URL url = new URL(fullUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY);
// 3. 构建请求体(严格对齐 curl -F 格式)
try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {
writeFormField(out, "accessId", a1);
writeFormField(out, "czztdm", a2);
writeFormField(out, "czztmc", a3);
writeFormField(out, "sceneId", a4);
// 结束标记
out.writeBytes("--" + BOUNDARY + "--\r\n");
}
// 4. 处理响应
int statusCode = conn.getResponseCode();
StringBuilder response = getResponse(statusCode, conn);
if (statusCode == 200) {
JSONObject jsonObj = JSONObject.parseObject(String.valueOf(response));
// if ("200".equals(jsonObj.getString("code"))) { // 使用 getString 避免类型问题
// 直接获取 data 字段为 JSONObject无需转换 String
JSONObject reqData = jsonObj.getJSONObject("data");
String responseParams = reqData.getString("responseParams");
String s = new String((byte[]) SM2Demo.dexec(
Base64.getDecoder().decode(responseParams), "C1C2C3",
Base64.getDecoder().decode(sm2)),
StandardCharsets.UTF_8);
System.out.println(s);
return AjaxResult.success(StringUtil.getFinalData(s));
}
} catch (Exception y) {
y.printStackTrace();
}
}
return success();
}

@ -8,6 +8,7 @@ import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.gysl.entity.Enterprise;
import com.ruoyi.gysl.entity.request.ZwIdPageReq;
import com.ruoyi.gysl.login.util.HttpGetDataUtil;
import com.ruoyi.gysl.service.EnterpriseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -38,6 +39,9 @@ public class EnterpriseController extends BaseController {
@Resource
private EnterpriseService enterpriseService;
@Resource
private HttpGetDataUtil httpGetDataUtil;
/**
* id
*
@ -102,15 +106,23 @@ public class EnterpriseController extends BaseController {
} else {
List<Enterprise> pl = new ArrayList<>(proList.stream()
.collect(Collectors.toMap(
Enterprise::getCode, // 以 email 作为键
Enterprise::getTyshxydm, // 以 email 作为键
p -> p, // 值保留对象本身
(existing, replacement) -> existing // 保留第一个出现的元素
))
.values());
pl.forEach(x->{
x.setXmId(xmId);
//=============为将要导入的企业补充信息
pl.forEach(x -> {
try {
Enterprise enterpriseData = httpGetDataUtil.getEnterpriseData(x.getTyshxydm());
if (enterpriseData != null) {
enterpriseData.setXmId(xmId);
enterpriseService.save(enterpriseData);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
});
enterpriseService.saveBatch(proList);
successMsg.append("导入成功");
}
return AjaxResult.success(successMsg);

@ -169,5 +169,9 @@ public class BasicInformation extends BaseModel {
@Excel(name = "计划投资额", type = Excel.Type.EXPORT)
private BigDecimal jhtze;
@ApiModelProperty("项目id(对接数据)")
private Long projectId;
}

@ -1,135 +1,299 @@
package com.ruoyi.gysl.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.gysl.entity.baseModel.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* (Enterprise)
* bms_enterprise_basic_info
*
* @author makejava
* @since 2025-02-24 11:26:49
* @author farben
* @date 2023-08-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("gysl_enterprise")
@ApiModel(value = "Enterprise", description = "入驻企业基本信息")
public class Enterprise extends BaseModel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@ApiModelProperty(value = "主键id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* id
*/
@ApiModelProperty(value = "项目id")
@TableField("xm_id")
@ApiModelProperty("项目id")
private Long xmId;
/**
*
*/
@ApiModelProperty("源主键")
private String ywid;
/**
* org
*/
@ApiModelProperty("源表org")
private String org;
/**
*
*/
@ApiModelProperty(value = "企业名称")
@TableField("name")
@Excel(name = "企业名称")
private String name;
@ApiModelProperty("企业名称")
@Excel(name = "企业名称*",required = true)
private String qymc;
/**
*
*/
@ApiModelProperty("标识证号")
private String bszh;
/**
*
*/
@ApiModelProperty(value = "统一社会信用代码")
@TableField("code")
@Excel(name = "统一社会信用代码")
private String code;
@ApiModelProperty("统一社会信用代码")
@Excel(name = "统一社会信用代码*",required = true)
private String tyshxydm;
/**
*
*
*/
@ApiModelProperty(value = "所属行业 ")
@TableField("sshy")
@Excel(name = "所属行业")
private String sshy;
@ApiModelProperty("企业注册号")
private String qyzch;
/**
*
*
*/
@ApiModelProperty(value = "租金价格")
@TableField("zjjg")
@Excel(name = "租金价格")
private Integer zjjg;
@ApiModelProperty("组织机构代码")
private String zzjgdm;
/**
*
*
*/
@ApiModelProperty(value = "注册地址")
@Excel(name = "注册地址")
private String zcdz;
@ApiModelProperty("经济类型代码")
private String jjlxdm;
/**
*
*
*/
@ApiModelProperty(value = "成立日期 yyyy-MM-dd HH:mm:ss")
@Excel(name = "成立日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime clrq;
@ApiModelProperty("经济类型名称")
private String jjlxmc;
/**
*
*
*/
@ApiModelProperty(value = "注册资本")
@Excel(name = "注册资本")
private String zczb;
@ApiModelProperty("企业类型代码")
private String qylxdm;
/**
*
*
*/
@ApiModelProperty(value = "法定代表人")
@Excel(name = "注册地址")
private String fddbr;
@ApiModelProperty("企业类型名称")
private String qylxmc;
/**
*
*
*/
@ApiModelProperty(value = "企业类型")
@Excel(name = "企业类型")
private String qylx;
@ApiModelProperty("注册资金")
private String zczj;
/**
*
*/
@ApiModelProperty("注册资本币种")
private String zczbbz;
/**
*
*/
@ApiModelProperty("注册类型")
private String zclx;
/**
*
*/
@ApiModelProperty(value = "经营范围")
@Excel(name = "经营范围")
@ApiModelProperty("经营范围")
private String jyfw;
/**
*
*/
@ApiModelProperty("经营或营业起始日期")
private String jyhyyqsrq;
/**
*
*/
@ApiModelProperty("经营或营业截止日期")
private String jyhyyjzrq;
/**
*
*
*/
@ApiModelProperty(value = "组织机构代码")
@Excel(name = "组织机构代码")
private String zzjgdm;
@ApiModelProperty("行业代码")
private String hydm;
/**
*
*
*/
@ApiModelProperty(value = "税务登记号码")
@Excel(name = "税务登记号码")
private String swdjhm;
@ApiModelProperty("行业名称")
private String hymc;
/**
*
*/
@ApiModelProperty("行业门类")
private String hyml;
/**
*
*/
@ApiModelProperty("产业类型")
private String cylx;
/**
*
*/
@ApiModelProperty("企业住所")
private String qyzs;
/**
*
*/
@ApiModelProperty("经营场所")
private String jycs;
/**
*
*/
@ApiModelProperty("经营场所行政区划")
private String jycsxzqh;
/**
*
*/
@ApiModelProperty("邮政编码")
private String yzbm;
/**
*
*/
@ApiModelProperty("成立日期")
private String clrq;
/**
*
*/
@ApiModelProperty("信用等级")
private String xydj;
/**
*
*/
@ApiModelProperty("企业规模")
private String qygm;
/**
*
*/
@ApiModelProperty("法定代表人姓名")
private String fddbrxm;
/**
*
*/
@ApiModelProperty("法定代表人证件号码")
private String fddbrzjhm;
/**
*
*/
@ApiModelProperty("登记机关")
private String djjg;
/**
*
*/
@ApiModelProperty("核准日期")
private String hzrq;
/**
*
*/
@ApiModelProperty("经营状态")
private String jyzt;
/**
*
*/
@ApiModelProperty("状态日期")
private String ztrq;
/**
*
*/
@ApiModelProperty("注销日期")
private String zxrq;
/**
*
*/
@ApiModelProperty("吊销日期")
private String dxrq;
/**
*
*/
@ApiModelProperty("联系电话")
private String lxdh;
/**
*
*/
@ApiModelProperty("是否园区内")
private String sfyqn;
/**
*
*/
@ApiModelProperty("操作标识")
private String dwOperation;
/**
*
*/
@ApiModelProperty("入库时间")
private String dwTimestamp;
/**
*
*/
@ApiModelProperty("代理键")
private String dwAgencykey;
/**
*
*/
@ApiModelProperty("来源机构")
private String dwLyjg;
/**
*
*/
@ApiModelProperty("来源表名")
private String dwLyb;
}

@ -125,7 +125,7 @@ public class SingleLoginController {
res.setMain(req);
return AjaxResult.success(res);
}else {
throw new ServiceException("贵公司无需参与苏州工业园区工业上楼相关填报工作。系统将即刻为您返回企业服务综合平台界面,以便您处理其他业务事宜!");
throw new ServiceException("贵公司无需参与苏州工业园区工业上楼相关填报工作。系统将即刻为您返回企业服务一张网界面,以便您处理其他业务事宜!");
}
} else {
throw new ServiceException("该用户不是企业法人");

@ -0,0 +1,134 @@
package com.ruoyi.gysl.login.util;
import cn.hutool.crypto.SmUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.ruoyi.gysl.entity.Enterprise;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
/**
*
*
* @author du
* @since 2025/5/29 1:49
*/
@Service
public class HttpGetDataUtil {
private static final String BOUNDARY = "----WebKitFormBoundary7MA4YWxkTrZu0gW"; // 边界字符串(需唯一)
@Value("${sm2}")
private String sm2;
@Value("${isZs}")
private Boolean isZs;
@Value("${sm4}")
private String sm4;
@Value("${dataUrl}")
private String dataUrl;
@Value("${accessId}")
private String accessId;
@Value("${sceneId}")
private String sceneId;
public Enterprise getEnterpriseData(String tyshxydm) throws Exception {
if (isZs) {
String contacts = dataUrl + "frjbxxtyshxydm";
String a1 = Base64.getEncoder().encodeToString((byte[])
SM4Demo.exec(tyshxydm.getBytes(),
"ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
String a2 = Base64.getEncoder().encodeToString((byte[])
SM4Demo.exec("0".getBytes(),
"ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
// String a3 = Base64.getEncoder().encodeToString((byte[])
// SM4Demo.exec("10".getBytes(),
// "ECB", "PKCS5Padding", "random", sm4.getBytes(), null));
//生成sm3签名
String input = "pageIndex=0" + "&tyshxydm=" + tyshxydm;
try {
// 1. 构建 URL含签名参数处理特殊符号
String encodedSignature = URLEncoder.encode(SmUtil.sm3(input), "UTF-8")
.replace("+", "%20"); // 确保 + 不被编码为空格
String fullUrl = contacts + "?signature=" + encodedSignature;
// 2. 创建连接
URL url = new URL(fullUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + BOUNDARY);
// 3. 构建请求体(严格对齐 curl -F 格式)
try (DataOutputStream out = new DataOutputStream(conn.getOutputStream())) {
writeFormField(out, "pageIndex", a2);
writeFormField(out, "tyshxydm", a1);
// 结束标记
out.writeBytes("--" + BOUNDARY + "--\r\n");
}
// 4. 处理响应
int statusCode = conn.getResponseCode();
StringBuilder response = getResponse(statusCode, conn);
if (statusCode == 200) {
JSONObject jsonObj = JSONUtil.parseObj(String.valueOf(response));
if ("200".equals(jsonObj.get("code"))) { // 使用 getString 避免类型问题
// 直接获取 data 字段为 JSONObject无需转换 String
JSONObject reqData = jsonObj.getJSONObject("data");
String responseParams = reqData.getStr("responseParams");
String s = new String((byte[]) SM2Demo.dexec(
Base64.getDecoder().decode(responseParams), "C1C2C3",
Base64.getDecoder().decode(sm2)),
StandardCharsets.UTF_8);
System.out.println(s);
JSONObject finalData = JSONUtil.parseObj(s);
JSONArray arr = finalData.getJSONArray("data");
if (finalData.getInt("total") > 0) {
return JSONUtil.toBean(arr.getJSONObject(0).toString(), Enterprise.class);
} else {
return null;
}
}
}
} catch (Exception y) {
y.printStackTrace();
}
}
return null;
}
private StringBuilder getResponse(int statusCode, HttpURLConnection conn) throws IOException {
StringBuilder response = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InputStreamReader(
(statusCode >= 200 && statusCode < 300) ? conn.getInputStream() : conn.getErrorStream(),
StandardCharsets.UTF_8))) {
String line;
while ((line = in.readLine()) != null) {
response.append(line);
}
}
return response;
}
private void writeFormField(DataOutputStream out, String name, String value) throws Exception {
out.writeBytes("--" + BOUNDARY + "\r\n");
out.writeBytes("Content-Disposition: form-data; name=\"" + name + "\"\r\n");
out.writeBytes("Content-Type: text/plain; charset=UTF-8\r\n\r\n");
out.writeBytes(value + "\r\n");
}
}

@ -16,10 +16,6 @@ import java.util.regex.Pattern;
* @since 2024/6/20 10:15
*/
public class StringUtil {
public static void main(String[] args) {
}
public static List<JgysbabResponse> getFinalData(String content) throws Exception {
String result = content.replaceAll(", pdfBase64=[^,}]*", "");
//pdfbase64保存的集合
@ -62,7 +58,9 @@ public class StringUtil {
for (int i = start; i < input.length(); i++) {
char c = input.charAt(i);
if (c == '{') depth++;
if (c == '{') {
depth++;
}
if (c == '}') {
if (depth == 0) {
objects.add(currentObj.toString());
@ -72,7 +70,9 @@ public class StringUtil {
depth--;
}
}
if (depth >= 0) currentObj.append(c);
if (depth >= 0) {
currentObj.append(c);
}
}
return objects;
}
@ -91,8 +91,11 @@ public class StringUtil {
// 处理转义字符
if (c == '\\' && i < objStr.length() - 1) {
char next = objStr.charAt(++i);
if (isKey) key.append(next);
else value.append(next);
if (isKey) {
key.append(next);
} else {
value.append(next);
}
continue;
}
// 处理引号
@ -114,8 +117,11 @@ public class StringUtil {
continue;
}
// 积累字符
if (isKey) key.append(c);
else value.append(c);
if (isKey) {
key.append(c);
} else {
value.append(c);
}
}
// 添加最后一个键值对
@ -138,7 +144,9 @@ public class StringUtil {
.append("\":\"")
.append(pair[1].replace("\"", "\\\"")) // 处理值中的双引号
.append('"');
if (i < pairs.size() - 1) json.append(",");
if (i < pairs.size() - 1) {
json.append(",");
}
}
return json.append("}").toString();
}
@ -150,7 +158,9 @@ public class StringUtil {
StringBuilder json = new StringBuilder("[");
for (int i = 0; i < objects.size(); i++) {
json.append(objects.get(i));
if (i < objects.size() - 1) json.append(",");
if (i < objects.size() - 1) {
json.append(",");
}
}
return json.append("]").toString();
}

@ -2,9 +2,9 @@ package com.ruoyi.gysl.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.gysl.entity.Enterprise;
import com.ruoyi.gysl.entity.request.ZwIdPageReq;
import com.ruoyi.gysl.mapper.EnterpriseMapper;
import com.ruoyi.gysl.entity.Enterprise;
import com.ruoyi.gysl.service.EnterpriseService;
import org.springframework.stereotype.Service;

@ -43,7 +43,7 @@ user:
# 密码最大错误次数
maxRetryCount: 6
# 密码锁定时间默认10分钟
lockTime: 10
lockTime: 30
# Spring配置
spring:
@ -52,7 +52,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: internet
active: druid
# 文件上传
servlet:
multipart:
@ -144,4 +144,5 @@ getAllInfo: http://172.21.10.14/open/api/identity/data/FindUserById
sm4: ef5323158e0d43e69442718cd4932116
sm2: MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgefIcY79Be48T8ryF9tMOKDFZ4XmeB9JzBSmEZHGmvhKhRANCAAQmjPisOvJfv2r7mpj06FszOkAlJiyVL6OoefMmXmqSANNqyT8ZxnFpnToYgtqjQqX44IG8fXk49eLjKXQSfJ2J
accessId: d8bc5ba2-7114-46aa-b4e0-141804e4df1c
sceneId: 202505210001
sceneId: 202505210001
dataUrl: http://172.21.10.46/api/invoke/323018/

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.docking.mapper.ProjectMapper">
<update id="editProject" parameterType="BasicInformation">
update gysl_basic_information set project_id = #{req.projectId}
where id = #{req.id}
</update>
<select id="page" resultType="com.ruoyi.docking.entity.Project">
SELECT
b.*
FROM project b
where b.project_name like concat('%',#{name},'%')
</select>
</mapper>

@ -7,7 +7,7 @@
FROM
project_progress a
LEFT JOIN project b ON a.project_id = b.project_id
where b.project_name = #{name}
where b.project_id = #{projectId}
order by a.month asc
</select>
<select id="getXmId" resultType="com.ruoyi.docking.entity.ProjectProgress">

@ -117,8 +117,7 @@ public class SecurityConfig
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
.antMatchers("/system/chief/**").permitAll()
.antMatchers("/system/singlelogin/**").permitAll()
.antMatchers("/gysl/basicInformation/**").permitAll()
.antMatchers("/gysl/handbook/**").permitAll()
// .antMatchers("/gysl/basicInformation/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated();
})

Loading…
Cancel
Save