From ce4a770744d7a0b4e4ea3b5101556b94e72bdf1c Mon Sep 17 00:00:00 2001 From: lidongdong <1459917685@qq.com> Date: 星期二, 14 十一月 2023 17:49:20 +0800 Subject: [PATCH] 修改打卡 --- springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java | 1203 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 920 insertions(+), 283 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java index 313814d..356f0e6 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java @@ -1,39 +1,49 @@ package com.panzhihua.service_dangjian.service.impl; -import com.alibaba.fastjson.JSONArray; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdcardUtil; +import com.alibaba.fastjson.JSONObject; 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.PageComDataStatisticsMemberDto; 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.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.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.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.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.core.ValueOperations; 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.concurrent.TimeUnit; -import java.util.stream.Collectors; +import java.util.Map; + +import static java.util.Objects.nonNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -43,7 +53,8 @@ **/ @Slf4j @Service -public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO,ComPbMemberDO> implements ComPbMemberService { +public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO, ComPbMemberDO> implements ComPbMemberService { + private final String REDIS_ORG_ALL = "ogrlist"; @Resource private ComPbMemberDAO comPbMemberDAO; @Resource @@ -56,37 +67,45 @@ private ComPbDynDAO comPbDynDAO; @Resource private ComPbDynUserDAO comPbDynUserDAO; - - private final String REDIS_ORG_ALL="ogrlist"; + @Resource + private UserService userService; /** * 新增党员 * - * @param partyBuildingMemberVO 党员基本信息 + * @param partyBuildingMemberVO + * 党员基本信息 * @return 新增结果 */ @Override public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) { - String idCard = partyBuildingMemberVO.getIdCard(); 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("身份证已经存在"); + .eq(ComPbMemberDO::getPhone, partyBuildingMemberVO.getPhone()).eq(ComPbMemberDO::getAuditResult, 1).eq(ComPbMemberDO::getType,partyBuildingMemberVO.getType())); + if (!ObjectUtils.isEmpty(comPbMemberDOs) && comPbMemberDOs.size() > 0) { + comPbMemberDOs.forEach(comPbMemberDO -> { + comPbMemberDAO.deleteById(comPbMemberDO.getId()); + }); } - ComPbMemberDO comPbMemberDO1=new ComPbMemberDO(); - BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO1); - Date date=new Date(); + //添加党员同步用户小程序头像 + R<SysUserVO> r=userService.getSysUserVOByPhone(partyBuildingMemberVO.getPhone()); + if(R.isOk(r)&&r.getData()!=null){ + SysUserVO sysUserVO = + JSONObject.parseObject(JSONObject.toJSONString(r.getData()), SysUserVO.class); + partyBuildingMemberVO.setPhotoPath(sysUserVO.getImageUrl()); + } + ComPbMemberDO comPbMemberDO1 = new ComPbMemberDO(); + BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO1); + Date date = new Date(); comPbMemberDO1.setCreateAt(date); 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) - ); + 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(); @@ -95,96 +114,118 @@ /** * 批量新增党员 * - * @param list 党员集合 + * @param list + * 党员集合 * @return 新增结果 */ @Override @Transactional(rollbackFor = Exception.class) public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) { -// 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); -// } - 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<>(); + // 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); + // } + 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); - 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()); + for (PartyBuildingMemberExcelVO partyBuildingMemberExcelVO : list) { + if(StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getName())&&StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getPhone())&&StringUtils.isNotEmpty(partyBuildingMemberExcelVO.getOrgName())){ + ComPbMemberDO comPbMemberDO = new ComPbMemberDO(); + Date date = new Date(); + comPbMemberDO.setUpdateAt(date); + comPbMemberDO.setCreateAt(date); + List<ComPbMemberDO> comPbMemberDOList = this.baseMapper.selectList(new QueryWrapper<ComPbMemberDO>() + .lambda().eq(ComPbMemberDO::getPhone, partyBuildingMemberExcelVO.getPhone()) + .eq(ComPbMemberDO::getCommunityId, partyBuildingMemberExcelVO.getCommunityId())); + if (!comPbMemberDOList.isEmpty()) { + comPbMemberDOList.forEach(comPbMember -> { + BeanUtils.copyProperties(partyBuildingMemberExcelVO, comPbMember); + //添加党员同步用户小程序头像 + R r=userService.getSysUserVOByPhone(comPbMember.getPhone()); + if(R.isOk(r)&&r.getData()!=null){ + SysUserVO sysUserVO = + JSONObject.parseObject(JSONObject.toJSONString(r.getData()), SysUserVO.class); + comPbMember.setPhotoPath(sysUserVO.getImageUrl()); + } + this.baseMapper.updateById(comPbMember); + userService.updateUserIsPartymemberByPhone(comPbMember.getPhone()); + }); + continue; + // throw new PartyBuildingMemberException("导入失败,您导入的数据中有已存在的党员信息,已存在的数据:"+ + // partyBuildingMemberExcelVO.getEmploymentTime() + ",已存在的人名:" + + // partyBuildingMemberExcelVO.getName()); + } + BeanUtils.copyProperties(partyBuildingMemberExcelVO,comPbMemberDO); + comPbMemberDOS.add(comPbMemberDO); + R r=userService.getSysUserVOByPhone(comPbMemberDO.getPhone()); + if(R.isOk(r)&&r.getData()!=null){ + SysUserVO sysUserVO = + JSONObject.parseObject(JSONObject.toJSONString(r.getData()), SysUserVO.class); + comPbMemberDO.setPhotoPath(sysUserVO.getImageUrl()); + } + userService.updateUserIsPartymemberByPhone(comPbMemberDO.getPhone()); } - comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime()); - comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime()); - comPbMemberDO.setName(partyBuildingMemberExcelVO.getName()); - comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard()); - comPbMemberDOS.add(comPbMemberDO); - }); + else { + throw new PartyBuildingMemberException("导入失败,你导入的内容有未填报项"); + } + } + this.saveBatch(comPbMemberDOS); } - this.saveBatch(comPbMemberDOS); return R.ok(); } /** * 分页党员 * - * @param pagePartyOrganizationVO 查询信息 + * @param pagePartyOrganizationVO + * 查询信息 * @return 分页数据 */ @Override public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) { - Page page=new Page<>(); + + Long communityId = pagePartyOrganizationVO.getCommunityId(); + + if (null != communityId){ + List<Long> communityIds = comPbMemberDAO.selectIds(communityId); + if (CollUtil.isEmpty(communityIds)) { + communityIds = new ArrayList<>(); + communityIds.add(communityId); + } + pagePartyOrganizationVO.setCommunityIds(communityIds); + } + + Page page = new Page<>(); Long pageNum = pagePartyOrganizationVO.getPageNum(); Long pageSize = pagePartyOrganizationVO.getPageSize(); - if (null==pageNum||0==pageNum) { - pageNum=1l; + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; } - if (null==pageSize||0==pageSize) { - pageSize=10l; + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO); - iPage.getRecords().forEach(record->{ + IPage<PartyBuildingMemberVO> iPage = comPbMemberDAO.queryAllByLimit(page, pagePartyOrganizationVO); + iPage.getRecords().forEach(record -> { record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard())); }); return R.ok(iPage); @@ -193,20 +234,25 @@ /** * 编辑党员信息 新增字段均可编辑 * - * @param partyBuildingMemberVO 编辑字段 + * @param partyBuildingMemberVO + * 编辑字段 * @return 编辑结果 */ @Override public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) { - ComPbMemberDO comPbMemberDO=new ComPbMemberDO(); + ComPbMemberDO comPbMemberDO = new ComPbMemberDO(); Long orgId = partyBuildingMemberVO.getOrgId(); - if (null!=orgId&&0==orgId) { + if (null != orgId && 0 == orgId) { partyBuildingMemberVO.setOrgId(null); } - BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO); + BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO); + Integer type = partyBuildingMemberVO.getType(); + if (nonNull(type) && type.equals(1)) { + comPbMemberDO.setEmploymentTime(null); + } comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult()); int i = comPbMemberDAO.updateById(comPbMemberDO); - if (i>0) { + if (i > 0) { return R.ok(); } return R.fail(); @@ -215,150 +261,240 @@ /** * 查询指定社区的所有党员 * - * @param communityId 社区id + * @param communityId + * 社区id * @return 党员列表 */ @Override public R listPartyMember(Long 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<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>(); + .eq(ComPbMemberDO::getCommunityId, communityId).eq(ComPbMemberDO::getAuditResult, 1)); + // 查询社区所有已经注册的党员 + // 排除掉已经成为党委的党员 + // 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(); - BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO); + PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); + BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO); partyBuildingMemberVOS.add(partyBuildingMemberVO); }); return R.ok(partyBuildingMemberVOS); } - /** - * 新增党委 - * - * @param partyCommitteeVO 新增信息 - * @return 新增结果 - */ @Override public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) { - ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO(); - 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(); - } - return R.fail(); + return null; } - /** - * 编辑党委 - * - * @param partyCommitteeVO 编辑信息 - * @return 编辑结果 - */ @Override public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) { - ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO(); - 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(); - } - return R.fail(); + return null; } - /** - * 删除党委 - * - * @param partyCommitteeVO 删除id - * @return 删除结果 - */ @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) { - 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(); + return null; } - /** - * 分页社区党委查询 - * - * @param partyCommitteeVO 查询参数 - * @return 分页集合 - */ @Override public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) { - Page page=new Page<>(); + Page page = new Page<>(); Long pageNum = partyCommitteeVO.getPageNum(); Long pageSize = partyCommitteeVO.getPageSize(); - if (null==pageNum||0==pageNum) { - pageNum=1l; + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; } - if (null==pageSize||0==pageSize) { - pageSize=10l; + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyCommitteeVO> iPage=comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO); - iPage.getRecords().forEach(record->{ + IPage<PartyCommitteeVO> iPage = comPbMemberRoleDAO.pagePartyOrganizations(page, partyCommitteeVO); + iPage.getRecords().forEach(record -> { record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone())); }); return R.ok(iPage); } +// /** +// * 新增党委 +// * +// * @param partyCommitteeVO +// * 新增信息 +// * @return 新增结果 +// */ +// @Override +// @Transactional(rollbackFor = Exception.class) +// public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) { +// ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO(); +// BeanUtils.copyProperties(partyCommitteeVO, comPbMemberRoleDO); +// comPbMemberRoleDO.setCreateAt(new Date()); +// comPbMemberRoleDO.setUpdateAt(new Date()); +// comPbMemberRoleDO.setIsReg(2); +// comPbMemberRoleDO.setSex(Integer.parseInt(partyCommitteeVO.getIdCard().substring(16,17))%2==0?2:1); +// Integer userCount = comPbMemberRoleDAO.getSysUserByIdCardCount(partyCommitteeVO.getIdCard()); +// if (userCount > 0) { +// comPbMemberRoleDO.setIsReg(1); +// } +// Date nowDate = new Date(); +// //判断党员信息是否存在党委信息 +// ComPbMemberDO pbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda() +// .eq(ComPbMemberDO::getIdCard,partyCommitteeVO.getIdCard()) +// .eq(ComPbMemberDO::getAuditResult,ComPbMemberDO.AuditResult.SHTG) +// .eq(ComPbMemberDO::getCommunityId,partyCommitteeVO.getCommunityId())); +// if(pbMemberDO == null){ +// //不存在则创建党委党员信息 +// pbMemberDO = new ComPbMemberDO(); +// BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO); +// pbMemberDO.setAuditResult(ComPbMemberDO.AuditResult.SHTG); +// pbMemberDO.setCreateAt(nowDate); +// pbMemberDO.setUpdateAt(nowDate); +// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY); +// comPbMemberDAO.insert(pbMemberDO); +// //金沙特殊需求 +// if(pbMemberDO.getCommunityId()==2L){ +// ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO(); +// comMngVolunteerMngVO.setOrgId(53L); +// comMngVolunteerMngVO.setName(pbMemberDO.getName()); +// comMngVolunteerMngVO.setPhone(pbMemberDO.getPhone()); +// comMngVolunteerMngVO.setIdCard(pbMemberDO.getIdCard()); +// comMngVolunteerMngVO.setState(2); +// comMngVolunteerMngVO.setCommunityId(2L); +// R r = communityService.addVolunteer(comMngVolunteerMngVO); +// // 支援者添加成功,修改小程序用户的志愿者状态 ,通过手机号 +// if (R.isOk(r)) { +// String phone = comMngVolunteerMngVO.getPhone(); +// R r1 = userService.putUserIsVolunteer(phone, 1); +// if (R.isOk(r1)) { +// log.info("修改手机号【{}】的支援者状态为是", phone); +// } else { +// log.info("手机号【{}】没有小程序用户", phone); +// } +// } +// } +// }else{ +// //存在则更新党委党员信息 +// BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO); +// pbMemberDO.setUpdateAt(nowDate); +// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY); +// comPbMemberDAO.updateById(pbMemberDO); +// } +// int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO); +// if (insert > 0) { +// return R.ok(); +// } +// return R.fail(); +// } + +// /** +// * 编辑党委 +// * +// * @param partyCommitteeVO +// * 编辑信息 +// * @return 编辑结果 +// */ +// @Override +// @Transactional(rollbackFor = Exception.class) +// public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) { +// ComPbMemberRoleDO comPbMemberRoleDO = new ComPbMemberRoleDO(); +// Date nowDate = new Date(); +// BeanUtils.copyProperties(partyCommitteeVO, comPbMemberRoleDO); +// comPbMemberRoleDO.setUpdateAt(nowDate); +// comPbMemberRoleDO.setIsReg(2); +// Integer userCount = comPbMemberRoleDAO.getSysUserByIdCardCount(partyCommitteeVO.getIdCard()); +// if (userCount > 0) { +// comPbMemberRoleDO.setIsReg(1); +// } +// //查询党员信息并更新 +// ComPbMemberDO pbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda() +// .eq(ComPbMemberDO::getIdCard,partyCommitteeVO.getIdCard()) +// .eq(ComPbMemberDO::getAuditResult,ComPbMemberDO.AuditResult.SHTG) +// .eq(ComPbMemberDO::getCommunityId,partyCommitteeVO.getCommunityId())); +// if(pbMemberDO != null){ +// Long id = pbMemberDO.getId(); +// BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO); +// pbMemberDO.setId(id); +// pbMemberDO.setUpdateAt(nowDate); +// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY); +// comPbMemberDAO.updateById(pbMemberDO); +// } +// int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO); +// if (update > 0) { +// return R.ok(); +// } +// return R.fail(); +// } +// +// /** +// * 删除党委 +// * +// * @param partyCommitteeVO +// * 删除id +// * @return 删除结果 +// */ +// @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) { +// Long userId = comPbMemberRoleDAO.getUserIdByIdCard(comPbMemberRoleDO.getIdCard()); +// // 删除用户信息缓存 +// if (userId != null) { +// String userKey = UserConstants.LOGIN_USER_INFO + userId; +// stringRedisTemplate.delete(userKey); +// } +// return R.ok(); +// } +// return R.fail(); +// } +// +// /** +// * 分页社区党委查询 +// * +// * @param partyCommitteeVO +// * 查询参数 +// * @return 分页集合 +// */ +// @Override +// public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) { +// 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.pagePartyOrganization(page, partyCommitteeVO); +// iPage.getRecords().forEach(record -> { +// record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone())); +// }); +// return R.ok(iPage); +// } + /** * 新建党建动态 * - * @param partyCommitteeVO 动态内容 + * @param partyCommitteeVO + * 动态内容 * @return 新增结果 */ @Override public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) { - ComPbDynDO comPbDynDO=new ComPbDynDO(); - BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO); + ComPbDynDO comPbDynDO = new ComPbDynDO(); + BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO); comPbDynDO.setCreateAt(new Date()); int insert = comPbDynDAO.insert(comPbDynDO); - if (insert>0) { + if (insert > 0) { return R.ok(); } return R.fail(); @@ -367,71 +503,41 @@ /** * 编辑动态 * - * @param partyCommitteeVO 编辑内容 + * @param partyCommitteeVO + * 编辑内容 * @return 编辑结果 */ @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); + ComPbDynDO comPbDynDO = new ComPbDynDO(); + BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO); int insert = comPbDynDAO.updateById(comPbDynDO); - if (insert>0) { + if (insert > 0) { return R.ok(); } return R.fail(); } - /** - * 动态详情 - * - * @param id 动态主键 - * @return 详情 - */ @Override public R infoYnamic(Long id) { - PartyBuildingComPbDynVO comPbDynVO = comPbDynDAO.selectVoById(id); - if (ObjectUtils.isEmpty(comPbDynVO)) { - return R.fail("动态不存在"); - } -// ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy); - //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)); - comPbDynVO.setReadingVolume(null==comPbDynVO.getReadingVolume()?0:comPbDynVO.getReadingVolume()); - return R.ok(comPbDynVO); + return null; } - /** - * 分页查询党员动态 - * - * @param partyBuildingComPbDynVO 查询参数 - * @return 分页数据 - */ @Override - public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) { - Page page=new Page<>(); + public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) + { + Page page = new Page<>(); Long pageNum = partyBuildingComPbDynVO.getPageNum(); Long pageSize = partyBuildingComPbDynVO.getPageSize(); - if (null==pageNum) { - pageNum=1l; + if (null == pageNum) { + pageNum = 1l; } - if (null==pageSize) { - pageSize=10l; + if (null == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyBuildingComPbDynVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO); + IPage<PartyBuildingComPbDynVO> iPage = comPbDynDAO.pageYnamics(page, partyBuildingComPbDynVO); List<PartyBuildingComPbDynVO> records = iPage.getRecords(); if (!(ObjectUtils.isEmpty(records))) { records.forEach(partyBuildingComPbDynVO1 -> { @@ -445,33 +551,102 @@ return R.ok(iPage); } - /** - * 删除动态 - * - * @param id 动态主键 - * @return 删除结果 - */ @Override public R deleteYnamic(Integer id) { - int delete = comPbDynDAO.deleteById(id); - if (delete>0) { - return R.ok(); - } - return R.fail(); + return null; } + +// /** +// * 动态详情 +// * +// * @param id +// * 动态主键 +// * @return 详情 +// */ +// @Override +// public R infoYnamic(Long id) { +// PartyBuildingComPbDynVO comPbDynVO = comPbDynDAO.selectVoById(id); +// if (ObjectUtils.isEmpty(comPbDynVO)) { +// return R.fail("动态不存在"); +// } +// // ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy); +// // 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)); +// comPbDynVO.setReadingVolume(null == comPbDynVO.getReadingVolume() ? 0 : comPbDynVO.getReadingVolume()); +// return R.ok(comPbDynVO); +// } +// +// /** +// * 分页查询党员动态 +// * +// * @param partyBuildingComPbDynVO +// * 查询参数 +// * @return 分页数据 +// */ +// @Override +// 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.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); +// } +// +// /** +// * 删除动态 +// * +// * @param id +// * 动态主键 +// * @return 删除结果 +// */ +// @Override +// public R deleteYnamic(Integer id) { +// int delete = comPbDynDAO.deleteById(id); +// if (delete > 0) { +// return R.ok(); +// } +// return R.fail(); +// } /** * 增加阅读记录 * - * @param comPbDynUserVO 阅读记录 + * @param comPbDynUserVO + * 阅读记录 * @return 增加结果 */ @Override public R addDynUser(ComPbDynUserVO comPbDynUserVO) { - ComPbDynUserDO comPbDynUserDO=new ComPbDynUserDO(); - BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO); + ComPbDynUserDO comPbDynUserDO = new ComPbDynUserDO(); + BeanUtils.copyProperties(comPbDynUserVO, comPbDynUserDO); int insert = comPbDynUserDAO.insert(comPbDynUserDO); - if (insert>0) { + if (insert > 0) { return R.ok(); } return R.fail(); @@ -480,21 +655,22 @@ /** * 删除党员 * - * @param id 党员主键 + * @param id + * 党员主键 * @return 删除结果 */ @Override @Transactional(rollbackFor = Exception.class) - public R deleteDynUser(Integer id) { + public R deleteDynUser(Long 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()); - //删除缓存 + if (delete > 0) { + // 维护用户表党员状态 + comPbMemberDAO.updateUserIsPartymember(comPbMemberDO.getPhone()); + // 删除缓存 String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId(); stringRedisTemplate.delete(userKey); return R.ok(); @@ -509,62 +685,110 @@ */ @Override public R timedTaskPartyBuildingStatus() { - int num=comPbDynDAO.timedTaskPartyBuildingStatus(); - log.info("定时任务更新党建动态发布状态数量【{}】",num); + int num = comPbDynDAO.timedTaskPartyBuildingStatus(); + log.info("定时任务更新党建动态发布状态数量【{}】", num); return R.ok(num); } @Override public R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO) { - Page page=new Page<>(); + Page page = new Page<>(); Long pageNum = pagePartyBuildingMemberVO.getPageNum(); Long pageSize = pagePartyBuildingMemberVO.getPageSize(); - if (null==pageNum||0==pageNum) { - pageNum=1l; + if (null == pageNum || 0 == pageNum) { + pageNum = 1l; } - if (null==pageSize||0==pageSize) { - pageSize=10l; + if (null == pageSize || 0 == pageSize) { + pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); - IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyBuildingMembersVO(page, pagePartyBuildingMemberVO); + IPage<PartyBuildingMemberVO> iPage = comPbMemberDAO.pagePartyBuildingMembersVO(page, pagePartyBuildingMemberVO); return R.ok(iPage); } @Override - public R updatePartyBuildingMembers(PartyBuildingMemberVO partyBuildingMemberVO){ + public R updatePartyBuildingMembers(PartyBuildingMemberVO partyBuildingMemberVO) { ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(partyBuildingMemberVO.getId()); - if(comPbMemberDO == null){ + if (comPbMemberDO == null) { return R.fail("未找到党员认证信息"); } +// BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO); comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult()); - if(partyBuildingMemberVO.getAuditResult()!=null && partyBuildingMemberVO.getAuditResult().equals(3)){ + if (partyBuildingMemberVO.getAuditResult() != null && partyBuildingMemberVO.getAuditResult().equals(3)) { comPbMemberDO.setRefuseReason(partyBuildingMemberVO.getRefuseReason()); } - if(partyBuildingMemberVO.getAuditResult()!=null && partyBuildingMemberVO.getAuditResult().equals(1)){ + if (partyBuildingMemberVO.getAuditResult() != null && partyBuildingMemberVO.getAuditResult().equals(1)) { comPbMemberDO.setUpdateAt(new Date()); } - //编辑 - if(partyBuildingMemberVO.getJoinTime()!=null) { + // 编辑 + if (partyBuildingMemberVO.getJoinTime() != null) { comPbMemberDO.setJoinTime(partyBuildingMemberVO.getJoinTime()); } - if(partyBuildingMemberVO.getEmploymentTime()!=null) { + if (partyBuildingMemberVO.getEmploymentTime() != null) { comPbMemberDO.setEmploymentTime(partyBuildingMemberVO.getEmploymentTime()); } - if(partyBuildingMemberVO.getIdCard()!=null &&!partyBuildingMemberVO.getIdCard().contains("*")){ + if (partyBuildingMemberVO.getIdCard() != null && !partyBuildingMemberVO.getIdCard().contains("*")) { comPbMemberDO.setIdCard(partyBuildingMemberVO.getIdCard()); } - if(partyBuildingMemberVO.getName()!=null ){ + if (partyBuildingMemberVO.getName() != null) { comPbMemberDO.setName(partyBuildingMemberVO.getName()); } - if(partyBuildingMemberVO.getOrgId()!=null ){ + if (partyBuildingMemberVO.getOrgId() != null) { comPbMemberDO.setOrgId(partyBuildingMemberVO.getOrgId()); } - if(partyBuildingMemberVO.getPhotoPath()!=null ){ + if (partyBuildingMemberVO.getOrgName() != null) { + comPbMemberDO.setOrgName(partyBuildingMemberVO.getOrgName()); + } + if (partyBuildingMemberVO.getPhotoPath() != null) { comPbMemberDO.setPhotoPath(partyBuildingMemberVO.getPhotoPath()); + } + if (nonNull(partyBuildingMemberVO.getType())) { + comPbMemberDO.setType(partyBuildingMemberVO.getType()); + } + if (StringUtils.isNotEmpty(partyBuildingMemberVO.getPosition())) { + comPbMemberDO.setPosition(partyBuildingMemberVO.getPosition()); + } + if (nonNull(partyBuildingMemberVO.getCheckUnitId())) { + comPbMemberDO.setCheckUnitId(partyBuildingMemberVO.getCheckUnitId()); + } + if (StringUtils.isNotEmpty(partyBuildingMemberVO.getFunction())) { + comPbMemberDO.setFunction(partyBuildingMemberVO.getFunction()); + } + if (nonNull(partyBuildingMemberVO.getSpecialtyName())) { + comPbMemberDO.setSpecialtyName(partyBuildingMemberVO.getSpecialtyName()); + } + if(nonNull(partyBuildingMemberVO.getPhone())){ + comPbMemberDO.setPhone(partyBuildingMemberVO.getPhone()); + } + + Integer type = partyBuildingMemberVO.getType(); + if (nonNull(type) && type.equals(1)) { + comPbMemberDO.setEmploymentTime(null); + } + if(partyBuildingMemberVO.getVillageId()!=null){ + comPbMemberDO.setVillageId(partyBuildingMemberVO.getVillageId()); + } + if(partyBuildingMemberVO.getHelpCommunityId()!=null){ + comPbMemberDO.setHelpCommunityId(partyBuildingMemberVO.getHelpCommunityId()); + } + if(partyBuildingMemberVO.getCommunityId()!=null){ + comPbMemberDO.setCommunityId(partyBuildingMemberVO.getCommunityId()); + } + if(partyBuildingMemberVO.getNatureId()!=null){ + comPbMemberDO.setNatureId(partyBuildingMemberVO.getNatureId()); + } + if(nonNull(partyBuildingMemberVO.getNatureName())){ + comPbMemberDO.setNatureName(partyBuildingMemberVO.getNatureName()); + } + if(nonNull(partyBuildingMemberVO.getOtherRemark())){ + comPbMemberDO.setOtherRemark(partyBuildingMemberVO.getOtherRemark()); + } + if(nonNull(partyBuildingMemberVO.getHelpCommunityName())){ + comPbMemberDO.setHelpCommunityName(partyBuildingMemberVO.getHelpCommunityName()); } if (comPbMemberDAO.updateById(comPbMemberDO) > 0) { @@ -576,8 +800,421 @@ } @Override - public R exportPbMember(PagePartyOrganizationVO organizationVO){ + public R exportPbMember(PagePartyOrganizationVO organizationVO) { return R.ok(comPbMemberDAO.exportPbMember(organizationVO)); } + /** + * 分页查询党员数据统计 + * @param statisticsMemberDto 请求参数 + * @return 党员数据统计 + */ + @Override + public R pageDataStatisticsMember(PageComDataStatisticsMemberDto statisticsMemberDto) { + IPage<ComDataStatisticsMemberVo> memberPage = comPbMemberDAO.pageDataStatisticsMember(new Page(statisticsMemberDto.getPageNum() + ,statisticsMemberDto.getPageSize()),statisticsMemberDto); + memberPage.getRecords().forEach(member -> { + if(member.getIsRole() > 0){ + member.setIsRole(1); + }else{ + member.setIsRole(2); + } + try { + member.setAge(IdcardUtil.getAgeByIdCard(member.getIdCard())); + } catch (Exception e) { + log.error("年龄转义失败"); + } + //查询党员统计数据 + ComDataStatisticsMemberVo statisticsMemberVo = comPbMemberDAO.getMemberStatistics(member.getUserId(),member.getCommunityId()); + if(statisticsMemberVo != null){ + member.setPartyActivityCount(statisticsMemberVo.getPartyActivityCount()); + member.setPartyActivityDuration(statisticsMemberVo.getPartyActivityDuration()); + member.setPartyActivityIntegral(statisticsMemberVo.getPartyActivityIntegral()); + member.setVolunteerActivityCount(statisticsMemberVo.getVolunteerActivityCount()); + member.setVolunteerActivityDuration(statisticsMemberVo.getVolunteerActivityDuration()); + member.setVolunteerActivityIntegral(statisticsMemberVo.getVolunteerActivityIntegral()); + member.setWishCount(statisticsMemberVo.getWishCount()); + member.setEasyCount(statisticsMemberVo.getEasyCount()); + member.setActivityCount(member.getPartyActivityCount() + member.getVolunteerActivityCount()); + member.setActivityDuration(member.getPartyActivityDuration() + member.getVolunteerActivityDuration()); + } + }); + return R.ok(memberPage); + } + + /** + * 根据组织id查询组织下统计数据 + * @param statisticsOrgDto 请求参数 + * @return 组织下统计数据 + */ + @Override + public R getOrgDataStatistics(ComDataStatisticsOrgDto statisticsOrgDto) { + List<Long> orgIds = new ArrayList<>(); + Long communityId = statisticsOrgDto.getCommunityId(); + ComDataStatisticsOrgVo statisticsOrgVo = new ComDataStatisticsOrgVo(); + if(statisticsOrgDto.getOrgId() != null){ + ComPbOrgDO pbOrgDO = comPbOrgDAO.selectById(statisticsOrgDto.getOrgId()); + if(pbOrgDO == null){ + return R.fail("未查询到党组织"); + } + //拼接党组织id + if(pbOrgDO.getOneId() != null){ + orgIds.add(pbOrgDO.getOneId()); + } + if(pbOrgDO.getTwoId() != null){ + orgIds.add(pbOrgDO.getTwoId()); + } + if(pbOrgDO.getThirdId() != null){ + orgIds.add(pbOrgDO.getThirdId()); + } + if(pbOrgDO.getFourId() != null){ + orgIds.add(pbOrgDO.getFourId()); + } + if(pbOrgDO.getFiveId() != null){ + orgIds.add(pbOrgDO.getFiveId()); + } + } + //拼接查询开始结束时间 + String startTime = statisticsOrgDto.getYear() + "-01-01 00:00:00"; + String endTime = statisticsOrgDto.getYear() + "-12-31 23:59:59"; + + ComDataStatisticsOrgVo statisticsVo = new ComDataStatisticsOrgVo(); + //查询统计左上数据 + statisticsVo = comPbMemberDAO.getOrgDataStatistics(communityId,orgIds); + if(statisticsVo != null){ + BeanUtils.copyProperties(statisticsVo,statisticsOrgVo); + } + + //查询左下数据 + statisticsVo = comPbMemberDAO.getOrgDataStatisticsLeftDown(communityId,orgIds,startTime,endTime,""); + if(statisticsVo != null){ + statisticsOrgVo.setParticipateVolunteerActivityDuration(statisticsVo.getParticipateVolunteerActivityDuration()); + statisticsOrgVo.setParticipateVolunteerActivityNum(statisticsVo.getParticipateVolunteerActivityNum()); + statisticsOrgVo.setParticipatePartyActivityNum(statisticsVo.getParticipatePartyActivityNum()); + statisticsOrgVo.setParticipatePartyActivityDuration(statisticsVo.getParticipatePartyActivityDuration()); + statisticsOrgVo.setParticipateActivityDuration(statisticsVo.getParticipateActivityDuration()); + statisticsOrgVo.setParticipateActivityNum(statisticsVo.getParticipateActivityNum()); + } + + //查询党员数据 + IPage<PartyBuildingMemberVO> partyMemberPage = comPbMemberDAO.getOrgDataStatisticsMember( + new Page(statisticsOrgDto.getPageNum() + ,statisticsOrgDto.getPageSize()),communityId,orgIds,""); + if(partyMemberPage.getRecords() != null && !partyMemberPage.getRecords().isEmpty()){ + statisticsOrgVo.setPartyMemberList(partyMemberPage.getRecords()); + } + + List<String> startDateList = DateUtils.getYearFirstMonths(statisticsOrgDto.getYear()); + List<String> endDateList = DateUtils.getYearLastMonths(statisticsOrgDto.getYear()); + List<String> completeWishList = new ArrayList<>(); + List<String> cumulativeWishList = new ArrayList<>(); + 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"); + if(statisticsMap != null){ + completeWishList.add(statisticsMap.get("completeWishNum").toString()); + cumulativeWishList.add(statisticsMap.get("cumulativeWishNum").toString()); + completeEasyList.add(statisticsMap.get("completeEasyNum").toString()); + cumulativeEasyList.add(statisticsMap.get("cumulativeEasyNum").toString()); + if(i == startDateList.size() - 1){ + statisticsOrgVo.setWishNum(statisticsMap.get("cumulativeWishNum").toString()); + statisticsOrgVo.setEasyNum(statisticsMap.get("cumulativeEasyNum").toString()); + } + } + } + statisticsOrgVo.setCompleteEasyList(completeEasyList); + statisticsOrgVo.setCompleteWishList(completeWishList); + statisticsOrgVo.setCumulativeWishList(cumulativeWishList); + statisticsOrgVo.setCumulativeEasyList(cumulativeEasyList); + Integer partyMemberNum = statisticsOrgVo.getPartyMemberNum(); + if (nonNull(partyMemberNum) && partyMemberNum.intValue() > 0) { + Integer formalPartyMemberNum = statisticsOrgVo.getFormalPartyMemberNum(); + if (nonNull(formalPartyMemberNum) && formalPartyMemberNum.intValue() > 0) { + statisticsOrgVo.setFormalPartyMemberNumPercent(new BigDecimal(formalPartyMemberNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer preparePartyMemberNum = statisticsOrgVo.getPreparePartyMemberNum(); + if (nonNull(preparePartyMemberNum) && preparePartyMemberNum.intValue() > 0) { + statisticsOrgVo.setPreparePartyMemberNumPercent(new BigDecimal(preparePartyMemberNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer tyNum = statisticsOrgVo.getTyNum(); + if (nonNull(tyNum) && tyNum.intValue() > 0) { + statisticsOrgVo.setTyNumPercent(new BigDecimal(tyNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer msNum = statisticsOrgVo.getMsNum(); + if (nonNull(msNum) && msNum.intValue() > 0) { + statisticsOrgVo.setMsNumPercent(new BigDecimal(msNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer yyNum = statisticsOrgVo.getYyNum(); + if (nonNull(yyNum) && yyNum.intValue() > 0) { + statisticsOrgVo.setYyNumPercent(new BigDecimal(yyNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer wdNum = statisticsOrgVo.getWdNum(); + if (nonNull(wdNum) && wdNum.intValue() > 0) { + statisticsOrgVo.setWdNumPercent(new BigDecimal(wdNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer qtNum = statisticsOrgVo.getQtNum(); + if (nonNull(qtNum) && qtNum.intValue() > 0) { + statisticsOrgVo.setQtNumPercent(new BigDecimal(qtNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer wuNum = statisticsOrgVo.getWuNum(); + if (nonNull(wuNum) && wuNum.intValue() > 0) { + statisticsOrgVo.setWuNumPercent(new BigDecimal(wuNum) + .divide(new BigDecimal(partyMemberNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + } + Integer participateActivityNum = statisticsOrgVo.getParticipateActivityNum(); + if (nonNull(participateActivityNum) && participateActivityNum.intValue() > 0) { + Integer participateVolunteerActivityNum = statisticsOrgVo.getParticipateVolunteerActivityNum(); + if (nonNull(participateVolunteerActivityNum) && participateVolunteerActivityNum.intValue() > 0) { + statisticsOrgVo.setParticipateVolunteerActivityNumPercent(new BigDecimal(participateVolunteerActivityNum) + .divide(new BigDecimal(participateActivityNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer participatePartyActivityNum = statisticsOrgVo.getParticipatePartyActivityNum(); + if (nonNull(participatePartyActivityNum) && participatePartyActivityNum.intValue() > 0) { + statisticsOrgVo.setParticipatePartyActivityNumPercent(new BigDecimal(participatePartyActivityNum) + .divide(new BigDecimal(participateActivityNum), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + } + Integer participateActivityDuration = statisticsOrgVo.getParticipateActivityDuration(); + if (nonNull(participateActivityDuration) && participateActivityDuration.intValue() > 0) { + Integer participateVolunteerActivityDuration = statisticsOrgVo.getParticipateVolunteerActivityDuration(); + if (nonNull(participateVolunteerActivityDuration) && participateVolunteerActivityDuration.intValue() > 0) { + statisticsOrgVo.setParticipateVolunteerActivityDurationPercent(new BigDecimal(participateVolunteerActivityDuration) + .divide(new BigDecimal(participateActivityDuration), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + Integer participatePartyActivityDuration = statisticsOrgVo.getParticipatePartyActivityDuration(); + if (nonNull(participatePartyActivityDuration) && participatePartyActivityDuration.intValue() > 0) { + statisticsOrgVo.setParticipatePartyActivityDurationPercent(new BigDecimal(participatePartyActivityDuration) + .divide(new BigDecimal(participateActivityDuration), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(0)); + } + } + return R.ok(statisticsOrgVo); + } + + /** + * 查询党组织表头统计数据 + * @param communityId + * 社区id + * @return 党组织表头统计数据 + */ + @Override + public R getHeaderOrgDataStatistics(Long communityId) { + ComDataStatisticsHeaderOrgVo headerOrgVo = comPbMemberDAO.getHeaderOrgDataStatistics(communityId); + if(headerOrgVo != null){ + if(headerOrgVo.getVillageNum() == null || headerOrgVo.getVillageNum().equals(0)){ + headerOrgVo.setVillageRate(BigDecimal.ZERO); + }else{ + headerOrgVo.setVillageRate(BigDecimal.valueOf(headerOrgVo.getAreaNum()).divide(BigDecimal.valueOf(headerOrgVo.getVillageNum()) + ,4,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100))); + } + } + return R.ok(headerOrgVo); + } + + /** + * 党员数据统计-党员导出数据查询 + * @param statisticsMemberDto 请求参数 + * @return 党员导出数据 + */ + @Override + public R exportDataStatisticsMember(PageComDataStatisticsMemberDto statisticsMemberDto) { + List<ComDataStatisticsMemberExcelVo> memberList = comPbMemberDAO.exportDataStatisticsMember(statisticsMemberDto); + memberList.forEach(member -> { + //查询党员统计数据 + ComDataStatisticsMemberVo statisticsMemberVo = comPbMemberDAO.getMemberStatistics(member.getUserId(),member.getCommunityId()); + if(statisticsMemberVo != null){ + member.setPartyActivityCount(statisticsMemberVo.getPartyActivityCount()); + member.setPartyActivityDuration(statisticsMemberVo.getPartyActivityDuration()); + member.setVolunteerActivityCount(statisticsMemberVo.getVolunteerActivityCount()); + member.setVolunteerActivityDuration(statisticsMemberVo.getVolunteerActivityDuration()); + member.setVolunteerActivityIntegral(statisticsMemberVo.getVolunteerActivityIntegral()); + member.setWishCount(statisticsMemberVo.getWishCount()); + member.setEasyCount(statisticsMemberVo.getEasyCount()); + member.setActivityCount(member.getPartyActivityCount() + member.getVolunteerActivityCount()); + member.setActivityDuration(member.getPartyActivityDuration() + member.getVolunteerActivityDuration()); + } + }); + return R.ok(memberList); + } + + @Override + public R importPbMemberRole(List<ComPbMemberRoleExcelVo> list, Long communityId, Long userId) { + return null; + } + +// /** +// * 党委导入接口 +// * @param list 数据列表 +// * @param communityId 社区id +// * @param userId 用户id +// * @return 导入结果 +// */ +// @Override +// @Transactional(rollbackFor = Exception.class) +// public R importPbMemberRole(List<ComPbMemberRoleExcelVo> list, Long communityId, Long userId) { +// ArrayList<ComPbMemberRoleErrorExcelVo> mistakes = Lists.newArrayList(); +// ArrayList<ComPbMemberRoleDO> saveList = Lists.newArrayList(); +// Date nowDate = new Date(); +// if(list != null && list.size() > 0){ +// list.forEach(memberRole -> { +// ComPbMemberRoleDO memberRoleDO = comPbMemberRoleDAO.selectOne(new QueryWrapper<ComPbMemberRoleDO>().lambda() +// .eq(ComPbMemberRoleDO::getCommunityId,communityId).eq(ComPbMemberRoleDO::getIdCard,memberRole.getIdCard())); +// if(memberRoleDO != null){ +// ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo(); +// BeanUtils.copyProperties(memberRole,roleErrorExcelVo); +// roleErrorExcelVo.setError("该党委已存在,不可重复导入"); +// mistakes.add(roleErrorExcelVo); +// }else{ +// memberRoleDO = new ComPbMemberRoleDO(); +// BeanUtils.copyProperties(memberRole,memberRoleDO); +// Integer type = ComPbMemberRoleTypeEnum.getCodeByName(memberRole.getTypeName()); +// if(type.equals(0)){ +// ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo(); +// BeanUtils.copyProperties(memberRole,roleErrorExcelVo); +// roleErrorExcelVo.setError("党委标签不存在,请核对后再重新导入"); +// mistakes.add(roleErrorExcelVo); +// return; +// }else{ +// memberRoleDO.setType(type); +// } +// try { +// Date joinTime = DateUtils.stringToDate(memberRole.getJoinTime(),DateUtils.yyyyMMdd_format); +// memberRoleDO.setJoinTime(joinTime); +// } catch (Exception e) { +// ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo(); +// BeanUtils.copyProperties(memberRole,roleErrorExcelVo); +// roleErrorExcelVo.setError("入党时间格式错误,请按照正确格式填写,如:2022-01-01"); +// mistakes.add(roleErrorExcelVo); +// return; +// } +// if(StringUtils.isNotEmpty(memberRole.getOrg())){ +// ComPbOrgDO comPbOrgDO=comPbOrgDAO.selectOne(new QueryWrapper<ComPbOrgDO>().lambda().eq(ComPbOrgDO::getName,memberRole.getOrg()).eq(ComPbOrgDO::getCommunityId,communityId)); +// if(comPbOrgDO!=null){ +// memberRoleDO.setOrgId(comPbOrgDO.getId()); +// } +// } +// try { +// Date employmentTime = DateUtils.stringToDate(memberRole.getEmploymentTime(),DateUtils.yyyyMMdd_format); +// memberRoleDO.setEmploymentTime(employmentTime); +// } catch (Exception e) { +// ComPbMemberRoleErrorExcelVo roleErrorExcelVo = new ComPbMemberRoleErrorExcelVo(); +// BeanUtils.copyProperties(memberRole,roleErrorExcelVo); +// roleErrorExcelVo.setError("转正时间格式错误,请按照正确格式填写,如:2022-01-01"); +// mistakes.add(roleErrorExcelVo); +// return; +// } +// Integer userCount = comPbMemberRoleDAO.getSysUserByIdCardCount(memberRole.getIdCard()); +// memberRoleDO.setIsReg(userCount > 0 ? 1 : 2); +// memberRoleDO.setCommunityId(communityId); +// memberRoleDO.setSex(Integer.parseInt(memberRoleDO.getIdCard().substring(16,17))%2==0?2:1); +// saveList.add(memberRoleDO); +// } +// }); +// } +// +// if(saveList.size() > 0){ +// saveList.forEach(save -> { +// int result = comPbMemberRoleDAO.insert(save); +// if(result>0){ +// //判断党员信息是否存在党委信息 +// ComPbMemberDO pbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda() +// .eq(ComPbMemberDO::getIdCard,save.getIdCard()) +// .eq(ComPbMemberDO::getAuditResult,ComPbMemberDO.AuditResult.SHTG) +// .eq(ComPbMemberDO::getCommunityId,save.getCommunityId())); +// if(pbMemberDO == null){ +// //不存在则创建党委党员信息 +// pbMemberDO = new ComPbMemberDO(); +// BeanUtils.copyProperties(save, pbMemberDO); +// pbMemberDO.setAuditResult(ComPbMemberDO.AuditResult.SHTG); +// pbMemberDO.setCreateAt(nowDate); +// pbMemberDO.setUpdateAt(nowDate); +// pbMemberDO.setType(ComPbMemberDO.Type.ZSDY); +// comPbMemberDAO.insert(pbMemberDO); +// //金沙特殊需求 +// if(pbMemberDO.getCommunityId()==2L){ +// ComMngVolunteerMngVO comMngVolunteerMngVO=new ComMngVolunteerMngVO(); +// comMngVolunteerMngVO.setOrgId(53L); +// comMngVolunteerMngVO.setName(pbMemberDO.getName()); +// comMngVolunteerMngVO.setPhone(pbMemberDO.getPhone()); +// comMngVolunteerMngVO.setIdCard(pbMemberDO.getIdCard()); +// comMngVolunteerMngVO.setState(2); +// comMngVolunteerMngVO.setCommunityId(2L); +// R r = communityService.addVolunteer(comMngVolunteerMngVO); +// // 支援者添加成功,修改小程序用户的志愿者状态 ,通过手机号 +// if (R.isOk(r)) { +// String phone = comMngVolunteerMngVO.getPhone(); +// R r1 = userService.putUserIsVolunteer(phone, 1); +// if (R.isOk(r1)) { +// log.info("修改手机号【{}】的支援者状态为是", phone); +// } else { +// log.info("手机号【{}】没有小程序用户", phone); +// } +// } +// } +// } +// } +// userService.updateUserIsPartymember(save.getIdCard()); +// }); +// } +// if(mistakes.size() > 0){ +// return R.fail(mistakes); +// } +// return R.ok(); +// } + + @Override + public R exportPartyMember(PagePartyOrganizationVO pagePartyOrganizationVO) { + return R.ok(comPbMemberDAO.exportPartyMemberList(pagePartyOrganizationVO)); + } + + @Override + public R checkMember(String idCard) { + List<ComPbMemberDO> list=comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getIdCard,idCard)); + return R.ok(CollectionUtils.isEmpty(list)); + } + + @Override + public R getPagePbMember(PartyBuildingMemberVO dto) { + IPage<PartyBuildingMemberVO> memberPage = comPbMemberDAO.getPbMemberByApplets(new Page(dto.getPageNum(),dto.getPageSize()),dto); + memberPage.getRecords().forEach(member -> { + if(StringUtils.isEmpty(member.getOrgName())){ + member.setOrgName("待编辑党支部"); + } + if(StringUtils.isEmpty(member.getCheckUnitName())){ + member.setCheckUnitName("待编辑报到单位"); + } + //member.setName(SensitiveUtil.replaceName(member.getName())); + }); + return R.ok(memberPage); + } + + @Override + public R getPartyMember(String phone,Integer type) { + + return R.ok(comPbMemberDAO.selectDetail(phone,type)); + } + + @Override + public R memberDetail(Long id) { + return R.ok(comPbMemberDAO.getDetailByApp(id)); + } + + /** + * 分页查询注册党员列表 + * @param dto + * @return + */ + @Override + public R pageRegisterMember(PageMemberForInviteDTO dto) { + return R.ok(comPbMemberDAO.pageRegisterMember(new Page(dto.getPageNum(), dto.getPageSize()), dto)); + } } -- Gitblit v1.7.1