liujie
3 天以前 d130547c1f3b64cf8544261cdf1d9146ff319756
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.sangeshenbian.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,18 +11,23 @@
import com.panzhihua.sangeshenbian.dao.SystemUserLevelMapper;
import com.panzhihua.sangeshenbian.dao.SystemUserMapper;
import com.panzhihua.sangeshenbian.model.entity.ComAct;
import com.panzhihua.sangeshenbian.model.entity.ComStreet;
import com.panzhihua.sangeshenbian.model.entity.PartyMember;
import com.panzhihua.sangeshenbian.model.entity.SystemUser;
import com.panzhihua.sangeshenbian.model.entity.SystemUserLevel;
import com.panzhihua.sangeshenbian.model.vo.RegionVO;
import com.panzhihua.sangeshenbian.service.IComActService;
import com.panzhihua.sangeshenbian.service.IComStreetService;
import com.panzhihua.sangeshenbian.service.ISystemUserService;
import com.panzhihua.sangeshenbian.warpper.SystemUserList;
import com.panzhihua.sangeshenbian.warpper.SystemUserListVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
@@ -29,11 +35,13 @@
 * @author zhibing.pu
 * @Date 2025/2/18 22:30
 */
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemUser> implements ISystemUserService {
   private final IComActService comActService;
   private final SystemUserLevelMapper systemUserLevelMapper;
   private final IComStreetService comStreetService;
   /**
    * 获取列表数据
    * @param query
@@ -46,7 +54,8 @@
      page.setSize(query.getPageSize());
      IPage<SystemUserListVo> list = this.baseMapper.list(page, user, query);
      list.getRecords().forEach(item -> {
         List<SystemUserLevel> systemUserLevels = systemUserLevelMapper.selectList(new LambdaQueryWrapper<SystemUserLevel>().eq(SystemUserLevel::getSystemUserId, item.getId()));
         List<SystemUserLevel> systemUserLevels = systemUserLevelMapper.selectList(new LambdaQueryWrapper<SystemUserLevel>().eq(SystemUserLevel::getStatus,1).eq(SystemUserLevel::getSystemUserId, item.getId()));
         systemUserLevels.sort(Comparator.comparing(SystemUserLevel::getLevel));
         item.setList(systemUserLevels);
      });
      return list;
@@ -117,7 +126,9 @@
    */
   @Override
   public List<RegionVO> getRegionTree(SystemUserVo loginUserInfo) {
      Integer accountLevel = loginUserInfo.getAccountLevel();
      log.info("getRegionTree入参:{}",JSONObject.toJSONString(loginUserInfo));
      SystemUser systemUser = getById(loginUserInfo.getId());
      Integer accountLevel = systemUser.getAccountLevel();
      List<RegionVO> regionTree = new ArrayList<>();
      switch (accountLevel) {
         case 1:
@@ -133,17 +144,23 @@
            });
            break;
         case 2:
            regionTree = baseMapper.getStreet(loginUserInfo.getDistrictsCode());
            regionTree = baseMapper.getStreet(systemUser.getDistrictsCode());
            regionTree.forEach(regionVO->{
               List<RegionVO> communities = baseMapper.getCommunity(regionVO.getId());
               regionVO.setChildren(communities);
            });
            break;
         case 3:
            regionTree = baseMapper.getCommunity(loginUserInfo.getStreetId());
            ComStreet street = comStreetService.getById(systemUser.getStreetId());
            RegionVO streetVO = new RegionVO();
            streetVO.setId(street.getStreetId());
            streetVO.setName(street.getName());
            List<RegionVO> communities = baseMapper.getCommunity(systemUser.getStreetId());
            streetVO.setChildren(communities);
            regionTree = Lists.newArrayList(streetVO);
            break;
         case 4:
            ComAct byId = comActService.getById(loginUserInfo.getCommunityId());
            ComAct byId = comActService.getById(systemUser.getCommunityId());
            RegionVO regionVO = new RegionVO();
            regionVO.setId(byId.getCommunityId().toString());
            regionVO.setName(byId.getName());