huanghongfa
2021-06-21 4105f520eaf7e1875a3d314dbaacf78064d07d35
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -6,12 +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;
@@ -53,7 +59,6 @@
    @Resource
    private ComPbDynUserDAO comPbDynUserDAO;
    private final String REDIS_ORG_ALL="ogrlist";
    /**
@@ -65,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();
@@ -76,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();
@@ -90,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);
@@ -129,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);
@@ -181,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();
@@ -196,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);
@@ -249,8 +306,9 @@
        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();
@@ -276,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();
    }
@@ -336,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) {
@@ -351,24 +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);
        String name = comPbMemberDAO.selectNameByUserId(createBy);
        if (ObjectUtils.isEmpty(name)) {
        //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(name);
        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);
    }
    /**
@@ -427,15 +500,11 @@
     */
    @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);
            int insert = comPbDynUserDAO.insert(comPbDynUserDO);
            if (insert>0) {
                return R.ok();
            }
            return R.fail();
        ComPbDynUserDO comPbDynUserDO=new ComPbDynUserDO();
        BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO);
        int insert = comPbDynUserDAO.insert(comPbDynUserDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
@@ -457,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();
@@ -474,4 +546,70 @@
        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));
    }
}