luoxinwu
2024-03-05 c88d1658a2b6b51ed1a81c3be3e9102b661970f3
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -1,48 +1,51 @@
package com.panzhihua.service_dangjian.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdcardUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.model.dtos.community.PageMemberForInviteDTO;
import com.panzhihua.common.model.dtos.partybuilding.ComDataStatisticsOrgDto;
import com.panzhihua.common.model.dtos.partybuilding.PageComDataStatisticsMemberDto;
import com.panzhihua.common.model.vos.partybuilding.excel.ComDataStatisticsMemberExcelVo;
import com.panzhihua.common.model.vos.partybuilding.excel.ComPbMemberRoleExcelVo;
import com.panzhihua.common.service.community.CommunityService;
import com.panzhihua.common.service.user.UserService;
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.CollectionUtils;
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.dtos.community.PageMemberForInviteDTO;
import com.panzhihua.common.model.dtos.partybuilding.ComDataStatisticsOrgDto;
import com.panzhihua.common.model.dtos.partybuilding.NewFightResourceSharingDTO;
import com.panzhihua.common.model.dtos.partybuilding.PageComDataStatisticsMemberDto;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import com.panzhihua.common.model.vos.partybuilding.excel.ComDataStatisticsMemberExcelVo;
import com.panzhihua.common.model.vos.partybuilding.excel.ComPbMemberRoleExcelVo;
import com.panzhihua.common.model.vos.user.SysUserVO;
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.entity.ComActProject;
import com.panzhihua.service_dangjian.model.dos.ComPbDynDO;
import com.panzhihua.service_dangjian.model.dos.ComPbDynUserDO;
import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
import com.panzhihua.service_dangjian.model.dos.ComPbOrgDO;
import com.panzhihua.service_dangjian.service.ComPbMemberService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import static java.util.Objects.nonNull;
@@ -69,9 +72,11 @@
    @Resource
    private ComPbDynUserDAO comPbDynUserDAO;
    @Resource
    private CommunityService communityService;
    @Resource
    private UserService userService;
    @Autowired
    private ComActProjectMapper comActProjectMapper;
    @Autowired
    private NewFightResourceSharingDAO newFightResourceSharingDAO;
    /**
     * 新增党员
@@ -206,17 +211,14 @@
    public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) {
        Long communityId = pagePartyOrganizationVO.getCommunityId();
        R r = communityService.selectCommunityIds(communityId);
        List<Long> communityIds = null;
        if(R.isOk(r)){
            communityIds = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), Long.class);
        if (null != communityId){
            List<Long> communityIds = comPbMemberDAO.selectIds(communityId);
            if (CollUtil.isEmpty(communityIds)) {
                communityIds = new ArrayList<>();
                communityIds.add(communityId);
            }
        }else {
            communityIds = new ArrayList<>();
            communityIds.add(communityId);
            pagePartyOrganizationVO.setCommunityIds(communityIds);
        }
        Page page = new Page<>();
@@ -307,7 +309,22 @@
    @Override
    public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
        return null;
        Page page = new Page<>();
        Long pageNum = partyCommitteeVO.getPageNum();
        Long pageSize = partyCommitteeVO.getPageSize();
        if (null == pageNum || 0 == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize || 0 == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PartyCommitteeVO> iPage = comPbMemberRoleDAO.pagePartyOrganizations(page, partyCommitteeVO);
        iPage.getRecords().forEach(record -> {
            record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone()));
        });
        return R.ok(iPage);
    }
//    /**
@@ -515,8 +532,31 @@
    }
    @Override
    public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
        return null;
    public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO)
    {
        Page page = new Page<>();
        Long pageNum = partyBuildingComPbDynVO.getPageNum();
        Long pageSize = partyBuildingComPbDynVO.getPageSize();
        if (null == pageNum) {
            pageNum = 1l;
        }
        if (null == pageSize) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PartyBuildingComPbDynVO> iPage = comPbDynDAO.pageYnamics(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);
    }
    @Override
@@ -854,7 +894,7 @@
        }
        //查询左下数据
        statisticsVo = comPbMemberDAO.getOrgDataStatisticsLeftDown(communityId,orgIds,startTime,endTime);
        statisticsVo = comPbMemberDAO.getOrgDataStatisticsLeftDown(communityId,orgIds,startTime,endTime,"");
        if(statisticsVo != null){
            statisticsOrgVo.setParticipateVolunteerActivityDuration(statisticsVo.getParticipateVolunteerActivityDuration());
            statisticsOrgVo.setParticipateVolunteerActivityNum(statisticsVo.getParticipateVolunteerActivityNum());
@@ -865,8 +905,9 @@
        }
        //查询党员数据
        IPage<PartyBuildingMemberVO> partyMemberPage = comPbMemberDAO.getOrgDataStatisticsMember(new Page(statisticsOrgDto.getPageNum()
                ,statisticsOrgDto.getPageSize()),communityId,orgIds);
        IPage<PartyBuildingMemberVO> partyMemberPage = comPbMemberDAO.getOrgDataStatisticsMember(
                new Page(statisticsOrgDto.getPageNum()
                ,statisticsOrgDto.getPageSize()),communityId,orgIds,"");
        if(partyMemberPage.getRecords() != null && !partyMemberPage.getRecords().isEmpty()){
            statisticsOrgVo.setPartyMemberList(partyMemberPage.getRecords());
        }
@@ -878,7 +919,8 @@
        List<String> completeEasyList = new ArrayList<>();
        List<String> cumulativeEasyList = new ArrayList<>();
        for (int i = 0; i < startDateList.size(); i++) {
            Map<String,Object> statisticsMap = comPbMemberDAO.getOrgDataStatisticsRightDown(communityId,orgIds, startDateList.get(i) + " 00:00:00", endDateList.get(i) + " 23:59:59");
            Map<String,Object> statisticsMap = comPbMemberDAO.getOrgDataStatisticsRightDown(communityId,orgIds,
                    startDateList.get(i) + " 00:00:00", endDateList.get(i) + " 23:59:59");
            if(statisticsMap != null){
                completeWishList.add(statisticsMap.get("completeWishNum").toString());
                cumulativeWishList.add(statisticsMap.get("cumulativeWishNum").toString());
@@ -1164,6 +1206,68 @@
    }
    @Override
    public R getProject(ProjectVO projectVO) {
        LambdaQueryWrapper<ComActProject> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(ComActProject::getUnitId,projectVO.getUnitId());
        wrapper.eq(projectVO.getSpeciality()!=null,ComActProject::getSpeciality,projectVO.getSpeciality());
        wrapper.eq(projectVO.getProject()!=null,ComActProject::getProject,projectVO.getProject());
        wrapper.orderByDesc(ComActProject::getCreateTime);
        List<ComActProject> comActProjects = comActProjectMapper.selectList(wrapper);
        return R.ok(comActProjects);
    }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public R addProject(ProjectVO projectVO) {
        Date date = new Date();
        ComActProject comActProject = new ComActProject();
        comActProject.setUnitId(projectVO.getUnitId());
        comActProject.setUnitName(projectVO.getUnitName());
        comActProject.setSpeciality(projectVO.getSpeciality());
        comActProject.setProject(projectVO.getProject());
        comActProject.setPhone(projectVO.getPhone());
        comActProject.setImage(projectVO.getImage());
        comActProject.setCreateTime(date);
        comActProjectMapper.insert(comActProject);
      //  new_fight_resource_sharing
        NewFightResourceSharingDTO dto = new NewFightResourceSharingDTO();
        dto.setTitle(projectVO.getProject());
        dto.setUnitId(String.valueOf(projectVO.getUnitId()));
        dto.setMeritId(projectVO.getSpeciality());
        dto.setImgUrl(projectVO.getImage());
        dto.setPhone(projectVO.getPhone());
        dto.setCommunityId(projectVO.getCommunityId());
        dto.setCreationTime(date);
        newFightResourceSharingDAO.addData(dto);
        return R.ok();
    }
    @Override
    public R updateProject(ProjectVO projectVO) {
        LambdaQueryWrapper<ComActProject> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(ComActProject::getUnitId,projectVO.getUnitId());
        wrapper.eq(ComActProject::getId,projectVO.getId());
        ComActProject actProject = comActProjectMapper.selectOne(wrapper);
        actProject.setSpeciality(projectVO.getSpeciality());
        actProject.setProject(projectVO.getProject());
        actProject.setPhone(projectVO.getPhone());
        if(projectVO.getImage() != null){
            actProject.setImage(projectVO.getImage());
        }
        comActProjectMapper.updateById(actProject);
        return R.ok();
    }
    @Override
    public R deleteProject(ProjectVO projectVO) {
        List<Long> ids = projectVO.getIds();
        LambdaQueryWrapper<ComActProject> wrapper = new LambdaQueryWrapper<>();
        wrapper.in(ComActProject::getId,ids);
        comActProjectMapper.delete(wrapper);
        return R.ok();
    }
    @Override
    public R getPartyMember(String phone,Integer type) {
        return R.ok(comPbMemberDAO.selectDetail(phone,type));