执法系统对接数据清洗
This commit is contained in:
parent
4f758d50ae
commit
b9ae62b120
|
|
@ -3,6 +3,8 @@ package com.chinaweal.aiccs.aiccs.security.controller;
|
|||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyAcceptLog;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyAppInfo;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyCaseInfo;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyEntInfo;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.dto.LoginInfoParamDto;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.dto.PenaltyCaseInfoEntInfoDto;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.dto.PenaltyCaseInfoRequestDto;
|
||||
|
|
@ -11,7 +13,11 @@ import com.chinaweal.aiccs.aiccs.security.entity.vo.SecurityResultVO;
|
|||
import com.chinaweal.aiccs.aiccs.security.enums.ErrorCode;
|
||||
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyAcceptLogService;
|
||||
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyAppInfoService;
|
||||
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyCaseInfoService;
|
||||
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyEntInfoService;
|
||||
import com.chinaweal.aiccs.common.constant.CommonConstants;
|
||||
import com.chinaweal.aiccs.common.constant.Constant;
|
||||
import com.chinaweal.aiccs.common.util.DateUtils;
|
||||
import com.chinaweal.aiccs.common.util.StringUtils;
|
||||
import com.chinaweal.aiccs.org.entity.TUsers;
|
||||
import com.chinaweal.aiccs.org.service.TUsersService;
|
||||
|
|
@ -20,7 +26,9 @@ import org.apache.commons.collections.CollectionUtils;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* 批量吊销对外接口
|
||||
|
|
@ -39,6 +47,10 @@ public class PenaltySecurityController {
|
|||
private IPenaltyAppInfoService penaltyAppInfoService;
|
||||
@Autowired
|
||||
private IPenaltyAcceptLogService penaltyAcceptLogService;
|
||||
@Autowired
|
||||
private IPenaltyCaseInfoService penaltyCaseInfoService;
|
||||
@Autowired
|
||||
private IPenaltyEntInfoService penaltyEntInfoService;
|
||||
|
||||
/**
|
||||
* 登录
|
||||
|
|
@ -135,7 +147,89 @@ public class PenaltySecurityController {
|
|||
penaltyAcceptLog.setDataJson(JSONObject.toJSONString(requestDto));
|
||||
penaltyAcceptLog.setCreateTime(LocalDateTime.now());
|
||||
penaltyAcceptLogService.save(penaltyAcceptLog);
|
||||
// TODO: 接收业务处理 accpetid
|
||||
|
||||
// 保存案件信息到PENALTY_CASE_INFO表
|
||||
PenaltyCaseInfo penaltyCaseInfo = new PenaltyCaseInfo();
|
||||
penaltyCaseInfo.setCaseid(requestDto.getCaseid());
|
||||
penaltyCaseInfo.setAcceptid(penaltyAcceptLog.getAcceptId());
|
||||
penaltyCaseInfo.setCasename(requestDto.getCasename());
|
||||
penaltyCaseInfo.setCaseintroduction(requestDto.getCaseintroduction());
|
||||
penaltyCaseInfo.setIllegality(requestDto.getIllegality());
|
||||
penaltyCaseInfo.setPenalty(requestDto.getPenalty());
|
||||
penaltyCaseInfo.setPenaltydate(LocalDate.parse(requestDto.getPenaltydate(), DateTimeFormatter.ofPattern(DateUtils.DATE_DEFAULT_FORMAT)));
|
||||
penaltyCaseInfo.setPenaltyorg(requestDto.getPenaltyorg());
|
||||
penaltyCaseInfo.setUpdateTime(LocalDateTime.now());
|
||||
penaltyCaseInfo.setFlgDeleted(CommonConstants.FALSE_0);
|
||||
PenaltyCaseInfo byId = penaltyCaseInfoService.getById(penaltyCaseInfo.getCaseid());
|
||||
if (byId != null) {
|
||||
penaltyCaseInfoService.updateById(penaltyCaseInfo);
|
||||
} else {
|
||||
penaltyCaseInfo.setCreateTime(LocalDateTime.now());
|
||||
penaltyCaseInfoService.save(penaltyCaseInfo);
|
||||
}
|
||||
|
||||
// 保存吊销主体清单到PENALTY_ENT_INFO表
|
||||
for (PenaltyCaseInfoEntInfoDto entInfoDto : requestDto.getPenaltylist()) {
|
||||
PenaltyEntInfo one = penaltyEntInfoService.lambdaQuery().eq(PenaltyEntInfo::getCaseid, requestDto.getCaseid())
|
||||
.eq(PenaltyEntInfo::getPripid, entInfoDto.getPripid()).ne(PenaltyEntInfo::getFlgDeleted, CommonConstants.TRUE_1)
|
||||
.last("limit 1").one();
|
||||
|
||||
PenaltyEntInfo penaltyEntInfo = new PenaltyEntInfo();
|
||||
penaltyEntInfo.setCaseid(requestDto.getCaseid());
|
||||
penaltyEntInfo.setPripid(entInfoDto.getPripid());
|
||||
penaltyEntInfo.setUniscid(entInfoDto.getUniscid());
|
||||
penaltyEntInfo.setLegal(entInfoDto.getLegal());
|
||||
penaltyEntInfo.setEnttype(StringUtils.trimToEmpty(cleanEntTypeCode(entInfoDto.getEnttype())));
|
||||
penaltyEntInfo.setCreateTime(LocalDateTime.now());
|
||||
penaltyEntInfo.setUpdateTime(LocalDateTime.now());
|
||||
penaltyEntInfo.setFlgDeleted("0");
|
||||
if (one == null) {
|
||||
penaltyEntInfoService.save(penaltyEntInfo);
|
||||
} else {
|
||||
penaltyEntInfo.setId(one.getId());
|
||||
penaltyEntInfoService.updateById(penaltyEntInfo);
|
||||
}
|
||||
}
|
||||
|
||||
return SecurityResultAcceptVO.success(penaltyAcceptLog.getAcceptId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 清洗市场主体类型编码
|
||||
* 从"类型中文名(类型编码)"格式中提取纯类型编码
|
||||
* 支持多个括号、中文括号和英文括号
|
||||
*
|
||||
* @param enttype 原始市场主体类型字符串
|
||||
* @return 清洗后的类型编码,如果无法提取则返回原字符串
|
||||
*/
|
||||
private String cleanEntTypeCode(String enttype) {
|
||||
if (StringUtils.isBlank(enttype)) {
|
||||
return enttype;
|
||||
}
|
||||
|
||||
String str = enttype.trim();
|
||||
|
||||
// 替换中文括号为英文括号,统一处理
|
||||
str = str.replace('(', '(').replace(')', ')');
|
||||
|
||||
// 找到最后一个左括号
|
||||
int lastLeftBracket = str.lastIndexOf('(');
|
||||
if (lastLeftBracket == -1) {
|
||||
// 没有找到括号,直接返回原字符串
|
||||
return str;
|
||||
}
|
||||
|
||||
// 找到最后一个左括号对应的右括号
|
||||
int lastRightBracket = str.lastIndexOf(')');
|
||||
if (lastRightBracket == -1 || lastRightBracket < lastLeftBracket) {
|
||||
// 没有找到对应的右括号,直接返回原字符串
|
||||
return str;
|
||||
}
|
||||
|
||||
// 提取括号内的内容
|
||||
String code = str.substring(lastLeftBracket + 1, lastRightBracket).trim();
|
||||
|
||||
// 如果提取的内容为空,返回原字符串
|
||||
return StringUtils.isBlank(code) ? enttype : code;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,109 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaweal.aiccs.common.util.DateUtils;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 执法系统-案件信息表
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName("AICCS.PENALTY_CASE_INFO")
|
||||
@ApiModel("执法系统-案件信息表")
|
||||
public class PenaltyCaseInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件编号
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_UUID, value = "CASEID")
|
||||
@ApiModelProperty("案件编号")
|
||||
private String caseid;
|
||||
|
||||
/**
|
||||
* 接收数据时的对接记录ID
|
||||
*/
|
||||
@TableField("ACCEPTID")
|
||||
@ApiModelProperty("接收数据时的对接记录ID")
|
||||
private String acceptid;
|
||||
|
||||
/**
|
||||
* 案件名称
|
||||
*/
|
||||
@TableField("CASENAME")
|
||||
@ApiModelProperty("案件名称")
|
||||
private String casename;
|
||||
|
||||
/**
|
||||
* 案由
|
||||
*/
|
||||
@TableField("CASEINTRODUCTION")
|
||||
@ApiModelProperty("案由")
|
||||
private String caseintroduction;
|
||||
|
||||
/**
|
||||
* 违法行为
|
||||
*/
|
||||
@TableField("ILLEGALITY")
|
||||
@ApiModelProperty("违法行为")
|
||||
private String illegality;
|
||||
|
||||
/**
|
||||
* 处罚内容
|
||||
*/
|
||||
@TableField("PENALTY")
|
||||
@ApiModelProperty("处罚内容")
|
||||
private String penalty;
|
||||
|
||||
/**
|
||||
* 处罚决定日期
|
||||
*/
|
||||
@TableField("PENALTYDATE")
|
||||
@ApiModelProperty("处罚决定日期")
|
||||
private LocalDate penaltydate;
|
||||
|
||||
/**
|
||||
* 处罚决定机关
|
||||
*/
|
||||
@TableField("PENALTYORG")
|
||||
@ApiModelProperty("处罚决定机关")
|
||||
private String penaltyorg;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("CREATE_TIME")
|
||||
@ApiModelProperty("创建时间")
|
||||
@JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField("UPDATE_TIME")
|
||||
@ApiModelProperty("更新时间")
|
||||
@JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标识(0:正常,1:删除)
|
||||
*/
|
||||
@TableField("FLG_DELETED")
|
||||
@ApiModelProperty("删除标识(0:正常,1:删除)")
|
||||
private String flgDeleted;
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaweal.aiccs.common.util.DateUtils;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 执法系统-吊销主体清单表
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName("AICCS.PENALTY_ENT_INFO")
|
||||
@ApiModel("执法系统-吊销主体清单表")
|
||||
public class PenaltyEntInfo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_UUID, value = "ID")
|
||||
@ApiModelProperty("主键ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 案件编号(关联PENALTY_CASE_INFO表)
|
||||
*/
|
||||
@TableField("CASEID")
|
||||
@ApiModelProperty("案件编号(关联PENALTY_CASE_INFO表)")
|
||||
private String caseid;
|
||||
|
||||
/**
|
||||
* 市场主体身份代码
|
||||
*/
|
||||
@TableField("PRIPID")
|
||||
@ApiModelProperty("市场主体身份代码")
|
||||
private String pripid;
|
||||
|
||||
/**
|
||||
* 统一社会信用代码
|
||||
*/
|
||||
@TableField("UNISCID")
|
||||
@ApiModelProperty("统一社会信用代码")
|
||||
private String uniscid;
|
||||
|
||||
/**
|
||||
* 法定代表人(负责人)
|
||||
*/
|
||||
@TableField("LEGAL")
|
||||
@ApiModelProperty("法定代表人(负责人)")
|
||||
private String legal;
|
||||
|
||||
/**
|
||||
* 市场主体类型
|
||||
*/
|
||||
@TableField("ENTTYPE")
|
||||
@ApiModelProperty("市场主体类型")
|
||||
private String enttype;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("CREATE_TIME")
|
||||
@ApiModelProperty("创建时间")
|
||||
@JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField("UPDATE_TIME")
|
||||
@ApiModelProperty("更新时间")
|
||||
@JsonFormat(pattern = DateUtils.DATETIME_DEFAULT_FORMAT, timezone = "GMT+8")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标识(0:正常,1:删除)
|
||||
*/
|
||||
@TableField("FLG_DELETED")
|
||||
@ApiModelProperty("删除标识(0:正常,1:删除)")
|
||||
private String flgDeleted;
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ import java.io.Serializable;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* 批量吊销接口请求参数
|
||||
* @author lroyia
|
||||
* @since 2026/1/12 16:56
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyCaseInfo;
|
||||
|
||||
/**
|
||||
* 执法系统-案件信息 Mapper
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
public interface PenaltyCaseInfoMapper extends BaseMapper<PenaltyCaseInfo> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyEntInfo;
|
||||
|
||||
/**
|
||||
* 执法系统-吊销主体清单 Mapper
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
public interface PenaltyEntInfoMapper extends BaseMapper<PenaltyEntInfo> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyCaseInfo;
|
||||
|
||||
/**
|
||||
* 执法系统-案件信息 service
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
public interface IPenaltyCaseInfoService extends IService<PenaltyCaseInfo> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyEntInfo;
|
||||
|
||||
/**
|
||||
* 执法系统-吊销主体清单 service
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
public interface IPenaltyEntInfoService extends IService<PenaltyEntInfo> {
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyCaseInfo;
|
||||
import com.chinaweal.aiccs.aiccs.security.mapper.PenaltyCaseInfoMapper;
|
||||
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyCaseInfoService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 执法系统-案件信息 service实现类
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
@Service
|
||||
public class PenaltyCaseInfoServiceImpl extends ServiceImpl<PenaltyCaseInfoMapper, PenaltyCaseInfo> implements IPenaltyCaseInfoService {
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.chinaweal.aiccs.aiccs.security.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyEntInfo;
|
||||
import com.chinaweal.aiccs.aiccs.security.mapper.PenaltyEntInfoMapper;
|
||||
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyEntInfoService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 执法系统-吊销主体清单 service实现类
|
||||
* @author lroyia
|
||||
* @since 2026/2/10
|
||||
**/
|
||||
@Service
|
||||
public class PenaltyEntInfoServiceImpl extends ServiceImpl<PenaltyEntInfoMapper, PenaltyEntInfo> implements IPenaltyEntInfoService {
|
||||
}
|
||||
Loading…
Reference in New Issue