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 |  334 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 264 insertions(+), 70 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 4c0b66a..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
@@ -1,16 +1,28 @@
 package com.panzhihua.service_dangjian.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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;
+
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.data.redis.core.ValueOperations;
@@ -31,6 +43,7 @@
  * @author: huang.hongfa weixin hhf9596 qq 959656820
  * @create: 2020-11-30 10:53
  **/
+@Slf4j
 @Service
 public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO,ComPbMemberDO> implements ComPbMemberService {
     @Resource
@@ -46,7 +59,6 @@
     @Resource
     private ComPbDynUserDAO comPbDynUserDAO;
 
-
     private final String REDIS_ORG_ALL="ogrlist";
 
     /**
@@ -58,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();
@@ -69,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();
@@ -83,32 +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(null);
-            if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
-                List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
-                comPbOrgDOS.forEach(comPbOrgDO -> {
-                    PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
-                    partyOrganizationVO.setId(comPbOrgDO.getId());
-                    partyOrganizationVO.setName(comPbOrgDO.getName());
-                    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);
@@ -118,20 +152,47 @@
                 if (ObjectUtils.isEmpty(collect)) {
                     throw new PartyBuildingMemberException("导入失败,组织不存在"+partyBuildingMemberExcelVO.getOrgName());
                 }else{
-                    comPbMemberDO.setOrgId(collect.get(0).getId());
+                    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);
             });
         }
-        try {
-            this.saveBatch(comPbMemberDOS);
-        } catch (Exception e) {
-            throw new PartyBuildingMemberException("导入失败,存入数据库错误");
-        }
+        this.saveBatch(comPbMemberDOS);
         return R.ok();
     }
 
@@ -155,6 +216,9 @@
         page.setSize(pageSize);
         page.setCurrent(pageNum);
         IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO);
+        iPage.getRecords().forEach(record->{
+            record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
+        });
         return R.ok(iPage);
     }
 
@@ -172,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();
@@ -187,10 +252,14 @@
      */
     @Override
     public R listPartyMember(Long communityId) {
-        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(null);
-        if (ObjectUtils.isEmpty(comPbMemberDOS)) {
-           return R.ok();
-        }
+        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda()
+                .eq(ComPbMemberDO::getCommunityId,communityId).eq(ComPbMemberDO::getAuditResult, 1));
+//        查询社区所有已经注册的党员
+//        排除掉已经成为党委的党员
+//        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectListRegister(communityId);
+//        if (ObjectUtils.isEmpty(comPbMemberDOS)) {
+//           return R.ok(new ArrayList<>());
+//        }
         List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
         comPbMemberDOS.forEach(comPbMemberDO -> {
             PartyBuildingMemberVO partyBuildingMemberVO=new PartyBuildingMemberVO();
@@ -208,18 +277,15 @@
      */
     @Override
     public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) {
-        Long partyMemberId = partyCommitteeVO.getPartyMemberId();
-        if (null==partyMemberId||0==partyMemberId) {
-            return R.fail("党员id不能为空");
-        }
-        ComPbMemberRoleDO comPbMemberRoleDO1 = comPbMemberRoleDAO.selectOne(new QueryWrapper<ComPbMemberRoleDO>().lambda().eq(ComPbMemberRoleDO::getMemberId, partyMemberId));
-        if (!ObjectUtils.isEmpty(comPbMemberRoleDO1)) {
-            return R.fail("党员身份已经存在");
-        }
         ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
-        comPbMemberRoleDO.setCommunityId(partyCommitteeVO.getCommunityId());
-        comPbMemberRoleDO.setMemberId(partyMemberId);
-        comPbMemberRoleDO.setRoleId(partyCommitteeVO.getRoleId());
+        BeanUtils.copyProperties(partyCommitteeVO,comPbMemberRoleDO);
+        comPbMemberRoleDO.setCreateAt(new Date());
+        comPbMemberRoleDO.setUpdateAt(new Date());
+        comPbMemberRoleDO.setIsReg(2);
+        SysUserVO sysUser = comPbMemberRoleDAO.getSysUserByPhone(partyCommitteeVO.getPhone());
+        if(!ObjectUtils.isEmpty(sysUser)) {
+        	comPbMemberRoleDO.setIsReg(1);
+        }
         int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO);
         if (insert>0) {
             return R.ok();
@@ -236,10 +302,23 @@
     @Override
     public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
         ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
-        comPbMemberRoleDO.setCommunityId(partyCommitteeVO.getCommunityId());
-        comPbMemberRoleDO.setMemberId(partyCommitteeVO.getPartyMemberId());
-        comPbMemberRoleDO.setRoleId(partyCommitteeVO.getRoleId());
-        comPbMemberRoleDO.setId(partyCommitteeVO.getId());
+        BeanUtils.copyProperties(partyCommitteeVO,comPbMemberRoleDO);
+        ComPbMemberRoleDO comPbMemberRoleDOOld = comPbMemberRoleDAO.selectById(partyCommitteeVO.getId());
+        comPbMemberRoleDO.setCreateAt(comPbMemberRoleDOOld.getCreateAt());
+        comPbMemberRoleDO.setUpdateAt(new Date());
+        comPbMemberRoleDO.setPositionTwo(partyCommitteeVO.getPositionTwo());
+        comPbMemberRoleDO.setIsReg(2);
+        PartyCommitteeVO oldPartyCommitteeVO = comPbMemberRoleDAO.selectPartyCommitteeById(partyCommitteeVO.getId());
+        String oldphone = oldPartyCommitteeVO.getPhone();
+        SysUserVO sysUserOld = comPbMemberRoleDAO.getSysUserByPhone(oldphone);
+        String newphone=partyCommitteeVO.getPhone();
+        SysUserVO sysUserNew = comPbMemberRoleDAO.getSysUserByPhone(newphone);
+        if(!ObjectUtils.isEmpty(sysUserOld)||!ObjectUtils.isEmpty(sysUserNew)) {
+        	comPbMemberRoleDO.setIsReg(1);
+        }
+        if(!newphone.equals(oldphone)) {
+        	comPbMemberRoleDAO.updateUserPhone(newphone, oldphone);
+        }
         int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO);
         if (update>0) {
             return R.ok();
@@ -255,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();
     }
@@ -282,6 +372,9 @@
         page.setSize(pageSize);
         page.setCurrent(pageNum);
         IPage<PartyCommitteeVO> iPage=comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO);
+        iPage.getRecords().forEach(record->{
+            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
+        });
         return R.ok(iPage);
     }
 
