From b69bc7c024582dadf34f88e43ff0bcc0f8e07f9f Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期一, 16 八月 2021 20:01:13 +0800
Subject: [PATCH] 特殊群体标签重复bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java |  159 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 147 insertions(+), 12 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
index 894dd5e..595488a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/SysUserInputServiceImpl.java
@@ -6,7 +6,9 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.panzhihua.common.exceptions.ServiceException;
+import com.panzhihua.common.model.dtos.community.ExportSpecialUserDTO;
 import com.panzhihua.common.model.dtos.community.ExportUserDTO;
+import com.panzhihua.common.model.dtos.user.ComMngUserTagDTO;
 import com.panzhihua.common.model.dtos.user.EexcelUserDTO;
 import com.panzhihua.common.model.dtos.user.InputUserTagsDTO;
 import com.panzhihua.common.model.dtos.user.PageInputUserDTO;
@@ -16,12 +18,16 @@
 import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
 import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
 import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
+import com.panzhihua.common.model.vos.user.ComMngTagVO;
 import com.panzhihua.common.model.vos.user.CommunityUserInfoVO;
 import com.panzhihua.common.model.vos.user.InputUserInfoVO;
 import com.panzhihua.common.utlis.IdCard;
 import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.StringUtils;
+import com.panzhihua.service_user.dao.ComMngUserTagDAO;
 import com.panzhihua.service_user.dao.SysUserInputDAO;
 import com.panzhihua.service_user.model.dos.ComMngFamilyInfoDO;
+import com.panzhihua.service_user.model.dos.ComMngUserTagDO;
 import com.panzhihua.service_user.model.dos.SysUserDO;
 import com.panzhihua.service_user.model.dos.SysUserInputDO;
 import com.panzhihua.service_user.service.SysUserInputService;
@@ -34,6 +40,7 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -49,6 +56,8 @@
     private SysUserInputDAO sysUserInputDAO;
     @Resource
     private StringRedisTemplate stringRedisTemplate;
