From c3811d01d1929a98a0f34f70ca187d82ee312dbb Mon Sep 17 00:00:00 2001
From: manailin <261030956@qq.com>
Date: 星期三, 03 十一月 2021 17:26:50 +0800
Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java |  451 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 300 insertions(+), 151 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..6828a26 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,37 +1,37 @@
 package com.panzhihua.service_dangjian.service.impl;
 
-import com.alibaba.fastjson.JSONArray;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+
 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.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;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
 
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -41,7 +41,8 @@
  **/
 @Slf4j
 @Service
-public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO,ComPbMemberDO> implements ComPbMemberService {
+public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO, ComPbMemberDO> implements ComPbMemberService {
+    private final String REDIS_ORG_ALL = "ogrlist";
     @Resource
     private ComPbMemberDAO comPbMemberDAO;
     @Resource
@@ -55,28 +56,34 @@
     @Resource
     private ComPbDynUserDAO comPbDynUserDAO;
 
-    private final String REDIS_ORG_ALL="ogrlist";
-
     /**
      * 新增党员
      *
-     * @param partyBuildingMemberVO 党员基本信息
+     * @param partyBuildingMemberVO
+     *            党员基本信息
      * @return 新增结果
      */
     @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)) {
-           return R.fail("身份证已经存在");
+        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();
-        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO1);
-        Date date=new Date();
+        ComPbMemberDO comPbMemberDO1 = new ComPbMemberDO();
+        BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO1);
+        Date date = new Date();
         comPbMemberDO1.setCreateAt(date);
         comPbMemberDO1.setUpdateAt(date);
         int insert = comPbMemberDAO.insert(comPbMemberDO1);
-        if (insert>0) {
+        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();
@@ -85,58 +92,115 @@
     /**
      * 批量新增党员
      *
-     * @param list 党员集合
+     * @param list
+     *            党员集合
      * @return 新增结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) {
-        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);
+        // 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);
+        // }
+        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<>();
+        List<ComPbMemberDO> comPbMemberDOS = new ArrayList<>();
         if (!ObjectUtils.isEmpty(list)) {
-            List<PartyOrganizationVO> partyOrganizationVOArrayList=partyOrganizationVOS;
-            list.forEach(partyBuildingMemberExcelVO -> {
-                ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
-                Date date=new Date();
+            List<PartyOrganizationVO> partyOrganizationVOArrayList = partyOrganizationVOS;
+            for (PartyBuildingMemberExcelVO partyBuildingMemberExcelVO : list) {
+                ComPbMemberDO comPbMemberDO = new ComPbMemberDO();
+                Date date = new Date();
                 comPbMemberDO.setUpdateAt(date);
                 comPbMemberDO.setCreateAt(date);
                 String orgName = partyBuildingMemberExcelVO.getOrgName();
-                List<PartyOrganizationVO> collect = partyOrganizationVOArrayList.stream().filter(partyOrganizationVO -> orgName.equals(partyOrganizationVO.getName())).collect(Collectors.toList());
+                List<PartyOrganizationVO> collect = partyOrganizationVOArrayList.stream()
+                    .filter(partyOrganizationVO -> orgName.equals(partyOrganizationVO.getName()))
+                    .collect(Collectors.toList());
                 if (ObjectUtils.isEmpty(collect)) {
-                    throw new PartyBuildingMemberException("导入失败,组织不存在"+partyBuildingMemberExcelVO.getOrgName());
-                }else{
+                    throw new PartyBuildingMemberException(
+                        "导入失败,组织不存在" + partyBuildingMemberExcelVO.getOrgName() + ",请先在“党支部管理”中添加该党支部");
+                } else {
                     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()) {
+                        comPbMemberDOList.forEach(comPbMember -> {
+                            BeanUtils.copyProperties(partyBuildingMemberExcelVO, comPbMember);
+                            this.baseMapper.updateById(comPbMember);
+                        });
+                        continue;
+                        // 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);
-            });
+            }
         }
         this.saveBatch(comPbMemberDOS);
         return R.ok();
@@ -145,24 +209,25 @@
     /**
      * 分页党员
      *
-     * @param pagePartyOrganizationVO 查询信息
+     * @param pagePartyOrganizationVO
+     *            查询信息
      * @return 分页数据
      */
     @Override
     public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) {
-        Page page=new Page<>();
+        Page page = new Page<>();
         Long pageNum = pagePartyOrganizationVO.getPageNum();
         Long pageSize = pagePartyOrganizationVO.getPageSize();
-        if (null==pageNum||0==pageNum) {
-            pageNum=1l;
+        if (null == pageNum || 0 == pageNum) {
+            pageNum = 1l;
         }
-        if (null==pageSize||0==pageSize) {
-            pageSize=10l;
+        if (null == pageSize || 0 == pageSize) {
+            pageSize = 10l;
         }
         page.setSize(pageSize);
         page.setCurrent(pageNum);
-        IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO);
-        iPage.getRecords().forEach(record->{
+        IPage<PartyBuildingMemberVO> iPage = comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO);
+        iPage.getRecords().forEach(record -> {
             record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
         });
         return R.ok(iPage);
@@ -171,19 +236,21 @@
     /**
      * 编辑党员信息 新增字段均可编辑
      *
-     * @param partyBuildingMemberVO 编辑字段
+     * @param partyBuildingMemberVO
+     *            编辑字段
      * @return 编辑结果
      */
     @Override
     public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
-        ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
+        ComPbMemberDO comPbMemberDO = new ComPbMemberDO();
         Long orgId = partyBuildingMemberVO.getOrgId();
-        if (null!=orgId&&0==orgId) {
+        if (null != orgId && 0 == orgId) {
             partyBuildingMemberVO.setOrgId(null);
         }
-        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO);
+        BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO);
+        comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
         int i = comPbMemberDAO.updateById(comPbMemberDO);
-        if (i>0) {
+        if (i > 0) {
             return R.ok();
         }
         return R.fail();
@@ -192,22 +259,24 @@
     /**
      * 查询指定社区的所有党员
      *
-     * @param communityId 社区id
+     * @param communityId
+     *            社区id
      * @return 党员列表
      */
     @Override
     public R listPartyMember(Long communityId) {
-        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getCommunityId,communityId));
-//        查询社区所有已经注册的党员
-//        排除掉已经成为党委的党员
-//        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectListRegister(communityId);
-//        if (ObjectUtils.isEmpty(comPbMemberDOS)) {
-//           return R.ok(new ArrayList<>());
-//        }
-        List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
+        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();
-            BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO);
+            PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO();
+            BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO);
             partyBuildingMemberVOS.add(partyBuildingMemberVO);
         });
         return R.ok(partyBuildingMemberVOS);