@@ -312,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) {
@@ -327,22 +425,23 @@
      * @return 详情
      */
     @Override
-    public R infoYnamic(Integer id) {
-        ComPbDynDO comPbDynDO = comPbDynDAO.selectById(id);
-        if (ObjectUtils.isEmpty(comPbDynDO)) {
+    public R infoYnamic(Long id) {
+        PartyBuildingComPbDynVO comPbDynVO = comPbDynDAO.selectVoById(id);
+        if (ObjectUtils.isEmpty(comPbDynVO)) {
             return R.fail("动态不存在");
         }
-        PartyBuildingComPbDynVO partyBuildingComPbDynVO=new PartyBuildingComPbDynVO();
-        Long createBy = comPbDynDO.getCreateBy();
-        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
-        if (ObjectUtils.isEmpty(comPbMemberDO)) {
-            return R.fail("发布人不存在");
+//        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
+        //String name = comPbMemberDAO.selectNameByUserId(createBy);
+
+        if (ObjectUtils.isEmpty(comPbDynVO.getCreateByName())) {
+//            return R.fail("发布人不存在");
+            String name = comPbMemberDAO.selectNameByUserId(comPbDynVO.getCreateBy());
+            name="后台发布";
+            comPbDynVO.setCreateByName(name);
         }
-        Integer integer = comPbDynUserDAO.selectCount(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
-        BeanUtils.copyProperties(comPbDynDO,partyBuildingComPbDynVO);
-        partyBuildingComPbDynVO.setCreateByName(comPbMemberDO.getName());
-        partyBuildingComPbDynVO.setReadingVolume(null==integer?0:integer);
-        return R.ok(partyBuildingComPbDynVO);
+        //Integer integer = comPbDynUserDAO.selectCount(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
+        comPbDynVO.setReadingVolume(null==comPbDynVO.getReadingVolume()?0:comPbDynVO.getReadingVolume());
+        return R.ok(comPbDynVO);
     }
 
     /**
@@ -365,6 +464,16 @@
         page.setSize(pageSize);
         page.setCurrent(pageNum);
         IPage<PartyBuildingComPbDynVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
+        List<PartyBuildingComPbDynVO> records = iPage.getRecords();
+        if (!(ObjectUtils.isEmpty(records))) {
+            records.forEach(partyBuildingComPbDynVO1 -> {
+                String content = partyBuildingComPbDynVO1.getContent();
+                if (!ObjectUtils.isEmpty(content)) {
+                    String text = RichTextUtil.getText(content);
+                    partyBuildingComPbDynVO1.setContentText(text);
+                }
+            });
+        }
         return R.ok(iPage);
     }
 
@@ -391,13 +500,13 @@
      */
     @Override
     public R addDynUser(ComPbDynUserVO comPbDynUserVO) {
-        ComPbDynUserDO comPbDynUserDO = comPbDynUserDAO.selectOne(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId,comPbDynUserVO.getDynId()).eq(ComPbDynUserDO::getUserId,comPbDynUserVO.getUserId()));
-        if (ObjectUtils.isEmpty(comPbDynUserDO)) {
-            comPbDynUserDO=new ComPbDynUserDO();
-            BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO);
-            comPbDynUserDAO.insert(comPbDynUserDO);
+        ComPbDynUserDO comPbDynUserDO=new ComPbDynUserDO();
+        BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO);
+        int insert = comPbDynUserDAO.insert(comPbDynUserDO);
+        if (insert>0) {
+            return R.ok();
         }
-        return R.ok();
+        return R.fail();
     }
 
     /**
@@ -407,15 +516,100 @@
      * @return 删除结果
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public R deleteDynUser(Integer id) {
+        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(id);
+        if (ObjectUtils.isEmpty(comPbMemberDO)) {
+            return R.fail("党员不存在");
+        }
         int delete = comPbMemberDAO.deleteById(id);
         if (delete>0) {
+//            维护用户表党员状态
+            comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getIdCard());
+            //删除缓存
+            String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId();
+            stringRedisTemplate.delete(userKey);
             return R.ok();
         }
         return R.fail();
     }
 
+    /**
+     * 定时任务刷新党建动态发布状态
+     *
+     * @return 刷新数据数量
+     */
+    @Override
+    public R timedTaskPartyBuildingStatus() {
+        int num=comPbDynDAO.timedTaskPartyBuildingStatus();
+        log.info("定时任务更新党建动态发布状态数量【{}】",num);
+        return R.ok(num);
+    }
 
+    @Override
+    public R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO) {
 
+        Page page=new Page<>();
+        Long pageNum = pagePartyBuildingMemberVO.getPageNum();
+        Long pageSize = pagePartyBuildingMemberVO.getPageSize();
+        if (null==pageNum||0==pageNum) {
+            pageNum=1l;
+        }
+        if (null==pageSize||0==pageSize) {
+            pageSize=10l;
+        }
+        page.setSize(pageSize);
+        page.setCurrent(pageNum);
+        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