huanghongfa
2021-06-21 4105f520eaf7e1875a3d314dbaacf78064d07d35
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -14,8 +14,10 @@
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;
@@ -56,8 +58,6 @@
    private ComPbDynDAO comPbDynDAO;
    @Resource
    private ComPbDynUserDAO comPbDynUserDAO;
    @Resource
    private UserService userService;
    private final String REDIS_ORG_ALL="ogrlist";
@@ -103,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);
@@ -142,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);