From 4105f520eaf7e1875a3d314dbaacf78064d07d35 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期一, 21 六月 2021 12:29:16 +0800
Subject: [PATCH] 修改bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 151 insertions(+), 29 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
index 6216b03..aca0448 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -6,14 +6,18 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.constants.UserConstants;
 import com.panzhihua.common.exceptions.PartyBuildingMemberException;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.ComActActivityVO;
 import com.panzhihua.common.model.vos.partybuilding.*;
 import com.panzhihua.common.model.vos.user.SysUserVO;
 import com.panzhihua.common.service.community.CommunityService;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.common.utlis.DateUtils;
 import com.panzhihua.common.utlis.RichTextUtil;
 import com.panzhihua.common.utlis.SensitiveUtil;
+import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_dangjian.dao.*;
 import com.panzhihua.service_dangjian.model.dos.*;
 import com.panzhihua.service_dangjian.service.ComPbMemberService;
@@ -66,8 +70,9 @@
     @Override
     public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
         String idCard = partyBuildingMemberVO.getIdCard();
-        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getIdCard, idCard));
-        if (!ObjectUtils.isEmpty(comPbMemberDO)) {
+        List<ComPbMemberDO> comPbMemberDOs = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+                .eq(ComPbMemberDO::getIdCard, idCard).eq(ComPbMemberDO::getAuditResult, 1));
+        if (!ObjectUtils.isEmpty(comPbMemberDOs)&&comPbMemberDOs.size()>0) {
            return R.fail("身份证已经存在");
         }
         ComPbMemberDO comPbMemberDO1=new ComPbMemberDO();
@@ -77,6 +82,13 @@
         comPbMemberDO1.setUpdateAt(date);
         int insert = comPbMemberDAO.insert(comPbMemberDO1);
         if (insert>0) {
+            //删除已驳回的记录
+            int delete =  comPbMemberDAO.delete(new QueryWrapper<ComPbMemberDO>().lambda()
+                    .eq(ComPbMemberDO::getIdCard, partyBuildingMemberVO.getIdCard())
+                    .eq(ComPbMemberDO::getUserId, partyBuildingMemberVO.getUserId())
+                    .eq(ComPbMemberDO::getCommunityId, partyBuildingMemberVO.getCommunityId())
+                    .eq(ComPbMemberDO::getAuditResult, 3)
+            );
             return R.ok();
         }
         return R.fail();