+    @Resource
+    private ComMngUserTagDAO comMngUserTagDAO;
     /**
      * 批量导入居民用户
      * @param list 居民用户集合
@@ -82,12 +91,13 @@
                 if(count==0){
                     SysUserInputDO sysUserInputDO=new SysUserInputDO();
                     String doorNumber = eexcelUserDTO.getDoorNumber();
-                    List<ComMngStructHouseVO> collect = comMngStructHouseVOS1.stream().filter(comMngStructHouseVO -> comMngStructHouseVO.getHouseName().equals(doorNumber)).collect(Collectors.toList());
-                    if (ObjectUtils.isEmpty(collect)) {
-                        throw new ServiceException("门牌号后台不存在或格式错误,错误门牌号为"+doorNumber);
-                    }else{
-                        sysUserInputDO.setHouseCode(collect.get(0).getHouseCode());
-                    }
+                    //暂时注释门牌号匹配设置房屋编号功能
+//                    List<ComMngStructHouseVO> collect = comMngStructHouseVOS1.stream().filter(comMngStructHouseVO -> comMngStructHouseVO.getHouseName().equals(doorNumber)).collect(Collectors.toList());
+//                    if (ObjectUtils.isEmpty(collect)) {
+//                        throw new ServiceException("门牌号后台不存在或格式错误,错误门牌号为"+doorNumber);
+//                    }else{
+//                        sysUserInputDO.setHouseCode(collect.get(0).getHouseCode());
+//                    }
                     sysUserInputDO.setAreaId(comMngStructAreaVO.getId());
                     sysUserInputDO.setCommunityId(comMngStructAreaVO.getCommunityId());
                     sysUserInputDO.setCompany(eexcelUserDTO.getCompany());
@@ -205,6 +215,9 @@
         iPage.getRecords().forEach(record->{
             record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
             record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+            if(!StringUtils.isEmpty(record.getTags()) && record.getTags().endsWith(",")){
+                record.setTags(record.getTags().substring(0,record.getTags().length()-1));
+            }
         });
         return R.ok(iPage);
     }
@@ -214,22 +227,28 @@
         SysUserInputDO userInputDO=new SysUserInputDO();
         userInputDO.setId(inputUserTagsDTO.getId());
         userInputDO.setTags(inputUserTagsDTO.getTags());
-        List<SysUserInputDO> all = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard,userInputDO.getIdCard()));
+        List<SysUserInputDO> all = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getId,userInputDO.getId()));
         all.forEach(d->{
-            d.setTags(inputUserTagsDTO.getTags());
+            if(!StringUtils.isEmpty(d.getTags())){
+                d.setTags(d.getTags()+","+inputUserTagsDTO.getTags());
+            }else{
+                d.setTags(inputUserTagsDTO.getTags());
+            }
             sysUserInputDAO.updateById(userInputDO);
+
         });
         return R.ok();
     }
 
     @Override
-    public R export(ExportUserDTO exportUserDTO) {
-        return null;
+    public R exportInputUser(ExportUserDTO exportUserDTO) {
+        List<EexcelUserDTO> eexcelUserDTOS=sysUserInputDAO.selectExport(exportUserDTO);
+        return R.ok(eexcelUserDTOS);
     }
 
 
     @Override
-    public InputUserInfoVO inputUserDetail(Long id) {
+    public R inputUserDetail(Long id) {
         InputUserInfoVO inputUserInfoVO = new InputUserInfoVO();
         SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id);
         if (!org.springframework.util.ObjectUtils.isEmpty(sysUserInputDO)) {
@@ -278,6 +297,122 @@
             List<ComMngStructHouseVO> comMngStructHouseVOS = sysUserInputDAO.selectUserHouseList(inputUserInfoVO.getIdCard());
             inputUserInfoVO.setComMngStructHouseVOS(comMngStructHouseVOS);
         }
-        return inputUserInfoVO;
+        return R.ok(inputUserInfoVO);
+    }
+
+    @Override
+    public R specialInputUser(PageInputUserDTO pageInputUserDTO) {
+        Page page = new Page<>();
+        Long pageNum = pageInputUserDTO.getPageNum();
+        Long pageSize = pageInputUserDTO.getPageSize();
+        if (null==pageNum||0==pageNum) {
+            pageNum = 1l;
+        }
+        if (null==pageSize||0==pageSize) {
+            pageSize = 10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        IPage<InputUserInfoVO> iPage = sysUserInputDAO.specialInputUser(page, pageInputUserDTO);
+        iPage.getRecords().forEach(record->{
+            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+        });
+        return R.ok(iPage);
+    }
+
+    @Override
+    public R specialInputUserTags(ComMngUserTagDTO comMngUserTagDTO) {
+        Page page = new Page<>();
+        Long pageNum = comMngUserTagDTO.getPageNum();
+        Long pageSize = comMngUserTagDTO.getPageSize();
+        if (null==pageNum||0==pageNum) {
+            pageNum = 1l;
+        }
+        if (null==pageSize||0==pageSize) {
+            pageSize = 10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        IPage<ComMngTagVO> iPage = comMngUserTagDAO.pageSpecialInputUserTags(page, comMngUserTagDTO);
+        return R.ok(iPage);
+    }
+
+    @Override
+    public R saveSpecialInputUserTags(ComMngTagVO comMngTagVO) {
+        if(null!=comMngTagVO.getId()&&comMngTagVO.getId()!=0){
+            ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(comMngTagVO.getId());
+            if(null==comMngUserTagDO){
+                return R.fail("标签不存在");
+            }
+            if(comMngUserTagDO.getSysFlag()==1){
+                return R.fail("系统预置标签不可修改");
+            }
+            ComMngUserTagDO exist = comMngUserTagDAO.selectOne(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName,comMngTagVO.getTagName()));
+            if(null!=exist && !exist.getId().equals(comMngTagVO.getId())){
+                return R.fail("标签重复");
+            }
+            comMngUserTagDO.setTagName(comMngTagVO.getTagName());
+            comMngUserTagDAO.updateById(comMngUserTagDO);
+        }else{
+            ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectOne(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getCommunityId,comMngTagVO.getCommunityId()).
+                    eq(ComMngUserTagDO::getTagName,comMngTagVO.getTagName()));
+            if(comMngUserTagDO != null && comMngUserTagDO.getCommunityId().equals(comMngTagVO.getCommunityId())){
+                return R.fail("标签重复");
+            }
+            ComMngUserTagDO comMngUserTagDO1 = new ComMngUserTagDO();
+            comMngUserTagDO1.setTagName(comMngTagVO.getTagName());
+            comMngUserTagDO1.setCommunityId(comMngTagVO.getCommunityId());
+            comMngUserTagDO1.setSysFlag(0);
+            comMngUserTagDO1.setCreateAt(new Date());
+            comMngUserTagDAO.insert(comMngUserTagDO1);
+        }
+        return R.ok();
+    }
+
+    @Override
+    public R deleteSpecialInputUserTags(Long id) {
+        ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(id);
+        if(null==comMngUserTagDO){
+            return R.fail("标签不存在");
+        }
+        if(comMngUserTagDO.getSysFlag()==1){
+            return R.fail("系统预置标签不可删除");
+        }
+        int delete = comMngUserTagDAO.deleteById(id);
+        if(delete>0){
+            return R.ok();
+        }
+        return R.fail("删除失败");
+    }
+
+    @Override
+    public R deleteSpecialInputUser(Long id) {
+        SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(id);
+        if(null==sysUserInputDO){
+            return R.fail("用户不存在");
+        }
+        List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>().lambda().eq(SysUserInputDO::getIdCard,sysUserInputDO.getIdCard()));
+        sysUserInputDOS.forEach(sysUserInput ->{
+            sysUserInput.setTags(null);
+            sysUserInput.setKeyPersonnel(0);
+            sysUserInput.setSpecialServiceFamily(0);
+            sysUserInput.setSoldier(0);
+            sysUserInput.setLowincomeHouseholds(0);
+            sysUserInput.setLowincomePeople(0);
+            sysUserInput.setOldPeople(0);
+            sysUserInput.setDisability(0);
+        });
+        boolean update = this.updateBatchById(sysUserInputDOS);
+        if(update){
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R specialUserExport(ExportSpecialUserDTO exportSpecialUserDTO) {
+        List<EexcelUserDTO> eexcelUserDTOS=sysUserInputDAO.specialUserExport(exportSpecialUserDTO);
+        return R.ok(eexcelUserDTOS);
     }
 }

--
Gitblit v1.7.1