From 3497c9a52d05b98caab568bb41cb200c589396a7 Mon Sep 17 00:00:00 2001 From: lroyia Date: Fri, 6 Feb 2026 14:03:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=92=E7=94=A8=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=9E=8D=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NateOperCombinedController.java | 368 ++++++++++++++++++ .../susnate/dto/NateOperCombinedAddDTO.java | 162 ++++++++ .../dto/NateOperCombinedDeleteDTO.java | 29 ++ .../dto/NateOperCombinedEntBaseQueryDTO.java | 69 ++++ .../susnate/dto/NateOperCombinedQueryDTO.java | 161 ++++++++ .../dto/NateOperCombinedUpdateDTO.java | 168 ++++++++ .../aiccs/susnate/entity/ENateOperRegDec.java | 2 +- .../susnate/mapper/ESusNateOperRegMapper.java | 11 + .../service/IESusNateOperRegService.java | 11 + .../impl/ESusNateOperRegServiceImpl.java | 6 + .../susnate/vo/NateOperCombinedEntBaseVO.java | 195 ++++++++++ .../susnate/vo/NateOperCombinedListVO.java | 158 ++++++++ .../aiccs/susnate/vo/NateOperCombinedVO.java | 158 ++++++++ .../common/constant/CommonConstants.java | 2 + .../aiccs/susnate/ESusNateOperRegMapper.xml | 103 +++++ 15 files changed, 1602 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/controller/NateOperCombinedController.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedAddDTO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedDeleteDTO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedEntBaseQueryDTO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedQueryDTO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedUpdateDTO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedEntBaseVO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedListVO.java create mode 100644 src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedVO.java diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/controller/NateOperCombinedController.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/controller/NateOperCombinedController.java new file mode 100644 index 0000000..6c95c86 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/controller/NateOperCombinedController.java @@ -0,0 +1,368 @@ +package com.chinaweal.aiccs.aiccs.susnate.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.chinaweal.aiccs.aiccs.susnate.dto.NateOperCombinedAddDTO; +import com.chinaweal.aiccs.aiccs.susnate.dto.NateOperCombinedDeleteDTO; +import com.chinaweal.aiccs.aiccs.susnate.dto.NateOperCombinedQueryDTO; +import com.chinaweal.aiccs.aiccs.susnate.dto.NateOperCombinedUpdateDTO; +import com.chinaweal.aiccs.aiccs.susnate.entity.ENateOperRegDec; +import com.chinaweal.aiccs.aiccs.susnate.entity.ESusNateOperReg; +import com.chinaweal.aiccs.aiccs.susnate.service.IENateOperRegDecService; +import com.chinaweal.aiccs.aiccs.susnate.service.IESusNateOperRegService; +import com.chinaweal.aiccs.aiccs.susnate.vo.NateOperCombinedVO; +import com.chinaweal.aiccs.common.base.controller.BaseController; +import com.chinaweal.aiccs.common.constant.CommonConstants; +import com.chinaweal.aiccs.common.util.StringUtils; +import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; +import com.chinaweal.youfool.framework.springboot.rest.RestResult; +import com.chinaweal.youfool.framework.springboot.rest.ResultCode; +import com.github.xiaoymin.knife4j.annotations.ApiSort; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.UUID; + +/** + * 冒用身份登记信息融合Controller + * 同时对涉嫌冒用和冒用处理决定两个业务表进行CRUD操作 + * + * @author iFlow + * @since 2026-02-06 + */ +@Api(tags = "3.冒用身份登记信息融合") +@ApiSort(3) +@RestController +@RequestMapping("/nateOperCombined") +public class NateOperCombinedController extends BaseController { + + @Resource + private IESusNateOperRegService iESusNateOperRegService; + + @Resource + private IENateOperRegDecService iENateOperRegDecService; + + @ApiOperation(value = "0.融合新增冒用身份登记信息", position = 0) + @PostMapping("/addNateOperCombined") + @Transactional(rollbackFor = Exception.class) + public RestResult addNateOperCombined(@Valid @RequestBody NateOperCombinedAddDTO dto, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return RestResult.error(ResultCode.PARAM_IS_INVALID, bindingResult.getFieldError().getDefaultMessage()); + } + + String id = StringUtils.getUUID(); + + // 构建涉嫌冒用信息实体 + ESusNateOperReg susEntity = new ESusNateOperReg(); + susEntity.setPersonateId(id); + susEntity.setPripid(dto.getPripid()); + susEntity.setEntname(dto.getEntname()); + susEntity.setUniscid(dto.getUniscid()); + susEntity.setRegno(dto.getRegno()); + susEntity.setRegTime(dto.getRegTime()); + susEntity.setRegItem(dto.getRegItem()); + susEntity.setRegOrg(dto.getRegOrg()); + susEntity.setRegOrgCn(dto.getRegOrgCn()); + susEntity.setTel(dto.getTel()); + susEntity.setNoticeFrom(dto.getNoticeFrom()); + susEntity.setNoticeTo(dto.getNoticeTo()); + susEntity.setName(dto.getName()); + susEntity.setHandlRest(dto.getHandlRest()); + susEntity.setHandlRea(dto.getHandlRea()); + susEntity.setHandlReaCn(dto.getHandlReaCn()); + susEntity.setJudAuth(dto.getJudAuth()); + susEntity.setJudAuthCn(dto.getJudAuthCn()); + susEntity.setJudDate(dto.getJudDate()); + susEntity.setDstate(CommonConstants.FALSE_0); + + // 构建冒用处理决定信息实体 + ENateOperRegDec decEntity = new ENateOperRegDec(); + decEntity.setPersonatresId(id); + decEntity.setPripid(dto.getPripid()); + decEntity.setEntname(dto.getEntname()); + decEntity.setUniscid(dto.getUniscid()); + decEntity.setRegno(dto.getRegno()); + decEntity.setRegOrg(dto.getRegOrg()); + decEntity.setRegOrgCn(dto.getRegOrgCn()); + decEntity.setNoticeContent(dto.getNoticeContent()); + decEntity.setJudAuth(dto.getJudAuth()); + decEntity.setJudAuthCn(dto.getJudAuthCn()); + decEntity.setJudDate(dto.getJudDate()); + decEntity.setNoticedate(dto.getNoticeDate()); + decEntity.setDstate(CommonConstants.FALSE_0); + + // 保存两个实体 + iESusNateOperRegService.save(susEntity); + iENateOperRegDecService.save(decEntity); + + // 构建返回结果 + NateOperCombinedVO result = new NateOperCombinedVO(); + result.setId(id); + result.setPripid(dto.getPripid()); + result.setEntname(dto.getEntname()); + result.setUniscid(dto.getUniscid()); + result.setRegno(dto.getRegno()); + result.setRegOrg(dto.getRegOrg()); + result.setRegOrgCn(dto.getRegOrgCn()); + result.setJudAuth(dto.getJudAuth()); + result.setJudAuthCn(dto.getJudAuthCn()); + result.setJudDate(dto.getJudDate()); + result.setRegTime(dto.getRegTime()); + result.setRegItem(dto.getRegItem()); + result.setTel(dto.getTel()); + result.setNoticeFrom(dto.getNoticeFrom()); + result.setNoticeTo(dto.getNoticeTo()); + result.setName(dto.getName()); + result.setHandlRest(dto.getHandlRest()); + result.setHandlRea(dto.getHandlRea()); + result.setHandlReaCn(dto.getHandlReaCn()); + result.setNoticeContent(dto.getNoticeContent()); + result.setNoticeDate(dto.getNoticeDate()); + + return RestResult.ok(result); + } + + @ApiOperation(value = "1.融合修改冒用身份登记信息", position = 1) + @PostMapping("/updateNateOperCombined") + @Transactional(rollbackFor = Exception.class) + public RestResult updateNateOperCombined(@Valid @RequestBody NateOperCombinedUpdateDTO dto, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return RestResult.error(ResultCode.PARAM_IS_INVALID, bindingResult.getFieldError().getDefaultMessage()); + } + + String id = dto.getId(); + + // 构建涉嫌冒用信息实体 + ESusNateOperReg susEntity = new ESusNateOperReg(); + susEntity.setPersonateId(id); + susEntity.setPripid(dto.getPripid()); + susEntity.setEntname(dto.getEntname()); + susEntity.setUniscid(dto.getUniscid()); + susEntity.setRegno(dto.getRegno()); + susEntity.setRegTime(dto.getRegTime()); + susEntity.setRegItem(dto.getRegItem()); + susEntity.setRegOrg(dto.getRegOrg()); + susEntity.setRegOrgCn(dto.getRegOrgCn()); + susEntity.setTel(dto.getTel()); + susEntity.setNoticeFrom(dto.getNoticeFrom()); + susEntity.setNoticeTo(dto.getNoticeTo()); + susEntity.setName(dto.getName()); + susEntity.setHandlRest(dto.getHandlRest()); + susEntity.setHandlRea(dto.getHandlRea()); + susEntity.setHandlReaCn(dto.getHandlReaCn()); + susEntity.setJudAuth(dto.getJudAuth()); + susEntity.setJudAuthCn(dto.getJudAuthCn()); + susEntity.setJudDate(dto.getJudDate()); + + // 构建冒用处理决定信息实体 + ENateOperRegDec decEntity = new ENateOperRegDec(); + decEntity.setPersonatresId(id); + decEntity.setPripid(dto.getPripid()); + decEntity.setEntname(dto.getEntname()); + decEntity.setUniscid(dto.getUniscid()); + decEntity.setRegno(dto.getRegno()); + decEntity.setRegOrg(dto.getRegOrg()); + decEntity.setRegOrgCn(dto.getRegOrgCn()); + decEntity.setNoticeContent(dto.getNoticeContent()); + decEntity.setJudAuth(dto.getJudAuth()); + decEntity.setJudAuthCn(dto.getJudAuthCn()); + decEntity.setJudDate(dto.getJudDate()); + decEntity.setNoticedate(dto.getNoticeDate()); + + // 更新两个实体 + iESusNateOperRegService.updateById(susEntity); + iENateOperRegDecService.updateById(decEntity); + + // 构建返回结果 + NateOperCombinedVO result = new NateOperCombinedVO(); + result.setId(id); + result.setPripid(dto.getPripid()); + result.setEntname(dto.getEntname()); + result.setUniscid(dto.getUniscid()); + result.setRegno(dto.getRegno()); + result.setRegOrg(dto.getRegOrg()); + result.setRegOrgCn(dto.getRegOrgCn()); + result.setJudAuth(dto.getJudAuth()); + result.setJudAuthCn(dto.getJudAuthCn()); + result.setJudDate(dto.getJudDate()); + result.setRegTime(dto.getRegTime()); + result.setRegItem(dto.getRegItem()); + result.setTel(dto.getTel()); + result.setNoticeFrom(dto.getNoticeFrom()); + result.setNoticeTo(dto.getNoticeTo()); + result.setName(dto.getName()); + result.setHandlRest(dto.getHandlRest()); + result.setHandlRea(dto.getHandlRea()); + result.setHandlReaCn(dto.getHandlReaCn()); + result.setNoticeContent(dto.getNoticeContent()); + result.setNoticeDate(dto.getNoticeDate()); + + return RestResult.ok(result); + } + + @ApiOperation(value = "2.融合删除冒用身份登记信息(软删除)", position = 2) + @PostMapping("/deleteNateOperCombined") + @Transactional(rollbackFor = Exception.class) + public RestResult deleteNateOperCombined(@Valid @RequestBody NateOperCombinedDeleteDTO dto, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return RestResult.error(ResultCode.PARAM_IS_INVALID, bindingResult.getFieldError().getDefaultMessage()); + } + + String id = dto.getId(); + + // 软删除涉嫌冒用信息 + LambdaQueryWrapper susWrapper = new LambdaQueryWrapper<>(); + susWrapper.eq(ESusNateOperReg::getPersonateId, id); + ESusNateOperReg susEntity = iESusNateOperRegService.getOne(susWrapper, false); + if (susEntity != null) { + susEntity.setDstate(CommonConstants.DELETED_2); + iESusNateOperRegService.updateById(susEntity); + } + + // 软删除冒用处理决定信息 + LambdaQueryWrapper decWrapper = new LambdaQueryWrapper<>(); + decWrapper.eq(ENateOperRegDec::getPersonatresId, id); + ENateOperRegDec decEntity = iENateOperRegDecService.getOne(decWrapper, false); + if (decEntity != null) { + decEntity.setDstate(CommonConstants.DELETED_2); + iENateOperRegDecService.updateById(decEntity); + } + + return RestResult.ok(true); + } + + @ApiOperation(value = "3.融合通过id查询冒用身份登记信息", position = 3) + @GetMapping("/getById/{id}") + public RestResult getById(@ApiParam(value = "ID", required = true) @PathVariable("id") String id) { + // 查询涉嫌冒用信息 + LambdaQueryWrapper susWrapper = new LambdaQueryWrapper<>(); + susWrapper.eq(ESusNateOperReg::getPersonateId, id); + ESusNateOperReg susEntity = iESusNateOperRegService.getOne(susWrapper, false); + + // 查询冒用处理决定信息 + LambdaQueryWrapper decWrapper = new LambdaQueryWrapper<>(); + decWrapper.eq(ENateOperRegDec::getPersonatresId, id); + ENateOperRegDec decEntity = iENateOperRegDecService.getOne(decWrapper, false); + + // 构建返回结果 + NateOperCombinedVO result = new NateOperCombinedVO(); + if (susEntity != null) { + result.setId(susEntity.getPersonateId()); + result.setPripid(susEntity.getPripid()); + result.setEntname(susEntity.getEntname()); + result.setUniscid(susEntity.getUniscid()); + result.setRegno(susEntity.getRegno()); + result.setRegOrg(susEntity.getRegOrg()); + result.setRegOrgCn(susEntity.getRegOrgCn()); + result.setJudAuth(susEntity.getJudAuth()); + result.setJudAuthCn(susEntity.getJudAuthCn()); + result.setJudDate(susEntity.getJudDate()); + result.setRegTime(susEntity.getRegTime()); + result.setRegItem(susEntity.getRegItem()); + result.setTel(susEntity.getTel()); + result.setNoticeFrom(susEntity.getNoticeFrom()); + result.setNoticeTo(susEntity.getNoticeTo()); + result.setName(susEntity.getName()); + result.setHandlRest(susEntity.getHandlRest()); + result.setHandlRea(susEntity.getHandlRea()); + result.setHandlReaCn(susEntity.getHandlReaCn()); + } + + if (decEntity != null) { + result.setId(decEntity.getPersonatresId()); + result.setPripid(decEntity.getPripid()); + result.setEntname(decEntity.getEntname()); + result.setUniscid(decEntity.getUniscid()); + result.setRegno(decEntity.getRegno()); + result.setRegOrg(decEntity.getRegOrg()); + result.setRegOrgCn(decEntity.getRegOrgCn()); + result.setJudAuth(decEntity.getJudAuth()); + result.setJudAuthCn(decEntity.getJudAuthCn()); + result.setJudDate(decEntity.getJudDate()); + result.setNoticeContent(decEntity.getNoticeContent()); + result.setNoticeDate(decEntity.getNoticedate()); + } + + return RestResult.ok(result); + } +// +// @ApiOperation(value = "4.融合分页查询市场主体信息(包含冒用身份登记信息判断)", position = 4) +// @PostMapping("/listEntBaseWithNateOperCombined") +// public RestResult listEntBaseWithNateOperCombined(@RequestBody BaseQuery query) { +// NateOperCombinedEntBaseQueryDTO queryDTO = query.getEntity(NateOperCombinedEntBaseQueryDTO.class); +// if (queryDTO == null) { +// queryDTO = new NateOperCombinedEntBaseQueryDTO(); +// } +// +// NateOperCombinedEntBaseVO result = new NateOperCombinedEntBaseVO(); +// +// // 查询涉嫌冒用市场主体信息 +// EntBaseWithSusNateOperRegQueryDTO susQuery = new EntBaseWithSusNateOperRegQueryDTO(); +// susQuery.setUniscid(queryDTO.getUniscid()); +// susQuery.setRegno(queryDTO.getRegno()); +//// susQuery.setEntname(queryDTO.getEntname()); +//// susQuery.setRegstate(queryDTO.getRegstate()); +//// susQuery.setRegorg(queryDTO.getRegorg()); +// susQuery.setSearchUscc(queryDTO.getSearchUscc()); +// susQuery.setHasSusNateOperReg(queryDTO.getHasSusNateOperReg()); +// +// IPage susData = iESusNateOperRegService.listEntBaseWithSusNateOperReg( +// new Page<>(query.getCurrent(), query.getSize()), +// susQuery +// ); +// +// // 查询冒用处理决定市场主体信息 +// EntBaseWithNateOperRegDecQueryDTO decQuery = new EntBaseWithNateOperRegDecQueryDTO(); +// decQuery.setUniscid(queryDTO.getUniscid()); +// decQuery.setRegno(queryDTO.getRegno()); +// decQuery.setEntname(queryDTO.getEntname()); + + /// / decQuery.setRegstate(queryDTO.getRegstate()); + /// / decQuery.setRegorg(queryDTO.getRegorg()); +// decQuery.setSearchUscc(queryDTO.getSearchUscc()); +// decQuery.setHasNateOperRegDec(queryDTO.getHasNateOperRegDec()); +// +// IPage decData = iENateOperRegDecService.listEntBaseWithNateOperRegDec( +// new Page<>(query.getCurrent(), query.getSize()), +// decQuery +// ); +// +// // 融合结果:如果两个表都有数据,优先使用涉嫌冒用的数据,合并has字段 +// if (susData.getRecords() != null && !susData.getRecords().isEmpty()) { +// EntBaseWithSusNateOperRegVO firstSus = susData.getRecords().get(0); +// BeanUtils.copyProperties(firstSus, result); +// result.setHasSusNateOperReg(firstSus.getHasSusNateOperReg()); +// result.setHasNateOperRegDec(queryDTO.getHasNateOperRegDec()); +// } else if (decData.getRecords() != null && !decData.getRecords().isEmpty()) { +// EntBaseWithNateOperRegDecVO firstDec = decData.getRecords().get(0); +// BeanUtils.copyProperties(firstDec, result); +// result.setHasNateOperRegDec(firstDec.getHasNateOperRegDec()); +// result.setHasSusNateOperReg(queryDTO.getHasSusNateOperReg()); +// } +// +// return RestResult.ok(result); +// } + @ApiOperation(value = "5.融合分页查询冒用身份登记信息表", position = 5) + @PostMapping("/listNateOperCombined") + public RestResult> listNateOperCombined(@RequestBody BaseQuery query) { + NateOperCombinedQueryDTO queryDTO = query.getEntity(NateOperCombinedQueryDTO.class); + if (queryDTO == null) { + queryDTO = new NateOperCombinedQueryDTO(); + } + + // 使用 LEFT JOIN 查询融合数据 + IPage resultPage = iESusNateOperRegService.listNateOperCombined( + new Page<>(query.getCurrent(), query.getSize()), + queryDTO + ); + + return RestResult.ok(resultPage); + } +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedAddDTO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedAddDTO.java new file mode 100644 index 0000000..c33b2bd --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedAddDTO.java @@ -0,0 +1,162 @@ +package com.chinaweal.aiccs.aiccs.susnate.dto; + +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 javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.time.LocalDate; + +/** + * 冒用身份登记信息融合新增参数DTO + * 融合涉嫌冒用和冒用处理决定的新增参数,使用同一个主键 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("冒用身份登记信息融合新增参数") +public class NateOperCombinedAddDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + // ==================== 共有字段 ==================== + + /** + * 主体身份代码(CA14) + */ + @ApiModelProperty(value = "主体身份代码(CA14)", required = true) + @NotBlank(message = "主体身份代码不能为空") + private String pripid; + + /** + * 市场主体名称 + */ + @ApiModelProperty(value = "市场主体名称", required = true) + @NotBlank(message = "市场主体名称不能为空") + private String entname; + + /** + * 统一社会信用代码(CA91) + */ + @ApiModelProperty(value = "统一社会信用代码(CA91)", required = true) + @NotBlank(message = "统一社会信用代码不能为空") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 登记(CA11) + */ + @ApiModelProperty(value = "登记机关(CA11)", required = true) + @NotBlank(message = "登记机关不能为空") + private String regOrg; + + /** + * 登记(中文名称) + */ + @ApiModelProperty(value = "登记机关(中文名称)") + private String regOrgCn; + + /** + * 作出决定机关 + */ + @ApiModelProperty(value = "作出决定机关", required = true) + @NotBlank(message = "作出决定机关不能为空") + private String judAuth; + + /** + * 作出决定机关(中文名称) + */ + @ApiModelProperty(value = "作出决定机关(中文名称)") + private String judAuthCn; + + /** + * 作出决定日期 + */ + @ApiModelProperty(value = "作出决定日期", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate judDate; + + // ==================== 涉嫌冒用专用字段 ==================== + /** + * 冒名登记时间 + */ + @ApiModelProperty(value = "冒名登记时间", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate regTime; + + /** + * 冒名登记事项 + */ + @ApiModelProperty(value = "冒名登记事项", required = true) + @NotBlank(message = "冒名登记事项不能为空") + private String regItem; + + /** + * 联系方式 + */ + @ApiModelProperty(value = "联系方式") + private String tel; + + /** + * 公告期自 + */ + @ApiModelProperty(value = "公告期自", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeFrom; + + /** + * 公告期至 + */ + @ApiModelProperty(value = "公告期至", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeTo; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名", required = true) + @NotBlank(message = "姓名不能为空") + private String name; + + /** + * 处理结果 + */ + @ApiModelProperty(value = "处理结果") + private String handlRest; + + /** + * 处理原因(CD96) + */ + @ApiModelProperty(value = "处理原因(CD96)") + private String handlRea; + + /** + * 处理原因(中文名称) + */ + @ApiModelProperty(value = "处理原因(中文名称)") + private String handlReaCn; + + // ==================== 冒用处理决定专用字段 ==================== + /** + * 公告内容 + */ + @ApiModelProperty(value = "公告内容", required = true) + @NotBlank(message = "公告内容不能为空") + private String noticeContent; + + /** + * 公告日期 + */ + @ApiModelProperty(value = "公告日期", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeDate; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedDeleteDTO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedDeleteDTO.java new file mode 100644 index 0000000..789ec7b --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedDeleteDTO.java @@ -0,0 +1,29 @@ +package com.chinaweal.aiccs.aiccs.susnate.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 冒用身份登记信息融合删除参数DTO + * 使用同一个主键ID同时删除两个表的数据 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("冒用身份登记信息融合删除参数") +public class NateOperCombinedDeleteDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID(同时用于两个表的删除) + */ + @ApiModelProperty(value = "主键ID", required = true) + @NotBlank(message = "主键ID不能为空") + private String id; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedEntBaseQueryDTO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedEntBaseQueryDTO.java new file mode 100644 index 0000000..08d8227 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedEntBaseQueryDTO.java @@ -0,0 +1,69 @@ +package com.chinaweal.aiccs.aiccs.susnate.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 市场主体信息融合查询参数DTO + * 融合涉嫌冒用和冒用处理决定的市场主体查询参数 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("市场主体信息融合查询参数") +public class NateOperCombinedEntBaseQueryDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 统一社会信用代码 + */ + @ApiModelProperty(value = "统一社会信用代码") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 企业名称 + */ + @ApiModelProperty(value = "企业名称") + private String entname; + + /** + * 登记状态 + */ + @ApiModelProperty(value = "登记状态") + private String regstate; + + /** + * 登记机关 + */ + @ApiModelProperty(value = "登记机关") + private String regorg; + + /** + * 搜索统一社会信用代码(支持模糊查询) + */ + @ApiModelProperty(value = "搜索统一社会信用代码(支持模糊查询)") + private String searchUscc; + + /** + * 是否含有涉嫌冒用信息(0否1是) + */ + @ApiModelProperty(value = "是否含有涉嫌冒用信息(0否1是)") + private String hasSusNateOperReg; + + /** + * 是否含有冒用处理决定信息(0否1是) + */ + @ApiModelProperty(value = "是否含有冒用处理决定信息(0否1是)") + private String hasNateOperRegDec; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedQueryDTO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedQueryDTO.java new file mode 100644 index 0000000..da19e51 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedQueryDTO.java @@ -0,0 +1,161 @@ +package com.chinaweal.aiccs.aiccs.susnate.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * 冒用身份登记信息融合查询参数DTO + * 融合涉嫌冒用和冒用处理决定的查询参数 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("冒用身份登记信息融合查询参数") +public class NateOperCombinedQueryDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 主体身份代码(CA14) + */ + @ApiModelProperty(value = "主体身份代码(CA14)") + private String pripid; + + /** + * 市场主体名称 + */ + @ApiModelProperty(value = "市场主体名称") + private String entname; + + /** + * 统一社会信用代码(CA91) + */ + @ApiModelProperty(value = "统一社会信用代码(CA91)") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 登记(CA11) + */ + @ApiModelProperty(value = "登记机关(CA11)") + private String regOrg; + + /** + * 作出决定机关 + */ + @ApiModelProperty(value = "作出决定机关") + private String judAuth; + + /** + * 作出决定日期(范围查询) + */ + @ApiModelProperty(value = "作出决定日期开始") + private String judDateStart; + + /** + * 作出决定日期(范围查询) + */ + @ApiModelProperty(value = "作出决定日期结束") + private String judDateEnd; + + // ==================== 涉嫌冒用专用查询字段 ==================== + /** + * 冒名登记时间(范围查询) + */ + @ApiModelProperty(value = "冒名登记时间开始") + private String regTimeStart; + + /** + * 冒名登记时间(范围查询) + */ + @ApiModelProperty(value = "冒名登记时间结束") + private String regTimeEnd; + + /** + * 冒名登记事项 + */ + @ApiModelProperty(value = "冒名登记事项") + private String regItem; + + /** + * 联系方式 + */ + @ApiModelProperty(value = "联系方式") + private String tel; + + /** + * 公告期自(范围查询) + */ + @ApiModelProperty(value = "公告期自开始") + private String noticeFromStart; + + /** + * 公告期自(范围查询) + */ + @ApiModelProperty(value = "公告期自结束") + private String noticeFromEnd; + + /** + * 公告期至(范围查询) + */ + @ApiModelProperty(value = "公告期至开始") + private String noticeToStart; + + /** + * 公告期至(范围查询) + */ + @ApiModelProperty(value = "公告期至结束") + private String noticeToEnd; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名") + private String name; + + /** + * 处理结果 + */ + @ApiModelProperty(value = "处理结果") + private String handlRest; + + /** + * 处理原因(CD96) + */ + @ApiModelProperty(value = "处理原因(CD96)") + private String handlRea; + + // ==================== 冒用处理决定专用查询字段 ==================== + /** + * 公告内容 + */ + @ApiModelProperty(value = "公告内容") + private String noticeContent; + + /** + * 公告日期(范围查询) + */ + @ApiModelProperty(value = "公告日期开始") + private String noticeDateStart; + + /** + * 公告日期(范围查询) + */ + @ApiModelProperty(value = "公告日期结束") + private String noticeDateEnd; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedUpdateDTO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedUpdateDTO.java new file mode 100644 index 0000000..66fa2c9 --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/dto/NateOperCombinedUpdateDTO.java @@ -0,0 +1,168 @@ +package com.chinaweal.aiccs.aiccs.susnate.dto; + +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 javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.time.LocalDate; + +/** + * 冒用身份登记信息融合修改参数DTO + * 融合涉嫌冒用和冒用处理决定的修改参数,使用同一个主键 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("冒用身份登记信息融合修改参数") +public class NateOperCombinedUpdateDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + // ==================== 共有字段 ==================== + /** + * 主键ID(同时用于两个表) + */ + @ApiModelProperty(value = "主键ID", required = true) + @NotBlank(message = "主键ID不能为空") + private String id; + + /** + * 主体身份代码(CA14) + */ + @ApiModelProperty(value = "主体身份代码(CA14)", required = true) + @NotBlank(message = "主体身份代码不能为空") + private String pripid; + + /** + * 市场主体名称 + */ + @ApiModelProperty(value = "市场主体名称", required = true) + @NotBlank(message = "市场主体名称不能为空") + private String entname; + + /** + * 统一社会信用代码(CA91) + */ + @ApiModelProperty(value = "统一社会信用代码(CA91)", required = true) + @NotBlank(message = "统一社会信用代码不能为空") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 登记(CA11) + */ + @ApiModelProperty(value = "登记机关(CA11)", required = true) + @NotBlank(message = "登记机关不能为空") + private String regOrg; + + /** + * 登记(中文名称) + */ + @ApiModelProperty(value = "登记机关(中文名称)") + private String regOrgCn; + + /** + * 作出决定机关 + */ + @ApiModelProperty(value = "作出决定机关", required = true) + @NotBlank(message = "作出决定机关不能为空") + private String judAuth; + + /** + * 作出决定机关(中文名称) + */ + @ApiModelProperty(value = "作出决定机关(中文名称)") + private String judAuthCn; + + /** + * 作出决定日期 + */ + @ApiModelProperty(value = "作出决定日期", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate judDate; + + // ==================== 涉嫌冒用专用字段 ==================== + /** + * 冒名登记时间 + */ + @ApiModelProperty(value = "冒名登记时间", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate regTime; + + /** + * 冒名登记事项 + */ + @ApiModelProperty(value = "冒名登记事项", required = true) + @NotBlank(message = "冒名登记事项不能为空") + private String regItem; + + /** + * 联系方式 + */ + @ApiModelProperty(value = "联系方式") + private String tel; + + /** + * 公告期自 + */ + @ApiModelProperty(value = "公告期自", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeFrom; + + /** + * 公告期至 + */ + @ApiModelProperty(value = "公告期至", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeTo; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名", required = true) + @NotBlank(message = "姓名不能为空") + private String name; + + /** + * 处理结果 + */ + @ApiModelProperty(value = "处理结果") + private String handlRest; + + /** + * 处理原因(CD96) + */ + @ApiModelProperty(value = "处理原因(CD96)") + private String handlRea; + + /** + * 处理原因(中文名称) + */ + @ApiModelProperty(value = "处理原因(中文名称)") + private String handlReaCn; + + // ==================== 冒用处理决定专用字段 ==================== + /** + * 公告内容 + */ + @ApiModelProperty(value = "公告内容", required = true) + @NotBlank(message = "公告内容不能为空") + private String noticeContent; + + /** + * 公告日期 + */ + @ApiModelProperty(value = "公告日期", required = true, example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeDate; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/entity/ENateOperRegDec.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/entity/ENateOperRegDec.java index 27814f2..5ecd6e8 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/entity/ENateOperRegDec.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/entity/ENateOperRegDec.java @@ -71,7 +71,7 @@ public class ENateOperRegDec extends SuperEntity implements Serializable { */ @ApiModelProperty(value = "登记机关(CA11)") @TableField(value = "REGORG") - private String RegOrg; + private String regOrg; /** * 登记机关(中文名称) diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/mapper/ESusNateOperRegMapper.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/mapper/ESusNateOperRegMapper.java index 2148c68..761b1a9 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/mapper/ESusNateOperRegMapper.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/mapper/ESusNateOperRegMapper.java @@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaweal.aiccs.aiccs.susnate.dto.EntBaseWithSusNateOperRegQueryDTO; import com.chinaweal.aiccs.aiccs.susnate.dto.ESusNateOperRegDto; +import com.chinaweal.aiccs.aiccs.susnate.dto.NateOperCombinedQueryDTO; import com.chinaweal.aiccs.aiccs.susnate.entity.ESusNateOperReg; import com.chinaweal.aiccs.aiccs.susnate.vo.EntBaseWithSusNateOperRegVO; import com.chinaweal.aiccs.aiccs.susnate.vo.ESusNateVo; +import com.chinaweal.aiccs.aiccs.susnate.vo.NateOperCombinedVO; import org.apache.ibatis.annotations.Param; /** @@ -27,4 +29,13 @@ public interface ESusNateOperRegMapper extends BaseMapper { * @return 分页结果 */ IPage listEntBaseWithSusNateOperReg(Page page, @Param("query") EntBaseWithSusNateOperRegQueryDTO query); + + /** + * LEFT JOIN 分页查询冒用身份登记信息融合数据 + * + * @param page 分页对象 + * @param query 查询参数 + * @return 分页结果 + */ + IPage listNateOperCombined(Page page, @Param("query") NateOperCombinedQueryDTO query); } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/IESusNateOperRegService.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/IESusNateOperRegService.java index 427c5e3..5213f97 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/IESusNateOperRegService.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/IESusNateOperRegService.java @@ -8,9 +8,11 @@ import com.chinaweal.aiccs.aiccs.susnate.dto.ESusNateOperRegAddDTO; import com.chinaweal.aiccs.aiccs.susnate.dto.ESusNateOperRegDto; import com.chinaweal.aiccs.aiccs.susnate.dto.ESusNateOperRegQueryDTO; import com.chinaweal.aiccs.aiccs.susnate.dto.ESusNateOperRegUpdateDTO; +import com.chinaweal.aiccs.aiccs.susnate.dto.NateOperCombinedQueryDTO; import com.chinaweal.aiccs.aiccs.susnate.entity.ESusNateOperReg; import com.chinaweal.aiccs.aiccs.susnate.vo.EntBaseWithSusNateOperRegVO; import com.chinaweal.aiccs.aiccs.susnate.vo.ESusNateVo; +import com.chinaweal.aiccs.aiccs.susnate.vo.NateOperCombinedVO; import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; /** @@ -77,4 +79,13 @@ public interface IESusNateOperRegService extends IService { * @return 分页结果 */ IPage listSusNateOperReg(Page page, ESusNateOperRegQueryDTO query); + + /** + * LEFT JOIN 分页查询冒用身份登记信息融合数据 + * + * @param page 分页对象 + * @param query 查询参数 + * @return 分页结果 + */ + IPage listNateOperCombined(Page page, NateOperCombinedQueryDTO query); } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/impl/ESusNateOperRegServiceImpl.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/impl/ESusNateOperRegServiceImpl.java index cc91918..2063f55 100644 --- a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/impl/ESusNateOperRegServiceImpl.java +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/service/impl/ESusNateOperRegServiceImpl.java @@ -15,6 +15,7 @@ import com.chinaweal.aiccs.aiccs.susnate.service.IENateOperRegDecService; import com.chinaweal.aiccs.aiccs.susnate.service.IESusNateOperRegService; import com.chinaweal.aiccs.aiccs.susnate.vo.ESusNateVo; import com.chinaweal.aiccs.aiccs.susnate.vo.EntBaseWithSusNateOperRegVO; +import com.chinaweal.aiccs.aiccs.susnate.vo.NateOperCombinedVO; import com.chinaweal.aiccs.common.constant.CommonConstants; import com.chinaweal.aiccs.common.util.StringUtils; import com.chinaweal.youfool.framework.springboot.base.query.BaseQuery; @@ -207,4 +208,9 @@ public class ESusNateOperRegServiceImpl extends ServiceImpl listNateOperCombined(Page page, NateOperCombinedQueryDTO query) { + return baseMapper.listNateOperCombined(page, query); + } } diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedEntBaseVO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedEntBaseVO.java new file mode 100644 index 0000000..3c4a0ad --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedEntBaseVO.java @@ -0,0 +1,195 @@ +package com.chinaweal.aiccs.aiccs.susnate.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * 市场主体信息融合结果VO + * 融合涉嫌冒用和冒用处理决定的市场主体信息 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("市场主体信息融合结果") +public class NateOperCombinedEntBaseVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主体身份代码 + */ + @ApiModelProperty(value = "主体身份代码") + private String pripid; + + /** + * 统一社会信用代码 + */ + @ApiModelProperty(value = "统一社会信用代码") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 企业(机构)名称 + */ + @ApiModelProperty(value = "企业(机构)名称") + private String entname; + + /** + * 市场主体类型 + */ + @ApiModelProperty(value = "市场主体类型") + private String enttype; + + /** + * 市场主体类型(中文名称) + */ + @ApiModelProperty(value = "市场主体类型(中文名称)") + private String enttypeCn; + + /** + * 行业门类 + */ + @ApiModelProperty(value = "行业门类") + private String industryphy; + + /** + * 行业代码 + */ + @ApiModelProperty(value = "行业代码") + private String industryco; + + /** + * 成立日期 + */ + @ApiModelProperty(value = "成立日期") + private String estdate; + + /** + * 登记机关 + */ + @ApiModelProperty(value = "登记机关") + private String regorg; + + /** + * 登记(中文名称) + */ + @ApiModelProperty(value = "登记机关(中文名称)") + private String regorgCn; + + /** + * 经营范围 + */ + @ApiModelProperty(value = "经营范围") + private String opscope; + + /** + * 经营(驻在)期限自 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "经营(驻在)期限自") + private LocalDate opfrom; + + /** + * 经营(驻在)期限至 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "经营(驻在)期限至") + private LocalDate opto; + + /** + * 登记状态 + */ + @ApiModelProperty(value = "登记状态") + private String regstate; + + /** + * 登记状态(中文名称) + */ + @ApiModelProperty(value = "登记状态(中文名称)") + private String regstateCn; + + /** + * 住所 + */ + @ApiModelProperty(value = "住所") + private String dom; + + /** + * 注册资本(金) + */ + @ApiModelProperty(value = "注册资本(金)") + private BigDecimal regcap; + + /** + * 注册资本(金)币种 + */ + @ApiModelProperty(value = "注册资本(金)币种") + private String regcapcur; + + /** + * 注册资本(金)币种(中文名称) + */ + @ApiModelProperty(value = "注册资本(金)币种(中文名称)") + private String regcapcurCn; + + /** + * 法定代表人 + */ + @ApiModelProperty(value = "法定代表人") + private String name; + + /** + * 核准日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + @ApiModelProperty(value = "核准日期") + private LocalDate apprdate; + + /** + * 属地监管工商所 + */ + @ApiModelProperty(value = "属地监管工商所") + private String suporg; + + /** + * 属地监管工商所(中文名称) + */ + @ApiModelProperty(value = "属地监管工商所(中文名称)") + private String suporgCn; + + /** + * 监管机关 + */ + @ApiModelProperty(value = "监管机关") + private String regulatory; + + /** + * 监管机关(中文名称) + */ + @ApiModelProperty(value = "监管机关(中文名称)") + private String regulatoryName; + + /** + * 是否含有涉嫌冒用他人身份取得登记信息(0否1是) + */ + @ApiModelProperty(value = "是否含有涉嫌冒用他人身份取得登记信息(0否1是)") + private String hasSusNateOperReg; + + /** + * 是否含有冒用他人身份取得公司登记处理决定(0否1是) + */ + @ApiModelProperty(value = "是否含有冒用他人身份取得公司登记处理决定(0否1是)") + private String hasNateOperRegDec; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedListVO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedListVO.java new file mode 100644 index 0000000..d102d3f --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedListVO.java @@ -0,0 +1,158 @@ +package com.chinaweal.aiccs.aiccs.susnate.vo; + +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 java.io.Serializable; +import java.time.LocalDate; + +/** + * 冒用身份登记信息融合列表结果VO + * 融合涉嫌冒用和冒用处理决定的列表查询结果 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("冒用身份登记信息融合列表结果") +public class NateOperCombinedListVO implements Serializable { + + private static final long serialVersionUID = 1L; + + // ==================== 共有字段 ==================== + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 主体身份代码(CA14) + */ + @ApiModelProperty(value = "主体身份代码(CA14)") + private String pripid; + + /** + * 市场主体名称 + */ + @ApiModelProperty(value = "市场主体名称") + private String entname; + + /** + * 统一社会信用代码(CA91) + */ + @ApiModelProperty(value = "统一社会信用代码(CA91)") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 登记(CA11) + */ + @ApiModelProperty(value = "登记机关(CA11)") + private String regOrg; + + /** + * 登记(中文名称) + */ + @ApiModelProperty(value = "登记机关(中文名称)") + private String regOrgCn; + + /** + * 作出决定机关 + */ + @ApiModelProperty(value = "作出决定机关") + private String judAuth; + + /** + * 作出决定机关(中文名称) + */ + @ApiModelProperty(value = "作出决定机关(中文名称)") + private String judAuthCn; + + /** + * 作出决定日期 + */ + @ApiModelProperty(value = "作出决定日期", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate judDate; + + // ==================== 涉嫌冒用专用字段 ==================== + /** + * 冒名登记时间 + */ + @ApiModelProperty(value = "冒名登记时间", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate regTime; + + /** + * 冒名登记事项 + */ + @ApiModelProperty(value = "冒名登记事项") + private String regItem; + + /** + * 联系方式 + */ + @ApiModelProperty(value = "联系方式") + private String tel; + + /** + * 公告期自 + */ + @ApiModelProperty(value = "公告期自", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeFrom; + + /** + * 公告期至 + */ + @ApiModelProperty(value = "公告期至", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeTo; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名") + private String name; + + /** + * 处理结果 + */ + @ApiModelProperty(value = "处理结果") + private String handlRest; + + /** + * 处理原因(CD96) + */ + @ApiModelProperty(value = "处理原因(CD96)") + private String handlRea; + + /** + * 处理原因(中文名称) + */ + @ApiModelProperty(value = "处理原因(中文名称)") + private String handlReaCn; + + // ==================== 冒用处理决定专用字段 ==================== + /** + * 公告内容 + */ + @ApiModelProperty(value = "公告内容") + private String noticeContent; + + /** + * 公告日期 + */ + @ApiModelProperty(value = "公告日期", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeDate; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedVO.java b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedVO.java new file mode 100644 index 0000000..5d9638d --- /dev/null +++ b/src/main/java/com/chinaweal/aiccs/aiccs/susnate/vo/NateOperCombinedVO.java @@ -0,0 +1,158 @@ +package com.chinaweal.aiccs.aiccs.susnate.vo; + +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 java.io.Serializable; +import java.time.LocalDate; + +/** + * 冒用身份登记信息融合结果VO + * 融合涉嫌冒用和冒用处理决定的查询结果 + * + * @author iFlow + * @since 2026-02-06 + */ +@Data +@ApiModel("冒用身份登记信息融合结果") +public class NateOperCombinedVO implements Serializable { + + private static final long serialVersionUID = 1L; + + // ==================== 共有字段 ==================== + /** + * 主键ID + */ + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 主体身份代码(CA14) + */ + @ApiModelProperty(value = "主体身份代码(CA14)") + private String pripid; + + /** + * 市场主体名称 + */ + @ApiModelProperty(value = "市场主体名称") + private String entname; + + /** + * 统一社会信用代码(CA91) + */ + @ApiModelProperty(value = "统一社会信用代码(CA91)") + private String uniscid; + + /** + * 注册号 + */ + @ApiModelProperty(value = "注册号") + private String regno; + + /** + * 登记(CA11) + */ + @ApiModelProperty(value = "登记机关(CA11)") + private String regOrg; + + /** + * 登记(中文名称) + */ + @ApiModelProperty(value = "登记机关(中文名称)") + private String regOrgCn; + + /** + * 作出决定机关 + */ + @ApiModelProperty(value = "作出决定机关") + private String judAuth; + + /** + * 作出决定机关(中文名称) + */ + @ApiModelProperty(value = "作出决定机关(中文名称)") + private String judAuthCn; + + /** + * 作出决定日期 + */ + @ApiModelProperty(value = "作出决定日期", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate judDate; + + // ==================== 涉嫌冒用专用字段 ==================== + /** + * 冒名登记时间 + */ + @ApiModelProperty(value = "冒名登记时间", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate regTime; + + /** + * 冒名登记事项 + */ + @ApiModelProperty(value = "冒名登记事项") + private String regItem; + + /** + * 联系方式 + */ + @ApiModelProperty(value = "联系方式") + private String tel; + + /** + * 公告期自 + */ + @ApiModelProperty(value = "公告期自", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeFrom; + + /** + * 公告期至 + */ + @ApiModelProperty(value = "公告期至", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeTo; + + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名") + private String name; + + /** + * 处理结果 + */ + @ApiModelProperty(value = "处理结果") + private String handlRest; + + /** + * 处理原因(CD96) + */ + @ApiModelProperty(value = "处理原因(CD96)") + private String handlRea; + + /** + * 处理原因(中文名称) + */ + @ApiModelProperty(value = "处理原因(中文名称)") + private String handlReaCn; + + // ==================== 冒用处理决定专用字段 ==================== + /** + * 公告内容 + */ + @ApiModelProperty(value = "公告内容") + private String noticeContent; + + /** + * 公告日期 + */ + @ApiModelProperty(value = "公告日期", example = "2025-01-01") + @JsonFormat(pattern = DateUtils.DATE_DEFAULT_FORMAT, timezone = "GMT+8") + private LocalDate noticeDate; +} \ No newline at end of file diff --git a/src/main/java/com/chinaweal/aiccs/common/constant/CommonConstants.java b/src/main/java/com/chinaweal/aiccs/common/constant/CommonConstants.java index 85729ea..992b648 100644 --- a/src/main/java/com/chinaweal/aiccs/common/constant/CommonConstants.java +++ b/src/main/java/com/chinaweal/aiccs/common/constant/CommonConstants.java @@ -25,4 +25,6 @@ public interface CommonConstants { * 默认SQL结果分片大小 **/ Integer DEFAULT_RESULT_FETCH_SIZE = 10000; + + String DELETED_2 = "2"; } diff --git a/src/main/resources/mybatis/mapper/aiccs/susnate/ESusNateOperRegMapper.xml b/src/main/resources/mybatis/mapper/aiccs/susnate/ESusNateOperRegMapper.xml index d4ea7f5..5732b77 100644 --- a/src/main/resources/mybatis/mapper/aiccs/susnate/ESusNateOperRegMapper.xml +++ b/src/main/resources/mybatis/mapper/aiccs/susnate/ESusNateOperRegMapper.xml @@ -32,6 +32,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +