CeDo
2021-05-07 de91c84954157bb9f8b6d938cbe0b1b51fb6e65d
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -1,16 +1,23 @@
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.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.RichTextUtil;
import com.panzhihua.common.utlis.SensitiveUtil;
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;
@@ -48,7 +55,6 @@
    @Resource
    private ComPbDynUserDAO comPbDynUserDAO;
    private final String REDIS_ORG_ALL="ogrlist";
    /**
@@ -60,8 +66,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();
@@ -71,6 +78,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();
@@ -94,13 +108,14 @@
               partyOrganizationVOS= JSONArray.parseArray(orgs,PartyOrganizationVO.class);
            }
        } else {
            List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(null);
            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;
@@ -120,7 +135,9 @@
                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());
                }
                comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime());
                comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime());
@@ -129,11 +146,7 @@
                comPbMemberDOS.add(comPbMemberDO);
            });
        }
        try {
            this.saveBatch(comPbMemberDOS);
        } catch (Exception e) {
            throw new PartyBuildingMemberException("导入失败,存入数据库错误");
        }
        this.saveBatch(comPbMemberDOS);
        return R.ok();
    }
@@ -157,6 +170,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);
    }
@@ -174,6 +190,7 @@
            partyBuildingMemberVO.setOrgId(null);
        }
        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO);
        comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
        int i = comPbMemberDAO.updateById(comPbMemberDO);
        if (i>0) {
            return R.ok();
@@ -189,12 +206,14 @@
     */
    @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);
        if (ObjectUtils.isEmpty(comPbMemberDOS)) {
           return R.ok(new ArrayList<>());
        }
//        排除掉已经成为党委的党员
//        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();
@@ -212,18 +231,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();
@@ -240,10 +256,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();
@@ -286,6 +315,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);
    }
@@ -300,7 +332,6 @@
        ComPbDynDO comPbDynDO=new ComPbDynDO();
        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
        comPbDynDO.setCreateAt(new Date());
        comPbDynDO.setStatus(1);
        int insert = comPbDynDAO.insert(comPbDynDO);
        if (insert>0) {
            return R.ok();
@@ -332,24 +363,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);
    }
    /**
@@ -372,6 +402,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);
    }
@@ -398,13 +438,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();
    }
    /**
@@ -414,9 +454,16 @@
     * @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());
            return R.ok();
        }
        return R.fail();
@@ -434,5 +481,46 @@
        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(1)){
            comPbMemberDO.setUpdateAt(new Date());
        }
        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));
    }
}