package com.panzhihua.service_dangjian.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.StringUtils;
|
|
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.panzhihua.common.model.dtos.partybuilding.ComListPartyDTO;
|
import com.panzhihua.common.model.vos.R;
|
import com.panzhihua.common.model.vos.partybuilding.PartyOrganizationVO;
|
import com.panzhihua.service_dangjian.dao.ComPbMemberDAO;
|
import com.panzhihua.service_dangjian.dao.ComPbOrgDAO;
|
import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
|
import com.panzhihua.service_dangjian.model.dos.ComPbOrgDO;
|
import com.panzhihua.service_dangjian.service.PartyOrganizationService;
|
|
/**
|
* @program: springcloud_k8s_panzhihuazhihuishequ
|
* @description: 党组织
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2020-11-30 11:40
|
**/
|
@Service
|
public class PartyOrganizationServiceImpl implements PartyOrganizationService {
|
@Resource
|
private ComPbOrgDAO comPbOrgDAO;
|
@Resource
|
private ComPbMemberDAO comPbMemberDAO;
|
|
/**
|
* 社区所有启用的党组织列表
|
*
|
* @return 党组织集合
|
*/
|
@Override
|
public List<PartyOrganizationVO> listPartyOrganization(Long communityId) {
|
List<PartyOrganizationVO> partyOrganizationVOS = new ArrayList<>();
|
List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(new QueryWrapper<ComPbOrgDO>().lambda()
|
.eq(ComPbOrgDO::getCommunityId, communityId).eq(ComPbOrgDO::getStatus, 1));
|
if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
|
comPbOrgDOS.forEach(comPbOrgDO -> {
|
PartyOrganizationVO partyOrganizationVO = new PartyOrganizationVO();
|
partyOrganizationVO.setId(comPbOrgDO.getId());
|
partyOrganizationVO.setName(comPbOrgDO.getName());
|
partyOrganizationVO.setStatus(comPbOrgDO.getStatus());
|
partyOrganizationVOS.add(partyOrganizationVO);
|
});
|
}
|
return partyOrganizationVOS;
|
}
|
|
/**
|
* 社区所有党组织列表
|
*
|
* @return 党组织集合
|
*/
|
@Override
|
public R listPartyOrganizationAll(PartyOrganizationVO partyOrganizationVO) {
|
IPage<PartyOrganizationVO> orgPgaeList = this.comPbOrgDAO.listPartyOrganizationAll(
|
new Page(partyOrganizationVO.getPageNum(), partyOrganizationVO.getPageSize()), partyOrganizationVO);
|
if (!ObjectUtils.isEmpty(orgPgaeList.getRecords())) {
|
orgPgaeList.getRecords().forEach(comPbOrgDO -> {
|
List<ComPbMemberDO> comPbMemberDOs = comPbMemberDAO.selectList(
|
new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getOrgId, comPbOrgDO.getId()));
|
comPbOrgDO.setCountPerson(comPbMemberDOs.size());
|
});
|
}
|
return R.ok(orgPgaeList);
|
}
|
|
/**
|
* 新增党支部
|
*
|
* @param partyOrganizationVO
|
* 党支部基本信息
|
* @return 新增结果
|
*/
|
@Override
|
public R addPartyOrganization(PartyOrganizationVO partyOrganizationVO) {
|
ComPbOrgDO comPbOrgDO = new ComPbOrgDO();
|
BeanUtils.copyProperties(partyOrganizationVO, comPbOrgDO);
|
comPbOrgDO.setLevel(1);
|
comPbOrgDO.setParentId(0L);
|
int insert = comPbOrgDAO.insert(comPbOrgDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 编辑党支部
|
*
|
* @param partyOrganizationVO
|
* 党支部基本信息
|
* @return 编辑结果
|
*/
|
@Override
|
public R updatePartyOrganization(PartyOrganizationVO partyOrganizationVO) {
|
ComPbOrgDO comPbOrgDO = new ComPbOrgDO();
|
BeanUtils.copyProperties(partyOrganizationVO, comPbOrgDO);
|
comPbOrgDO.setLevel(1);
|
comPbOrgDO.setParentId(0L);
|
int insert = comPbOrgDAO.updateById(comPbOrgDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 启用,禁用党支部
|
*
|
* @param partyOrganizationVO
|
* 党支部基本信息
|
* @return 编辑结果
|
*/
|
@Override
|
public R resetPartyOrganization(PartyOrganizationVO partyOrganizationVO) {
|
ComPbOrgDO comPbOrgDO = comPbOrgDAO.selectById(partyOrganizationVO.getId());
|
if (ObjectUtils.isEmpty(comPbOrgDO)) {
|
return R.fail("没有此党支部");
|
}
|
comPbOrgDO.setStatus(partyOrganizationVO.getStatus());
|
int insert = comPbOrgDAO.updateById(comPbOrgDO);
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 删除党支部
|
*
|
* @param partyOrganizationVO
|
* 党支部基本信息
|
* @return 编辑结果
|
*/
|
@Override
|
public R deletePartyOrganization(PartyOrganizationVO partyOrganizationVO) {
|
List<ComPbMemberDO> comPbMemberDOs = comPbMemberDAO.selectList(
|
new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getOrgId, partyOrganizationVO.getId()));
|
if (!CollectionUtils.isEmpty(comPbMemberDOs) && comPbMemberDOs.size() > 0) {
|
return R.fail("该党组织下已有党员,不能删除!");
|
}
|
int insert = comPbOrgDAO.deleteById(partyOrganizationVO.getId());
|
if (insert > 0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
public List<PartyOrganizationVO> listPartyOrganizationByApp(ComListPartyDTO comListPartyDTO) {
|
List<PartyOrganizationVO> partyOrganizationVOS = new ArrayList<>();
|
QueryWrapper<ComPbOrgDO> queryWrapper = new QueryWrapper<>();
|
queryWrapper.lambda().eq(ComPbOrgDO::getStatus, 1);
|
if (comListPartyDTO.getCommunityId() != null) {
|
queryWrapper.lambda().eq(ComPbOrgDO::getCommunityId, comListPartyDTO.getCommunityId());
|
}
|
if (!StringUtils.isEmpty(comListPartyDTO.getName())) {
|
queryWrapper.lambda().like(ComPbOrgDO::getName, comListPartyDTO.getName());
|
}
|
List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(queryWrapper);
|
if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
|
comPbOrgDOS.forEach(comPbOrgDO -> {
|
PartyOrganizationVO partyOrganizationVO = new PartyOrganizationVO();
|
partyOrganizationVO.setId(comPbOrgDO.getId());
|
partyOrganizationVO.setName(comPbOrgDO.getName());
|
partyOrganizationVO.setStatus(comPbOrgDO.getStatus());
|
partyOrganizationVOS.add(partyOrganizationVO);
|
});
|
}
|
return partyOrganizationVOS;
|
}
|
}
|