101captain
2022-04-26 be376c014e4c097d0d00e498e4aa4f100628a7b6
花城E+防疫修改
5个文件已修改
80 ■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberExcelVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbCheckUnitMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberExcelVO.java
@@ -2,6 +2,7 @@
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@@ -27,4 +28,7 @@
    @ExcelProperty(value = "联系电话",index = 1)
    private String phone;
    @ExcelIgnore
    private Long communityId;
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java
@@ -271,7 +271,7 @@
        try {
            inputStream = file.getInputStream();
            EasyExcel.read(inputStream, PartyBuildingMemberExcelVO.class,
                new PartyBuildingMemberExcelListen(partyBuildingService)).sheet().doRead();
                new PartyBuildingMemberExcelListen(partyBuildingService,this.getCommunityId())).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
            log.error("导入模板失败【{}】", e.getMessage());
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java
@@ -24,14 +24,17 @@
    private static final int BATCH_COUNT = 5000;
    private PartyBuildingService partyBuildingService;
    private Long communityId;
    private List<PartyBuildingMemberExcelVO> list = new ArrayList<>();
    public PartyBuildingMemberExcelListen(PartyBuildingService partyBuildingService) {
    public PartyBuildingMemberExcelListen(PartyBuildingService partyBuildingService,Long communityId) {
        this.partyBuildingService = partyBuildingService;
        this.communityId=communityId;
    }
    @Override
    public void invoke(PartyBuildingMemberExcelVO partyBuildingMemberExcelVO, AnalysisContext analysisContext) {
        partyBuildingMemberExcelVO.setCommunityId(communityId);
        list.add(partyBuildingMemberExcelVO);
        // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
        if (list.size() >= BATCH_COUNT) {
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -148,66 +148,16 @@
        // }
        // 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;
            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());
                if (ObjectUtils.isEmpty(collect)) {
                    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::getPhone, partyBuildingMemberExcelVO.getPhone())
                        .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.setName(partyBuildingMemberExcelVO.getName());
                comPbMemberDO.setPhone(partyBuildingMemberExcelVO.getPhone());
                comPbMemberDOS.add(comPbMemberDO);
            }
        }
        comPbMemberDOS.forEach(comPbMemberDO -> {
        list.forEach(partyBuildingMemberExcelVO -> {
            ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
            BeanUtils.copyProperties(partyBuildingMemberExcelVO,comPbMemberDO);
            boolean flag=this.save(comPbMemberDO);
            if(flag){
                //修改党员状态
                userService.updateUserIsPartymemberByPhone(comPbMemberDO.getPhone());
            }
        });
                }
        );
        return R.ok();
    }
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/mapper/ComPbCheckUnitMapper.xml
@@ -41,8 +41,13 @@
                and cpcu.community_id = #{dto.communityId}
            </if>
            <if test="dto.keyWord != null and dto.keyWord != ''">
                and (cpcu.`name` like concat(#{dto.keyWord},'%') or
                cpcu.`contacts` like concat(#{dto.keyWord},'%') or cpcu.phone like concat(#{dto.keyWord},'%'))
                and cpcu.org_name like concat(#{dto.keyWord},'%')
            </if>
            <if test="dto.name != null and dto.name != ''">
                and cpcu.`name` like concat(#{dto.name},'%')
            </if>
            <if test="dto.contacts != null and dto.contacts != ''">
                and cpcu.`contacts` like concat(#{dto.name},'%')
            </if>
        </where>
        order by cpcu.create_at desc