@@ -216,22 +285,23 @@
     /**
      * 新增党委
      *
-     * @param partyCommitteeVO 新增信息
+     * @param partyCommitteeVO
+     *            新增信息
      * @return 新增结果
      */
     @Override
     public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) {
-        ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
-        BeanUtils.copyProperties(partyCommitteeVO,comPbMemberRoleDO);
+        ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO();
+        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);
+        if (!ObjectUtils.isEmpty(sysUser)) {
+            comPbMemberRoleDO.setIsReg(1);
         }
         int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO);
-        if (insert>0) {
+        if (insert > 0) {
             return R.ok();
         }
         return R.fail();
@@ -240,31 +310,32 @@
     /**
      * 编辑党委
      *
-     * @param partyCommitteeVO 编辑信息
+     * @param partyCommitteeVO
+     *            编辑信息
      * @return 编辑结果
      */
     @Override
     public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
-        ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
-        BeanUtils.copyProperties(partyCommitteeVO,comPbMemberRoleDO);
+        ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO();
+        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());        
+        PartyCommitteeVO oldPartyCommitteeVO = comPbMemberRoleDAO.selectPartyCommitteeById(partyCommitteeVO.getId());
         String oldphone = oldPartyCommitteeVO.getPhone();
         SysUserVO sysUserOld = comPbMemberRoleDAO.getSysUserByPhone(oldphone);
-        String newphone=partyCommitteeVO.getPhone();
+        String newphone = partyCommitteeVO.getPhone();
         SysUserVO sysUserNew = comPbMemberRoleDAO.getSysUserByPhone(newphone);
