guoshilong
2024-02-20 c2fa12a34eab9acf275915f551bf7c7d720ca2b1
src/main/java/org/springblade/modules/ownersCommittee/service/impl/OwnersCommitteeServiceImpl.java
@@ -16,17 +16,25 @@
 */
package org.springblade.modules.ownersCommittee.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.district.entity.DistrictEntity;
import org.springblade.modules.district.service.IDistrictService;
import org.springblade.modules.ownersCommittee.dto.OwnersCommitteeDTO;
import org.springblade.modules.ownersCommittee.entity.OwnersCommitteeEntity;
import org.springblade.modules.ownersCommittee.vo.OwnersCommitteeVO;
import org.springblade.modules.ownersCommittee.mapper.OwnersCommitteeMapper;
import org.springblade.modules.ownersCommittee.service.IOwnersCommitteeService;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.ownersCommittee.vo.OwnersCommitteeVO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 业委会表 服务实现类
@@ -39,6 +47,16 @@
   @Override
   public IPage<OwnersCommitteeVO> selectOwnersCommitteePage(IPage<OwnersCommitteeVO> page, OwnersCommitteeVO ownersCommittee) {
      String userRole = AuthUtil.getUserRole();
      // 街道身份,只查找该街道下面的业委会
      if (userRole.contains("jdgly")) {
         List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
         IDistrictService bean = SpringUtils.getBean(IDistrictService.class);
         List<DistrictEntity> list = bean.list(Wrappers.<DistrictEntity>lambdaQuery()
            .in(DistrictEntity::getCommunityCode, regionChildCodesList));
         List<String> fieldValues = list.stream().map(DistrictEntity::getId).collect(Collectors.toList());
         ownersCommittee.setAreaIdList(fieldValues);
      }
      return page.setRecords(baseMapper.selectOwnersCommitteePage(page, ownersCommittee));
   }
@@ -49,8 +67,7 @@
    * @return 业委会表
    */
   @Override
   public OwnersCommitteeDTO selectOwnersCommitteeById(Integer id)
   {
   public OwnersCommitteeDTO selectOwnersCommitteeById(Integer id) {
      return this.baseMapper.selectOwnersCommitteeById(id);
   }
@@ -61,9 +78,24 @@
    * @return 业委会表集合
    */
   @Override
   public List<OwnersCommitteeDTO> selectOwnersCommitteeList(OwnersCommitteeDTO ownersCommitteeDTO)
   {
   public List<OwnersCommitteeDTO> selectOwnersCommitteeList(OwnersCommitteeDTO ownersCommitteeDTO) {
      return this.baseMapper.selectOwnersCommitteeList(ownersCommitteeDTO);
   }
   @Override
   public Boolean saveOrUpdateOwnersCommittee(OwnersCommitteeEntity ownersCommittee) {
      boolean b = saveOrUpdate(ownersCommittee);
      if (b) {
         // 更新负责人用户角色
         IUserService bean = SpringUtils.getBean(IUserService.class);
         User userInfo = bean.getOne(Wrappers.<User>lambdaQuery().eq(User::getId, ownersCommittee.getPrincipalId()));
         // 判断角色
         if (!userInfo.getRoleId().contains("1759487358708310017")) {
            userInfo.setRoleId(userInfo.getRoleId() + ",1759487358708310017");
         }
         bean.updateById(userInfo);
      }
      //
      return b;
   }
}