huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/PartyOrganizationServiceImpl.java
@@ -1,7 +1,17 @@
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.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.partybuilding.ComListPartyDTO;
@@ -13,16 +23,6 @@
import com.panzhihua.service_dangjian.model.dos.ComPbOrgDO;
import com.panzhihua.service_dangjian.service.PartyOrganizationService;
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 javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
@@ -31,149 +31,154 @@
 **/
@Service
public class PartyOrganizationServiceImpl implements PartyOrganizationService {
   @Resource
   private ComPbOrgDAO comPbOrgDAO;
   @Resource
   private ComPbMemberDAO comPbMemberDAO;
    @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 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);
   }
    /**
     * 社区所有党组织列表
     *
     * @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 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 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 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();
   }
    /**
     * 删除党支部
     *
     * @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;
   }
    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;
    }
}