From fcad44d78233bd53f3fa659499da07a901ef42e8 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期六, 07 五月 2022 14:39:07 +0800
Subject: [PATCH] 花城优化

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java |   71 +++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
index 84ce59d..7c83fe2 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActAcidRecordServiceImpl.java
@@ -5,12 +5,9 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.model.dtos.community.acid.ComActAcidRecordDTO;
-import com.panzhihua.common.model.dtos.property.CommonPage;
-import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.acid.*;
 import com.panzhihua.common.service.user.UserService;
@@ -21,7 +18,6 @@
 import com.panzhihua.service_community.entity.ComActAcidDangerMember;
 import com.panzhihua.service_community.entity.ComActAcidRecord;
 import com.panzhihua.service_community.dao.ComActAcidRecordDao;
-import com.panzhihua.service_community.model.dos.ComActDO;
 import com.panzhihua.service_community.service.ComActAcidRecordService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
@@ -117,12 +113,13 @@
             if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码") || travelCard.equals("是")
                     || dangerArea.equals("是") || outsideCity.equals("是") || acidTest.equals("阳性")) {
                 //风险人员
-                saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1);
+                String riskType = retrieveRiskType(colorMark, travelCard, dangerArea, outsideCity, acidTest);
+                saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1, riskType);
                 return R.ok();
             }
             if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) {
                 //未填住址人员
-                saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2);
+                saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2, null);
             }
             return R.ok();
         }
@@ -130,7 +127,32 @@
         return R.fail("操作失败,请重新尝试");
     }
 
-    private void saveAcidDangerMember(ComActAcidRecordVO comActAcidRecordVO, Long recordId, Integer type) {
+    private String retrieveRiskType(String colorMark, String travelCard, String dangerArea, String outsideCity, String acidTest) {
+        StringBuilder riskType = new StringBuilder();
+        if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码")) {
+            riskType.append(",");
+            riskType.append(ComActAcidDangerMember.RiskType.COLOR);
+        }
+        if (travelCard.equals("是")) {
+            riskType.append(",");
+            riskType.append(ComActAcidDangerMember.RiskType.STAR);
+        }
+        if (dangerArea.equals("是")) {
+            riskType.append(",");
+            riskType.append(ComActAcidDangerMember.RiskType.HIGH);
+        }
+        if (outsideCity.equals("是")) {
+            riskType.append(",");
+            riskType.append(ComActAcidDangerMember.RiskType.OUT);
+        }
+        if (acidTest.equals("阳性")) {
+            riskType.append(",");
+            riskType.append(ComActAcidDangerMember.RiskType.TEST);
+        }
+        return riskType.substring(1);
+    }
+
+    private void saveAcidDangerMember(ComActAcidRecordVO comActAcidRecordVO, Long recordId, Integer type, String riskType) {
         String localCity = comActAcidRecordVO.getLocalCity();
         String relationName = "panzhihua";
         if (isNotEmpty(localCity)) {
@@ -158,6 +180,7 @@
             dangerMember.setType(type);
             dangerMember.setRelationName(relationName);
             dangerMember.setCreateTime(new Date());
+            dangerMember.setRiskType(riskType);
             comActAcidDangerMemberDao.insert(dangerMember);
         } else {
             dangerMember.setName(comActAcidRecordVO.getName());
@@ -169,6 +192,7 @@
             dangerMember.setType(type);
             dangerMember.setRelationName(relationName);
             dangerMember.setUpdateTime(new Date());
+            dangerMember.setRiskType(riskType);
             comActAcidDangerMemberDao.updateById(dangerMember);
         }
         ComActAcidDangerMemberVO dangerMemberVO = new ComActAcidDangerMemberVO();
@@ -212,19 +236,26 @@
 
     @Override
     public R updateLocalCity(ComActAcidRecordVO comActAcidRecordVO) {
-        ComActAcidRecord comActAcidRecord=new ComActAcidRecord();
-        BeanUtils.copyProperties(comActAcidRecordVO,comActAcidRecord);
-        if(StringUtils.isNotEmpty(comActAcidRecord.getLocalCity())){
-            ComActAcidDangerMember comActAcidDangerMember= comActAcidDangerMemberDao.selectOne(new QueryWrapper<ComActAcidDangerMember>().lambda().eq(ComActAcidDangerMember::getRecordId,comActAcidRecordVO.getId()));
-            if(comActAcidDangerMember!=null){
-                if(comActAcidDangerMember.getType()==2){
-                    this.comActAcidDangerMemberDao.deleteById(comActAcidDangerMember.getId());
-                }
-                else {
-                    comActAcidDangerMember.setRelationName(comActAcidRecord.getLocalCity());
-                    this.comActAcidDangerMemberDao.updateById(comActAcidDangerMember);
-                }
-            }
+        ComActAcidRecord comActAcidRecord = new ComActAcidRecord();
+        BeanUtils.copyProperties(comActAcidRecordVO, comActAcidRecord);
+        ComActAcidDangerMember comActAcidDangerMember =
+            comActAcidDangerMemberDao.selectOne(new QueryWrapper<ComActAcidDangerMember>().lambda()
+                .eq(ComActAcidDangerMember::getRecordId, comActAcidRecordVO.getId()));
+        String colorMark = comActAcidRecordVO.getColorMark();
+        String travelCard = comActAcidRecordVO.getTravelCard();
+        String dangerArea = comActAcidRecordVO.getDangerArea();
+        String outsideCity = comActAcidRecordVO.getOutsideCity();
+        String acidTest = comActAcidRecordVO.getAcidTest();
+        if (StringUtils.inStringIgnoreCase(colorMark, "红码", "黄码") || travelCard.equals("是") || dangerArea.equals("是")
+            || outsideCity.equals("是") || acidTest.equals("阳性")) {
+            // 风险人员
+            String riskType = retrieveRiskType(colorMark, travelCard, dangerArea, outsideCity, acidTest);
+            saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 1, riskType);
+        } else if (StringUtils.isEmpty(comActAcidRecordVO.getLocalCity())) {
+            // 未填住址人员
+            saveAcidDangerMember(comActAcidRecordVO, comActAcidRecord.getId(), 2, null);
+        } else if (comActAcidDangerMember != null && comActAcidDangerMember.getType() == 2) {
+            this.comActAcidDangerMemberDao.deleteById(comActAcidDangerMember.getId());
         }
         return R.ok(this.baseMapper.updateById(comActAcidRecord));
     }

--
Gitblit v1.7.1