mitao
2024-12-02 950264a579736c1c51f1efe4baf0ac1476d5748c
finance-system/src/main/java/com/finance/system/service/impl/SysUserServiceImpl.java
@@ -7,11 +7,15 @@
import com.finance.common.constant.UserConstants;
import com.finance.common.core.domain.entity.SysRole;
import com.finance.common.core.domain.entity.SysUser;
import com.finance.common.enums.AreaLevelEnum;
import com.finance.common.enums.UserTypeEnum;
import com.finance.common.exception.ServiceException;
import com.finance.common.utils.BeanUtils;
import com.finance.common.utils.SecurityUtils;
import com.finance.common.utils.StringUtils;
import com.finance.common.utils.bean.BeanValidators;
import com.finance.common.utils.spring.SpringUtils;
import com.finance.system.domain.Region;
import com.finance.system.domain.SysPost;
import com.finance.system.domain.SysUserPost;
import com.finance.system.domain.SysUserRole;
@@ -21,8 +25,10 @@
import com.finance.system.mapper.SysUserPostMapper;
import com.finance.system.mapper.SysUserRoleMapper;
import com.finance.system.query.SysUserQuery;
import com.finance.system.service.IRegionService;
import com.finance.system.service.ISysConfigService;
import com.finance.system.service.ISysUserService;
import com.finance.system.vo.DeptVO;
import com.finance.system.vo.SysUserVO;
import java.util.ArrayList;
import java.util.List;
@@ -67,6 +73,8 @@
    @Autowired
    protected Validator validator;
    @Autowired
    private IRegionService regionService;
    /**
     * 根据条件分页查询用户列表
@@ -612,4 +620,23 @@
        return userMapper.selectPlatUserByUserName(userName);
    }
    @Override
    public List<DeptVO> queryDeptListByName(String deptName) {
        List<SysUser> list = this.lambdaQuery()
                .eq(SysUser::getUserType, UserTypeEnum.DEPARTMENT.getCode())
                .like(StringUtils.isNotBlank(deptName), SysUser::getAreaName,
                        deptName)
                .orderByDesc(SysUser::getCreateTime)
                .list();
        List<DeptVO> deptVOS = BeanUtils.copyList(list, DeptVO.class);
        deptVOS = deptVOS.stream()
                .filter(item -> null != item.getAreaLevel() && item.getAreaLevel()
                        .equals(AreaLevelEnum.COUNTY)).peek(item -> {
                    Region region = regionService.getParentByCode(item.getAreaCode());
                    if (region != null) {
                        item.setCityName(region.getName());
                    }
                }).collect(Collectors.toList());
        return deptVOS;
    }
}