@@ -91,33 +103,46 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) {
-        Boolean aBoolean = stringRedisTemplate.hasKey(REDIS_ORG_ALL);
-        ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
+//        Boolean aBoolean = stringRedisTemplate.hasKey(REDIS_ORG_ALL);
+//        ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
         List<PartyOrganizationVO> partyOrganizationVOS=new ArrayList<>();
-        if (aBoolean) {
-            String orgs = valueOperations.get(REDIS_ORG_ALL);
-            if (!ObjectUtils.isEmpty(orgs)) {
-               partyOrganizationVOS= JSONArray.parseArray(orgs,PartyOrganizationVO.class);
-            }
-        } else {
-            List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(new LambdaQueryWrapper<>());
-            if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
-                List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
-                comPbOrgDOS.forEach(comPbOrgDO -> {
-                    PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
-                    partyOrganizationVO.setId(comPbOrgDO.getId());
-                    partyOrganizationVO.setName(comPbOrgDO.getName());
-                    partyOrganizationVO.setCommunityId(comPbOrgDO.getCommunityId());
-                    partyOrganizationVOList.add(partyOrganizationVO);
-                });
-                partyOrganizationVOS= partyOrganizationVOList;
-            }
-            valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS);
+//        if (aBoolean) {
+//            String orgs = valueOperations.get(REDIS_ORG_ALL);
+//            if (!ObjectUtils.isEmpty(orgs)) {
+//               partyOrganizationVOS= JSONArray.parseArray(orgs,PartyOrganizationVO.class);
+//            }
+//        } else {
+//            List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(new LambdaQueryWrapper<>());
+//            if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
+//                List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
+//                comPbOrgDOS.forEach(comPbOrgDO -> {
+//                    PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
+//                    partyOrganizationVO.setId(comPbOrgDO.getId());
+//                    partyOrganizationVO.setName(comPbOrgDO.getName());
+//                    partyOrganizationVO.setCommunityId(comPbOrgDO.getCommunityId());
+//                    partyOrganizationVOList.add(partyOrganizationVO);
+//                });
+//                partyOrganizationVOS= partyOrganizationVOList;
+//            }
+//            valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS);
+//        }
+        List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(new LambdaQueryWrapper<>());
+        if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
+            List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
+            comPbOrgDOS.forEach(comPbOrgDO -> {
+                PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
+                partyOrganizationVO.setId(comPbOrgDO.getId());
+                partyOrganizationVO.setName(comPbOrgDO.getName());
+                partyOrganizationVO.setCommunityId(comPbOrgDO.getCommunityId());
+                partyOrganizationVOList.add(partyOrganizationVO);
+            });
+            partyOrganizationVOS= partyOrganizationVOList;
         }
         List<ComPbMemberDO> comPbMemberDOS=new ArrayList<>();
         if (!ObjectUtils.isEmpty(list)) {
             List<PartyOrganizationVO> partyOrganizationVOArrayList=partyOrganizationVOS;
             list.forEach(partyBuildingMemberExcelVO -> {
+
                 ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
                 Date date=new Date();
                 comPbMemberDO.setUpdateAt(date);
@@ -130,9 +155,38 @@
                     PartyOrganizationVO partyOrganizationVO = collect.get(0);
                     comPbMemberDO.setOrgId(partyOrganizationVO.getId());
                     comPbMemberDO.setCommunityId(partyOrganizationVO.getCommunityId());
+
+                    List<ComPbMemberDO> comPbMemberDOList = this.baseMapper.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+                            .eq(ComPbMemberDO::getIdCard,partyBuildingMemberExcelVO.getIdCard())
+                            .eq(ComPbMemberDO::getCommunityId,partyOrganizationVO.getCommunityId())
+                            .in(ComPbMemberDO::getAuditResult,0,1));
+                    if(!comPbMemberDOList.isEmpty()){
+                        throw new PartyBuildingMemberException("导入失败,您导入的数据中有已存在的党员信息,已存在的数据:"+ partyBuildingMemberExcelVO.getEmploymentTime() + ",已存在的人名:" + partyBuildingMemberExcelVO.getName());
+                    }
                 }
-                comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime());
-                comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime());
+
+                if(StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getEmploymentTime()) && !DateUtils.isValidDate(partyBuildingMemberExcelVO.getEmploymentTime())){
+                    throw new PartyBuildingMemberException("导入失败,您导入的数据中有转正日期格式错误,错误数据:" + partyBuildingMemberExcelVO.getEmploymentTime() + ",错误人名:" + partyBuildingMemberExcelVO.getName());
+                }
+
+                if(StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getJoinTime()) && !DateUtils.isValidDate(partyBuildingMemberExcelVO.getJoinTime())){
+                    throw new PartyBuildingMemberException("导入失败,您导入的数据中有入党日期格式错误,错误数据:" + partyBuildingMemberExcelVO.getJoinTime() + ",错误人名:" + partyBuildingMemberExcelVO.getName());
+                }
+
+                if(StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getEmploymentTime())){
+                    Date employmentTime = DateUtils.toValidDate(partyBuildingMemberExcelVO.getEmploymentTime());
+                    comPbMemberDO.setEmploymentTime(employmentTime);
+                }else{
+                    comPbMemberDO.setEmploymentTime(null);
+                }
+
+                if(StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getJoinTime())){
+                    Date joinTime = DateUtils.toValidDate(partyBuildingMemberExcelVO.getJoinTime());
+                    comPbMemberDO.setJoinTime(joinTime);
+                }else{
+                    comPbMemberDO.setJoinTime(null);
+                }
+
                 comPbMemberDO.setName(partyBuildingMemberExcelVO.getName());
                 comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard());
                 comPbMemberDOS.add(comPbMemberDO);
@@ -182,6 +236,7 @@
             partyBuildingMemberVO.setOrgId(null);
         }
         BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO);
+        comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
         int i = comPbMemberDAO.updateById(comPbMemberDO);
         if (i>0) {
             return R.ok();
@@ -197,7 +252,8 @@
      */
     @Override
     public R listPartyMember(Long communityId) {
-        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getCommunityId,communityId));
+        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+                .eq(ComPbMemberDO::getCommunityId,communityId).eq(ComPbMemberDO::getAuditResult, 1));
 //        查询社区所有已经注册的党员
 //        排除掉已经成为党委的党员
 //        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectListRegister(communityId);
@@ -252,7 +308,7 @@
         comPbMemberRoleDO.setUpdateAt(new Date());
         comPbMemberRoleDO.setPositionTwo(partyCommitteeVO.getPositionTwo());
         comPbMemberRoleDO.setIsReg(2);
-        PartyCommitteeVO oldPartyCommitteeVO = comPbMemberRoleDAO.selectPartyCommitteeById(partyCommitteeVO.getId());        
+        PartyCommitteeVO oldPartyCommitteeVO = comPbMemberRoleDAO.selectPartyCommitteeById(partyCommitteeVO.getId());
         String oldphone = oldPartyCommitteeVO.getPhone();
         SysUserVO sysUserOld = comPbMemberRoleDAO.getSysUserByPhone(oldphone);
         String newphone=partyCommitteeVO.getPhone();
