|
@@ -13,7 +13,6 @@
|
|
|
package vip.xiaonuo.biz.modular.user.service.impl;
|
|
|
|
|
|
import cn.afterturn.easypoi.cache.manager.POICacheManager;
|
|
|
-import cn.afterturn.easypoi.entity.ImageEntity;
|
|
|
import cn.afterturn.easypoi.word.WordExportUtil;
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
@@ -22,7 +21,6 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
-import cn.hutool.core.img.ImgUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.lang.tree.Tree;
|
|
|
import cn.hutool.core.lang.tree.TreeNode;
|
|
@@ -69,7 +67,6 @@ import vip.xiaonuo.biz.modular.user.param.*;
|
|
|
import vip.xiaonuo.biz.modular.user.result.BizUserExportResult;
|
|
|
import vip.xiaonuo.biz.modular.user.result.BizUserRoleResult;
|
|
|
import vip.xiaonuo.biz.modular.user.service.BizUserService;
|
|
|
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
|
|
|
import vip.xiaonuo.common.excel.CommonExcelCustomMergeStrategy;
|
|
|
import vip.xiaonuo.common.exception.CommonException;
|
|
|
import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
|
|
@@ -158,6 +155,60 @@ public class BizUserServiceImpl extends ServiceImpl<BizUserMapper, BizUser> impl
|
|
|
return this.baseMapper.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Page<BizUser> userSelectorByRole(BizUserPageParam bizUserPageParam) {
|
|
|
+ // 获取角色ID
|
|
|
+ List<String> sysRoleIdList = sysRoleApi.getRoleIdList(bizUserPageParam.getRoleName());
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BizUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ // 只查询部分字段
|
|
|
+ lambdaQueryWrapper.select(BizUser::getId, BizUser::getOrgId, BizUser::getPositionId, BizUser::getAccount,
|
|
|
+ BizUser::getName, BizUser::getSortCode, BizUser::getGender, BizUser::getEntryDate);
|
|
|
+ // 判断角色
|
|
|
+ if(null != sysRoleIdList && 0 < sysRoleIdList.size()){
|
|
|
+ QueryWrapper<BizUser> queryWrapper = new QueryWrapper<BizUser>().checkSqlInjection();
|
|
|
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getSearchKey())) {
|
|
|
+ queryWrapper.like("a.name", bizUserPageParam.getSearchKey());
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getOrgId())) {
|
|
|
+ // 如果组织id不为空,则查询该组织及其子组织下的所有人
|
|
|
+ List<String> childOrgIdList = CollStreamUtil.toList(bizOrgService.getChildListById(bizOrgService
|
|
|
+ .getAllOrgList(), bizUserPageParam.getOrgId(), true), BizOrg::getId);
|
|
|
+ if (ObjectUtil.isNotEmpty(childOrgIdList)) {
|
|
|
+ queryWrapper.in("a.org_id", childOrgIdList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(sysRoleIdList)) {
|
|
|
+ queryWrapper.in("sro.ID", sysRoleIdList);
|
|
|
+ }
|
|
|
+ queryWrapper.eq("a.DELETE_FLAG", "NOT_DELETE");
|
|
|
+ return this.baseMapper.page(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
+ }else{
|
|
|
+ // 角色不存在,默认查询全部人员
|
|
|
+ if(ObjectUtil.isAllEmpty(bizUserPageParam.getOrgId(), bizUserPageParam.getSearchKey())) {
|
|
|
+ return this.page(CommonPageRequest.defaultPage(), new LambdaQueryWrapper<BizUser>().select(BizUser::getId,
|
|
|
+ BizUser::getOrgId, BizUser::getPositionId, BizUser::getAccount, BizUser::getName,
|
|
|
+ BizUser::getSortCode, BizUser::getGender, BizUser::getEntryDate).orderByAsc(BizUser::getSortCode));
|
|
|
+ } else {
|
|
|
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getOrgId())) {
|
|
|
+ // 如果组织id不为空,则查询该组织及其子组织下的所有人
|
|
|
+ List<String> childOrgIdList = CollStreamUtil.toList(bizOrgService.getChildListById(bizOrgService
|
|
|
+ .getAllOrgList(), bizUserPageParam.getOrgId(), true), BizOrg::getId);
|
|
|
+ if (ObjectUtil.isNotEmpty(childOrgIdList)) {
|
|
|
+ lambdaQueryWrapper.in(BizUser::getOrgId, childOrgIdList);
|
|
|
+ } else {
|
|
|
+ return new Page<>();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(bizUserPageParam.getSearchKey())) {
|
|
|
+ lambdaQueryWrapper.like(BizUser::getName, bizUserPageParam.getSearchKey());
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.orderByAsc(BizUser::getSortCode);
|
|
|
+ return this.page(CommonPageRequest.defaultPage(), lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void add(BizUserAddParam bizUserAddParam) {
|