package com.panzhihua.service_dangjian.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
import javax.annotation.Resource;
|
|
import com.panzhihua.common.model.dtos.partybuilding.ComDataStatisticsOrgDto;
|
import com.panzhihua.common.model.dtos.partybuilding.PageComDataStatisticsMemberDto;
|
import io.swagger.annotations.ApiModelProperty;
|
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.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.vos.R;
|
import com.panzhihua.common.model.vos.partybuilding.*;
|
import com.panzhihua.common.model.vos.user.SysUserVO;
|
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;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党员
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-11-30 10:53
|
**/
|
@Slf4j
|
@Service
|
public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO, ComPbMemberDO> implements ComPbMemberService {
|
private final String REDIS_ORG_ALL = "ogrlist";
|
@Resource
|
private ComPbMemberDAO comPbMemberDAO;
|
@Resource
|
private StringRedisTemplate stringRedisTemplate;
|
@Resource
|
private ComPbOrgDAO comPbOrgDAO;
|
@Resource
|
private ComPbMemberRoleDAO comPbMemberRoleDAO;
|
@Resource
|
private ComPbDynDAO comPbDynDAO;
|
@Resource
|
private ComPbDynUserDAO comPbDynUserDAO;
|
|
/**
|
* 新增党员
|
*
|
* @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("身份证已经存在");
|
}
|
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));
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 批量新增党员
|
*
|
* @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<>();
|
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::getIdCard, partyBuildingMemberExcelVO.getIdCard())
|
.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());
|
}
|
}
|
|
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);
|
}
|
}
|
this.saveBatch(comPbMemberDOS);
|
return R.ok();
|
}
|
|
/**
|
* 分页党员
|
*
|
* @param pagePartyOrganizationVO
|
* 查询信息
|
* @return 分页数据
|
*/
|
@Override
|
public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) {
|
Page page = new Page<>();
|
Long pageNum = pagePartyOrganizationVO.getPageNum();
|
Long pageSize = pagePartyOrganizationVO.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.queryAllByLimit(page, pagePartyOrganizationVO);
|
iPage.getRecords().forEach(record -> {
|
record.setIdCard(SensitiveUtil.desensitizedIdNumber(record.getIdCard()));
|
});
|
return R.ok(iPage);
|
}
|
|
/**
|
* 编辑党员信息 新增字段均可编辑
|
*
|
* @param partyBuildingMemberVO
|
* 编辑字段
|
* @return 编辑结果
|
*/
|
@Override
|
public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
|
ComPbMemberDO comPbMemberDO = new ComPbMemberDO();
|
Long orgId = partyBuildingMemberVO.getOrgId();
|
if (null != orgId && 0 == orgId) {
|
partyBuildingMemberVO.setOrgId(null);
|
}
|
BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO);
|
comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
|
int i = comPbMemberDAO.updateById(comPbMemberDO);
|
if (i > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 查询指定社区的所有党员
|
*
|
* @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<>();
|
comPbMemberDOS.forEach(comPbMemberDO -> {
|
PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO();
|
BeanUtils.copyProperties(comPbMemberDO, partyBuildingMemberVO);
|
partyBuildingMemberVOS.add(partyBuildingMemberVO);
|
});
|
return R.ok(partyBuildingMemberVOS);
|
}
|
|
/**
|
* 新增党委
|
*
|
* @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);
|
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);
|
}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){
|
BeanUtils.copyProperties(partyCommitteeVO, pbMemberDO);
|
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
|
* 动态内容
|
* @return 新增结果
|
*/
|
@Override
|
public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
|
ComPbDynDO comPbDynDO = new ComPbDynDO();
|
BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO);
|
comPbDynDO.setCreateAt(new Date());
|
int insert = comPbDynDAO.insert(comPbDynDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 编辑动态
|
*
|
* @param partyCommitteeVO
|
* 编辑内容
|
* @return 编辑结果
|
*/
|
@Override
|
public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
|
ComPbDynDO comPbDynDO = new ComPbDynDO();
|
BeanUtils.copyProperties(partyCommitteeVO, comPbDynDO);
|
int insert = comPbDynDAO.updateById(comPbDynDO);
|
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);
|
}
|
|
/**
|
* 分页查询党员动态
|
*
|
* @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
|
* 阅读记录
|
* @return 增加结果
|
*/
|
@Override
|
public R addDynUser(ComPbDynUserVO comPbDynUserVO) {
|
ComPbDynUserDO comPbDynUserDO = new ComPbDynUserDO();
|
BeanUtils.copyProperties(comPbDynUserVO, comPbDynUserDO);
|
int insert = comPbDynUserDAO.insert(comPbDynUserDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 删除党员
|
*
|
* @param id
|
* 党员主键
|
* @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());
|
// 删除缓存
|
String userKey = UserConstants.LOGIN_USER_INFO + comPbMemberDO.getUserId();
|
stringRedisTemplate.delete(userKey);
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 定时任务刷新党建动态发布状态
|
*
|
* @return 刷新数据数量
|
*/
|
@Override
|
public R timedTaskPartyBuildingStatus() {
|
int num = comPbDynDAO.timedTaskPartyBuildingStatus();
|
log.info("定时任务更新党建动态发布状态数量【{}】", num);
|
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("未找到党员认证信息");
|
}
|
// BeanUtils.copyProperties(partyBuildingMemberVO, comPbMemberDO);
|
comPbMemberDO.setAuditResult(partyBuildingMemberVO.getAuditResult());
|
if (partyBuildingMemberVO.getAuditResult() != null && partyBuildingMemberVO.getAuditResult().equals(3)) {
|
comPbMemberDO.setRefuseReason(partyBuildingMemberVO.getRefuseReason());
|
}
|
if (partyBuildingMemberVO.getAuditResult() != null && partyBuildingMemberVO.getAuditResult().equals(1)) {
|
comPbMemberDO.setUpdateAt(new Date());
|
}
|
|
// 编辑
|
if (partyBuildingMemberVO.getJoinTime() != null) {
|
comPbMemberDO.setJoinTime(partyBuildingMemberVO.getJoinTime());
|
}
|
if (partyBuildingMemberVO.getEmploymentTime() != null) {
|
comPbMemberDO.setEmploymentTime(partyBuildingMemberVO.getEmploymentTime());
|
}
|
if (partyBuildingMemberVO.getIdCard() != null && !partyBuildingMemberVO.getIdCard().contains("*")) {
|
comPbMemberDO.setIdCard(partyBuildingMemberVO.getIdCard());
|
}
|
if (partyBuildingMemberVO.getName() != null) {
|
comPbMemberDO.setName(partyBuildingMemberVO.getName());
|
}
|
if (partyBuildingMemberVO.getOrgId() != null) {
|
comPbMemberDO.setOrgId(partyBuildingMemberVO.getOrgId());
|
}
|
if (partyBuildingMemberVO.getPhotoPath() != null) {
|
comPbMemberDO.setPhotoPath(partyBuildingMemberVO.getPhotoPath());
|
}
|
|
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));
|
}
|
|
/**
|
* 分页查询党员数据统计
|
* @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 -> {
|
//查询党员统计数据
|
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(memberPage);
|
}
|
|
/**
|
* 根据组织id查询组织下统计数据
|
* @param statisticsOrgDto 请求参数
|
* @return 组织下统计数据
|
*/
|
@Override
|
public R getOrgDataStatistics(ComDataStatisticsOrgDto statisticsOrgDto) {
|
List<Long> orgIds = new ArrayList<>();
|
Long communityId = statisticsOrgDto.getCommunityId();
|
ComDataStatisticsOrgVo statisticsOrgVo = new ComDataStatisticsOrgVo();
|
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());
|
}
|
|
//查询党员数据
|
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("completeEasyNum").toString());
|
}
|
}
|
statisticsOrgVo.setCompleteEasyList(completeEasyList);
|
statisticsOrgVo.setCompleteWishList(completeWishList);
|
statisticsOrgVo.setCumulativeWishList(cumulativeWishList);
|
statisticsOrgVo.setCumulativeEasyList(cumulativeEasyList);
|
return R.ok(statisticsOrgVo);
|
}
|
|
}
|