@@ -278,9 +334,20 @@
      */
     @Override
     public R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
+        ComPbMemberRoleDO comPbMemberRoleDO = comPbMemberRoleDAO.selectById(partyCommitteeVO.getId());
+        if(comPbMemberRoleDO==null){
+            return R.fail("记录不存在");
+        }
         int delete = comPbMemberRoleDAO.deleteById(partyCommitteeVO.getId());
         if (delete>0) {
-            return R.ok();
+            SysUserVO sysUserVO = comPbMemberRoleDAO.getSysUserByPhone(comPbMemberRoleDO.getPhone());
+            //删除用户信息缓存
+            if(sysUserVO!=null) {
+                Long userId = sysUserVO.getUserId();
+                String userKey = UserConstants.LOGIN_USER_INFO + userId;
+                stringRedisTemplate.delete(userKey);
+                return R.ok();
+            }
         }
         return R.fail();
     }
@@ -338,6 +405,11 @@
     @Override
     public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
         ComPbDynDO comPbDynDO=new ComPbDynDO();
+        if(partyCommitteeVO.getPublishAt()!=null && partyCommitteeVO.getPublishAt().getTime() >System.currentTimeMillis()){
+            partyCommitteeVO.setStatus(1);
+        }else if(partyCommitteeVO.getPublishAt()!=null && partyCommitteeVO.getPublishAt().getTime() < System.currentTimeMillis()){
+            partyCommitteeVO.setStatus(2);
+        }
         BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
         int insert = comPbDynDAO.updateById(comPbDynDO);
         if (insert>0) {
@@ -454,6 +526,9 @@
         if (delete>0) {
 //            维护用户表党员状态
             comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getIdCard());
+            //删除缓存
+            String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId();
+            stringRedisTemplate.delete(userKey);
             return R.ok();
         }
         return R.fail();
@@ -485,9 +560,56 @@
         }
         page.setSize(pageSize);
         page.setCurrent(pageNum);
-        IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyBuildingMemberVO(page, pagePartyBuildingMemberVO);
+        IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyBuildingMembersVO(page, pagePartyBuildingMemberVO);
 
         return R.ok(iPage);
     }
 
+    @Override
+    public R updatePartyBuildingMembers(PartyBuildingMemberVO partyBuildingMemberVO){
+        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(partyBuildingMemberVO.getId());
+        if(comPbMemberDO == null){
+            return R.fail("未找到党员认证信息");
+        }
+        comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
+        if(partyBuildingMemberVO.getAuditResult()!=null && partyBuildingMemberVO.getAuditResult().equals(3)){
+            comPbMemberDO.setRefuseReason(partyBuildingMemberVO.getRefuseReason());
+        }
+        if(partyBuildingMemberVO.getAuditResult()!=null && partyBuildingMemberVO.getAuditResult().equals(1)){
+            comPbMemberDO.setUpdateAt(new Date());
+        }
+
+        //编辑
+        if(partyBuildingMemberVO.getJoinTime()!=null) {
+            comPbMemberDO.setJoinTime(partyBuildingMemberVO.getJoinTime());
+        }
+        if(partyBuildingMemberVO.getEmploymentTime()!=null) {
+            comPbMemberDO.setEmploymentTime(partyBuildingMemberVO.getEmploymentTime());
+        }
+        if(partyBuildingMemberVO.getIdCard()!=null &&!partyBuildingMemberVO.getIdCard().contains("*")){
+            comPbMemberDO.setIdCard(partyBuildingMemberVO.getIdCard());
+        }
+        if(partyBuildingMemberVO.getName()!=null ){
+            comPbMemberDO.setName(partyBuildingMemberVO.getName());
+        }
+        if(partyBuildingMemberVO.getOrgId()!=null ){
+            comPbMemberDO.setOrgId(partyBuildingMemberVO.getOrgId());
+        }
+        if(partyBuildingMemberVO.getPhotoPath()!=null ){
+            comPbMemberDO.setPhotoPath(partyBuildingMemberVO.getPhotoPath());
+        }
+
+        if (comPbMemberDAO.updateById(comPbMemberDO) > 0) {
+            PartyBuildingMemberVO rtVO = new PartyBuildingMemberVO();
+            BeanUtils.copyProperties(comPbMemberDO, rtVO);
+            return R.ok(rtVO);
+        }
+        return R.fail();
+    }
+
+    @Override
+    public R exportPbMember(PagePartyOrganizationVO organizationVO){
+        return R.ok(comPbMemberDAO.exportPbMember(organizationVO));
+    }
+
 }

--
Gitblit v1.7.1