From 5780b30f160aab97f5306c2e67ee986303e1b6bb Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Thu, 12 Dec 2024 14:20:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=A3=8E=E9=99=A9?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=BA=93=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RiskPersonalController.java | 85 +++++++------------ .../mapper/RiskPersonInfoMapper.java | 8 ++ .../mapper/RiskPersonalMapper.java | 6 ++ .../pojo/domain/RiskPersonalDetail.java | 3 +- .../pojo/entity/RiskPersonInfo.java | 23 +++++ .../pojo/entity/RiskPersonalTag.java | 3 + .../pojo/param/RiskPersonalQueryParam.java | 8 +- .../supervision/pojo/vo/RiskPersonalVo.java | 34 +------- .../service/RiskPersonInfoService.java | 11 +++ .../resources/mapper/RiskPersonalMapper.xml | 55 ++++++++++++ .../supervision/tools/GenCodeTests.java | 2 +- 11 files changed, 143 insertions(+), 95 deletions(-) create mode 100644 src/main/java/com/biutag/supervision/mapper/RiskPersonInfoMapper.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/RiskPersonInfo.java create mode 100644 src/main/java/com/biutag/supervision/service/RiskPersonInfoService.java create mode 100644 src/main/resources/mapper/RiskPersonalMapper.xml diff --git a/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java b/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java index 449aa8c..67addd1 100644 --- a/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java +++ b/src/main/java/com/biutag/supervision/controller/sensitivePerception/RiskPersonalController.java @@ -1,23 +1,19 @@ package com.biutag.supervision.controller.sensitivePerception; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.mapper.RiskModelTaskClueMapper; +import com.biutag.supervision.mapper.RiskPersonalMapper; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.domain.RiskPersonalDetail; import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.param.RiskPersonalQueryParam; import com.biutag.supervision.pojo.vo.RiskModelTaskClueVo; import com.biutag.supervision.pojo.vo.RiskPersonalVo; -import com.biutag.supervision.service.ModelService; -import com.biutag.supervision.service.RiskPersonalService; -import com.biutag.supervision.service.RiskPersonalTagService; -import com.biutag.supervision.service.RiskScoreRuleService; +import com.biutag.supervision.service.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -27,7 +23,6 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; /** @@ -42,63 +37,32 @@ public class RiskPersonalController { private final RiskPersonalService riskPersonalService; + private final RiskPersonalMapper riskPersonalMapper; + + private final RiskPersonalTagService riskPersonalTagService; + private final RiskScoreRuleService riskScoreRuleService; private final ModelService modelService; - private final RiskPersonalTagService riskPersonalTagService; - private final RiskModelTaskClueMapper riskModelTaskClueMapper; + private final RiskPersonInfoService riskPersonInfoService; + + @GetMapping public Result> list(RiskPersonalQueryParam param) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper - .eq(RiskPersonal::getDel, AppConstants.UN_DEL) - .like(StrUtil.isNotBlank(param.getName()), RiskPersonal::getName, param.getName()) - .like(StrUtil.isNotBlank(param.getMobileNumber()), RiskPersonal::getMobileNumber, param.getMobileNumber()) - .like(StrUtil.isNotBlank(param.getIdCode()), RiskPersonal::getIdCode, param.getIdCode()) - .eq(Objects.nonNull(param.getAge()), RiskPersonal::getAge, param.getAge()) - .and(CollectionUtil.isNotEmpty(param.getTags()), (query) -> { - for (int i = 0; i < param.getTags().size(); i++) { - query.like(RiskPersonal::getTags, param.getTags().get(i)).or(i != param.getTags().size() - 1); - } - }); - if (CollectionUtil.isNotEmpty(param.getSmallTags()) || CollectionUtil.isNotEmpty(param.getEducationTags()) || CollectionUtil.isNotEmpty(param.getAgeTags())) { - LambdaQueryWrapper tagQueryWrapper = new LambdaQueryWrapper<>(); - tagQueryWrapper.and(CollectionUtil.isNotEmpty(param.getSmallTags()), (query) -> { - for (int i = 0; i < param.getSmallTags().size(); i++) { - query.like(RiskPersonalTag::getSmallTag, param.getSmallTags().get(i)).or(i != param.getSmallTags().size() - 1); - } - }).and(CollectionUtil.isNotEmpty(param.getAgeTags()), (query) -> { - for (int i = 0; i < param.getAgeTags().size(); i++) { - query.like(RiskPersonalTag::getSmallTag, param.getAgeTags().get(i)).or(i != param.getAgeTags().size() - 1); - } - }).and(CollectionUtil.isNotEmpty(param.getEducationTags()), (query) -> { - for (int i = 0; i < param.getEducationTags().size(); i++) { - query.like(RiskPersonalTag::getSmallTag, param.getEducationTags().get(i)).or(i != param.getEducationTags().size() - 1); - } - }); - List list = riskPersonalTagService.list(tagQueryWrapper); - if (list.isEmpty()) { - return Result.success(new Page().setTotal(0).setRecords(new ArrayList<>())); - } - queryWrapper.in(RiskPersonal::getIdCode, list.stream().map(RiskPersonalTag::getIdCode).collect(Collectors.toSet())); - } - queryWrapper.orderByDesc(RiskPersonal::getRiskScore).orderByDesc(RiskPersonal::getCreateTime); - Page page = riskPersonalService.page(Page.of(param.getCurrent(), param.getSize()), queryWrapper); - if (page.getRecords().isEmpty()) { - return Result.success(new Page().setTotal(0).setRecords(new ArrayList<>())); + Page page = riskPersonalMapper.queryPage(Page.of(param.getCurrent(), param.getSize()), param); + List records = page.getRecords(); + if (records.isEmpty()) { + return Result.success(page); } - List tags = riskPersonalTagService.list(new LambdaQueryWrapper() - .in(RiskPersonalTag::getIdCode, page.getRecords().stream().map(RiskPersonal::getIdCode).toList())); - List list = page.getRecords().stream().map(item -> { - RiskPersonalVo riskPersonalVo = new RiskPersonalVo(); - BeanUtil.copyProperties(item, riskPersonalVo); - riskPersonalVo.setSmallTags(tags.stream().filter(j -> item.getIdCode().equals(j.getIdCode())).map(RiskPersonalTag::getSmallTag).collect(Collectors.toSet())); - return riskPersonalVo; - }).toList(); - return Result.success(new Page().setTotal(page.getTotal()).setRecords(list)); + List idCodes = records.stream().map(RiskPersonalVo::getIdCode).toList(); + List smallTags = riskPersonalTagService.list(new LambdaQueryWrapper().in(RiskPersonalTag::getIdCode, idCodes)); + records.forEach(item -> { + item.setSmallTags(smallTags.stream().filter(smallTag -> smallTag.getIdCode().equals(item.getIdCode())).map(RiskPersonalTag::getSmallTag).collect(Collectors.joining(","))); + }); + return Result.success(page); } /** @@ -109,7 +73,15 @@ public class RiskPersonalController { @GetMapping("{id}") public Result get(@PathVariable Integer id) { List rules1 = riskScoreRuleService.list(new LambdaQueryWrapper().eq(RiskScoreRule::getLevel, 1)); + RiskPersonal riskPersonal = riskPersonalService.getById(id); + + RiskPersonalVo vo = new RiskPersonalVo(); + BeanUtil.copyProperties(riskPersonal, vo); + RiskPersonInfo info = riskPersonInfoService.getById(riskPersonal.getIdCode()); + if (info != null) { + vo.setAvatar(info.getImageBase64()); + } List list = rules1.stream().map(rule -> { RiskPersonalDetail.RiskRule riskRule = new RiskPersonalDetail.RiskRule(); riskRule.setRiskName(rule.getRiskName()); @@ -122,6 +94,7 @@ public class RiskPersonalController { QueryWrapper queryWrapper = new QueryWrapper() .eq("mc.id_code", riskPersonal.getIdCode()) .in("mc.model_id", models.stream().map(Model::getId).toList()) + .eq("mc.del", AppConstants.UN_DEL) .orderByAsc("r.sort_id") .orderByDesc("mc.score_result"); List records = models.isEmpty() ? new ArrayList<>() : riskModelTaskClueMapper.queryPage(Page.of(1, 100), queryWrapper).getRecords(); @@ -129,7 +102,7 @@ public class RiskPersonalController { return riskRule; }).toList(); RiskPersonalDetail riskPersonalDetail = new RiskPersonalDetail(); - riskPersonalDetail.setRiskPersonal(riskPersonal); + riskPersonalDetail.setRiskPersonal(vo); riskPersonalDetail.setRiskClueList(list); return Result.success(riskPersonalDetail); } diff --git a/src/main/java/com/biutag/supervision/mapper/RiskPersonInfoMapper.java b/src/main/java/com/biutag/supervision/mapper/RiskPersonInfoMapper.java new file mode 100644 index 0000000..7fd7d5b --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/RiskPersonInfoMapper.java @@ -0,0 +1,8 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.RiskPersonInfo; + +public interface RiskPersonInfoMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/mapper/RiskPersonalMapper.java b/src/main/java/com/biutag/supervision/mapper/RiskPersonalMapper.java index d2bc008..a33566a 100644 --- a/src/main/java/com/biutag/supervision/mapper/RiskPersonalMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/RiskPersonalMapper.java @@ -1,8 +1,14 @@ package com.biutag.supervision.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.pojo.entity.RiskPersonal; +import com.biutag.supervision.pojo.param.RiskPersonalQueryParam; +import com.biutag.supervision.pojo.vo.RiskPersonalVo; +import org.apache.ibatis.annotations.Param; public interface RiskPersonalMapper extends BaseMapper { + Page queryPage(@Param("page") Page page, @Param("param") RiskPersonalQueryParam param); + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/domain/RiskPersonalDetail.java b/src/main/java/com/biutag/supervision/pojo/domain/RiskPersonalDetail.java index d2dc5fc..68702ef 100644 --- a/src/main/java/com/biutag/supervision/pojo/domain/RiskPersonalDetail.java +++ b/src/main/java/com/biutag/supervision/pojo/domain/RiskPersonalDetail.java @@ -3,6 +3,7 @@ package com.biutag.supervision.pojo.domain; import com.biutag.supervision.pojo.entity.RiskModelTaskClue; import com.biutag.supervision.pojo.entity.RiskPersonal; import com.biutag.supervision.pojo.vo.RiskModelTaskClueVo; +import com.biutag.supervision.pojo.vo.RiskPersonalVo; import lombok.Getter; import lombok.Setter; @@ -17,7 +18,7 @@ import java.util.List; @Getter public class RiskPersonalDetail { - private RiskPersonal riskPersonal; + private RiskPersonalVo riskPersonal; private List riskClueList = new ArrayList<>(); diff --git a/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonInfo.java b/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonInfo.java new file mode 100644 index 0000000..6d5f7c1 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonInfo.java @@ -0,0 +1,23 @@ +package com.biutag.supervision.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class RiskPersonInfo { + + // 身份证 + @TableId(value = "id_code") + private String idCode; + + // 证照 + @TableField("image_base64") + private String imageBase64; + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java b/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java index dcd40ab..47b88d9 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/RiskPersonalTag.java @@ -3,6 +3,8 @@ package com.biutag.supervision.pojo.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.biutag.supervision.constants.AppConstants; import lombok.Getter; import lombok.Setter; @@ -42,6 +44,7 @@ public class RiskPersonalTag { // 逻辑删除键0-未删1已删 @TableField("del") + @TableLogic(value = AppConstants.UN_DEL, delval = AppConstants.DEL) private Boolean del; } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java index c79f970..614ff05 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/RiskPersonalQueryParam.java @@ -15,8 +15,6 @@ import java.util.List; public class RiskPersonalQueryParam extends BasePage { private String name; - // 年龄 - private Integer age; // 手机号 private String mobileNumber; @@ -26,13 +24,13 @@ public class RiskPersonalQueryParam extends BasePage { // 人员 private List tags = new ArrayList<>(); + // 高风险因素 + private List smallTags = new ArrayList<>(); + // 学历 private List educationTags = new ArrayList<>(); // 年龄 private List ageTags = new ArrayList<>(); - // 高风险因素 - private List smallTags = new ArrayList<>(); - } diff --git a/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java b/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java index 9a31e1c..842e8e2 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/RiskPersonalVo.java @@ -1,75 +1,45 @@ package com.biutag.supervision.pojo.vo; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import lombok.Getter; import lombok.Setter; -import java.time.LocalDateTime; -import java.util.HashSet; -import java.util.Set; - @Setter @Getter public class RiskPersonalVo { // 主键 - @TableId(value = "id", type = IdType.AUTO) private Integer id; // 姓名 - @TableField("name") private String name; // 性别男1女2 - @TableField("gender") private String gender; // 年龄 - @TableField("age") private Integer age; // 大标签预览 - @TableField("tags") private String tags; // 证件号码 - @TableField("id_code") private String idCode; // 手机号 - @TableField("mobile_number") private String mobileNumber; // 风险指数 - @TableField("risk_score") private Double riskScore; // 管控部门编号 - @TableField("control_depart_id") private String controlDepartId; // 管控部门名称 - @TableField("control_depart_name") private String controlDepartName; - // 管控时间 - @TableField("control_time") - private LocalDateTime controlTime; - - // 创建时间 - @TableField("create_time") - private LocalDateTime createTime; - - // 异常信息 - @TableField("error_msg") - private String errorMsg; - // 逻辑删除键0-未删1已删 - @TableField("del") - private Boolean del; + private String smallTags; - private Set smallTags = new HashSet<>(); + private String avatar; } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/service/RiskPersonInfoService.java b/src/main/java/com/biutag/supervision/service/RiskPersonInfoService.java new file mode 100644 index 0000000..28cff72 --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/RiskPersonInfoService.java @@ -0,0 +1,11 @@ +package com.biutag.supervision.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervision.pojo.entity.RiskPersonInfo; +import com.biutag.supervision.mapper.RiskPersonInfoMapper; +import org.springframework.stereotype.Service; + +@Service +public class RiskPersonInfoService extends ServiceImpl { + +} diff --git a/src/main/resources/mapper/RiskPersonalMapper.xml b/src/main/resources/mapper/RiskPersonalMapper.xml new file mode 100644 index 0000000..e973d0d --- /dev/null +++ b/src/main/resources/mapper/RiskPersonalMapper.xml @@ -0,0 +1,55 @@ + + + + + + + diff --git a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java index ce63b26..a6b4972 100644 --- a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java +++ b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java @@ -25,7 +25,7 @@ public class GenCodeTests { @Test public void genEntity() throws TemplateException, IOException { - String tableName = "model_problem_type"; + String tableName = "risk_person_info"; String tableSchema = "negative"; boolean genMapper = true; boolean genService = true;