-        if(!ObjectUtils.isEmpty(sysUserOld)||!ObjectUtils.isEmpty(sysUserNew)) {
-        	comPbMemberRoleDO.setIsReg(1);
+        if (!ObjectUtils.isEmpty(sysUserOld) || !ObjectUtils.isEmpty(sysUserNew)) {
+            comPbMemberRoleDO.setIsReg(1);
         }
-        if(!newphone.equals(oldphone)) {
-        	comPbMemberRoleDAO.updateUserPhone(newphone, oldphone);
+        if (!newphone.equals(oldphone)) {
+            comPbMemberRoleDAO.updateUserPhone(newphone, oldphone);
         }
         int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO);
-        if (update>0) {
+        if (update > 0) {
             return R.ok();
         }
         return R.fail();
@@ -273,14 +344,26 @@
     /**
      * 删除党委
      *
-     * @param partyCommitteeVO 删除id
+     * @param partyCommitteeVO
+     *            删除id
      * @return 删除结果
      */
     @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();
+        if (delete > 0) {
+            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();
     }
@@ -288,24 +371,25 @@
     /**
      * 分页社区党委查询
      *
-     * @param partyCommitteeVO 查询参数
+     * @param partyCommitteeVO
+     *            查询参数
      * @return 分页集合
      */
     @Override
     public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
-        Page page=new Page<>();
+        Page page = new Page<>();
         Long pageNum = partyCommitteeVO.getPageNum();
         Long pageSize = partyCommitteeVO.getPageSize();
-        if (null==pageNum||0==pageNum) {
-            pageNum=1l;
+        if (null == pageNum || 0 == pageNum) {
+            pageNum = 1l;
         }
-        if (null==pageSize||0==pageSize) {
-            pageSize=10l;
+        if (null == pageSize || 0 == pageSize) {
+            pageSize = 10l;
         }
         page.setSize(pageSize);
         page.setCurrent(pageNum);
-        IPage<PartyCommitteeVO> iPage=comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO);
-        iPage.getRecords().forEach(record->{
+        IPage<PartyCommitteeVO> iPage = comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO);
+        iPage.getRecords().forEach(record -> {
             record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
         });
         return R.ok(iPage);
@@ -314,16 +398,17 @@
     /**
      * 新建党建动态
      *
-     * @param partyCommitteeVO 动态内容
+     * @param partyCommitteeVO
+     *            动态内容
      * @return 新增结果
      */
     @Override
     public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
-        ComPbDynDO comPbDynDO=new ComPbDynDO();
-        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
+        ComPbDynDO comPbDynDO = new ComPbDynDO();
+        BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO);
         comPbDynDO.setCreateAt(new Date());
         int insert = comPbDynDAO.insert(comPbDynDO);
-        if (insert>0) {
+        if (insert > 0) {
             return R.ok();
         }
         return R.fail();
@@ -332,15 +417,23 @@
     /**
      * 编辑动态
      *
-     * @param partyCommitteeVO 编辑内容
+     * @param partyCommitteeVO
+     *            编辑内容
      * @return 编辑结果
      */
     @Override
     public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
-        ComPbDynDO comPbDynDO=new ComPbDynDO();
-        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
+        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) {
+        if (insert > 0) {
             return R.ok();
         }
         return R.fail();
@@ -349,7 +442,8 @@
     /**
      * 动态详情
      *
-     * @param id 动态主键
+     * @param id
+     *            动态主键
      * @return 详情
      */
     @Override
@@ -358,40 +452,42 @@
         if (ObjectUtils.isEmpty(comPbDynVO)) {
             return R.fail("动态不存在");
         }
-//        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
-        //String name = comPbMemberDAO.selectNameByUserId(createBy);
+        // ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
+        // String name = comPbMemberDAO.selectNameByUserId(createBy);
 
         if (ObjectUtils.isEmpty(comPbDynVO.getCreateByName())) {
-//            return R.fail("发布人不存在");
+            // return R.fail("发布人不存在");
             String name = comPbMemberDAO.selectNameByUserId(comPbDynVO.getCreateBy());
-            name="后台发布";
+            name = "后台发布";
             comPbDynVO.setCreateByName(name);
         }
-        //Integer integer = comPbDynUserDAO.selectCount(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
-        comPbDynVO.setReadingVolume(null==comPbDynVO.getReadingVolume()?0:comPbDynVO.getReadingVolume());
+        // Integer integer = comPbDynUserDAO.selectCount(new
+        // QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
+        comPbDynVO.setReadingVolume(null == comPbDynVO.getReadingVolume() ? 0 : comPbDynVO.getReadingVolume());
         return R.ok(comPbDynVO);
     }
 
     /**
      * 分页查询党员动态
      *
-     * @param partyBuildingComPbDynVO 查询参数
+     * @param partyBuildingComPbDynVO
+     *            查询参数
      * @return 分页数据
      */
     @Override
     public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
-        Page page=new Page<>();
+        Page page = new Page<>();
         Long pageNum = partyBuildingComPbDynVO.getPageNum();
         Long pageSize = partyBuildingComPbDynVO.getPageSize();
-        if (null==pageNum) {
-            pageNum=1l;
+        if (null == pageNum) {
+            pageNum = 1l;
         }
-        if (null==pageSize) {
-            pageSize=10l;
+        if (null == pageSize) {
+            pageSize = 10l;
         }
         page.setSize(pageSize);
         page.setCurrent(pageNum);
-        IPage<PartyBuildingComPbDynVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
+        IPage<PartyBuildingComPbDynVO> iPage = comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
         List<PartyBuildingComPbDynVO> records = iPage.getRecords();
         if (!(ObjectUtils.isEmpty(records))) {
             records.forEach(partyBuildingComPbDynVO1 -> {
@@ -408,13 +504,14 @@
     /**
      * 删除动态
      *
-     * @param id 动态主键
+     * @param id
+     *            动态主键
      * @return 删除结果
      */
     @Override
     public R deleteYnamic(Integer id) {
         int delete = comPbDynDAO.deleteById(id);
-        if (delete>0) {
+        if (delete > 0) {
             return R.ok();
         }
         return R.fail();
@@ -423,15 +520,16 @@
     /**
      * 增加阅读记录
      *
-     * @param comPbDynUserVO 阅读记录
+     * @param comPbDynUserVO
+     *            阅读记录
      * @return 增加结果
      */
     @Override
     public R addDynUser(ComPbDynUserVO comPbDynUserVO) {
-        ComPbDynUserDO comPbDynUserDO=new ComPbDynUserDO();
-        BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO);
+        ComPbDynUserDO comPbDynUserDO = new ComPbDynUserDO();
+        BeanUtils.copyProperties(comPbDynUserVO, comPbDynUserDO);
         int insert = comPbDynUserDAO.insert(comPbDynUserDO);
-        if (insert>0) {
+        if (insert > 0) {
             return R.ok();
         }
         return R.fail();
@@ -440,7 +538,8 @@
     /**
      * 删除党员
      *
-     * @param id 党员主键
+     * @param id
+     *            党员主键
      * @return 删除结果
      */
     @Override
@@ -451,9 +550,12 @@
             return R.fail("党员不存在");
         }
         int delete = comPbMemberDAO.deleteById(id);
-        if (delete>0) {
-//            维护用户表党员状态
+        if (delete > 0) {
+            // 维护用户表党员状态
             comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getIdCard());
+            // 删除缓存
+            String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId();
+            stringRedisTemplate.delete(userKey);
             return R.ok();
         }
         return R.fail();
@@ -466,28 +568,75 @@
      */
     @Override
     public R timedTaskPartyBuildingStatus() {
-        int num=comPbDynDAO.timedTaskPartyBuildingStatus();
-        log.info("定时任务更新党建动态发布状态数量【{}】",num);
+        int num = comPbDynDAO.timedTaskPartyBuildingStatus();
+        log.info("定时任务更新党建动态发布状态数量【{}】", num);
         return R.ok(num);
     }
 
     @Override
     public R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO) {
 
-        Page page=new Page<>();
+        Page page = new Page<>();
         Long pageNum = pagePartyBuildingMemberVO.getPageNum();
         Long pageSize = pagePartyBuildingMemberVO.getPageSize();
-        if (null==pageNum||0==pageNum) {
-            pageNum=1l;
+        if (null == pageNum || 0 == pageNum) {
+            pageNum = 1l;
         }
-        if (null==pageSize||0==pageSize) {
-            pageSize=10l;
+        if (null == pageSize || 0 == pageSize) {
+            pageSize = 10l;
         }
         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