feat: bug-243 管理端权限调整,添加对客户端菜单的支持
This commit is contained in:
parent
b4ecf2f8f0
commit
62b3f2fa30
|
|
@ -458,4 +458,16 @@ public class AppUserController extends ControllerBase {
|
|||
emailService.sendEmail(request.getEmail(), subject, content);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 授权角色
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("authorizeRole")
|
||||
@MethodInfoMark(value = "授权角色", menuName = "账号管理")
|
||||
@ApiMark(moduleName = "账号管理", apiName = "授权角色")
|
||||
public ApiResult<Void> authorizeRole(@Valid @RequestBody AuthorizeRoleRequest request) {
|
||||
appUserService.authorizeRole(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
}
|
||||
|
|
@ -22,6 +22,7 @@ import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
|||
import com.nflg.mobilebroken.common.util.EecExcelUtil;
|
||||
import com.nflg.mobilebroken.common.util.PageUtil;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
import com.nflg.mobilebroken.repository.entity.DictionaryItem;
|
||||
import com.nflg.mobilebroken.repository.entity.DictionaryItemTranslate;
|
||||
import com.nflg.mobilebroken.repository.entity.Language;
|
||||
import com.nflg.mobilebroken.repository.service.IDictionaryItemService;
|
||||
|
|
@ -37,6 +38,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.IOException;
|
||||
|
|
@ -212,4 +214,15 @@ public class DictionaryController extends ControllerBase {
|
|||
throw new NflgException(STATE.BusinessError, "文件处理失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据字典编码获取字典值列表
|
||||
* @param dictionaryCode 字典编码
|
||||
* @return 字典值列表
|
||||
*/
|
||||
@GetMapping("getListByDictionaryCode")
|
||||
@ApiMark(moduleName = "字典管理", apiName = "根据字典编码获取字典值列表",isPublic = true)
|
||||
public ApiResult<List<DictionaryItem>> getListByDictionaryCode(@Valid @RequestParam @NotBlank String dictionaryCode){
|
||||
return ApiResult.success(dictionaryItemService.getListByDictionaryCode(dictionaryCode));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +1,24 @@
|
|||
package com.nflg.mobilebroken.admin.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.mobilebroken.admin.annotation.ApiMark;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||
import com.nflg.mobilebroken.common.pojo.request.*;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AdminMenuButtonVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.ApiVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.MenuVO;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminApiService;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminMenuButtonApiMapService;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminMenuButtonService;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminMenuService;
|
||||
import com.nflg.mobilebroken.repository.entity.DictionaryItem;
|
||||
import com.nflg.mobilebroken.repository.service.*;
|
||||
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 菜单相关接口
|
||||
|
|
@ -39,6 +41,9 @@ public class MenuController extends ControllerBase {
|
|||
@Resource
|
||||
private IAdminMenuButtonApiMapService adminMenuButtonApiMapService;
|
||||
|
||||
@Resource
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
|
||||
/**
|
||||
* 搜索菜单
|
||||
* @param request 请求信息
|
||||
|
|
@ -46,7 +51,22 @@ public class MenuController extends ControllerBase {
|
|||
@PostMapping("searchMenu")
|
||||
@ApiMark(moduleName = "菜单管理", apiName = "搜索菜单")
|
||||
public ApiResult<PageData<MenuVO>> searchMenu(@Valid @RequestBody MenuSearchRequest request) {
|
||||
return ApiResult.success(adminMenuService.search(request));
|
||||
List<DictionaryItem> items=dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SERVICE);
|
||||
IPage<MenuVO> page=adminMenuService.search(request);
|
||||
bindMenuService(page.getRecords(),items);
|
||||
return ApiResult.success(page);
|
||||
}
|
||||
|
||||
private void bindMenuService(List<MenuVO> datas,List<DictionaryItem> items){
|
||||
if (CollectionUtil.isNotEmpty(datas)){
|
||||
datas.forEach(m -> {
|
||||
if (Objects.nonNull(m.getServiceDescId())){
|
||||
DictionaryItem item=items.stream().filter(i -> i.getId().equals(m.getServiceDescId())).findFirst().get();
|
||||
m.setServiceDesc(item.getValue());
|
||||
}
|
||||
bindMenuService(m.getChildren(),items);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ public class AdminController extends ControllerBase {
|
|||
@GetMapping("getPermissionMenus")
|
||||
public ApiResult<List<MenuVO>> getPermissionMenus() {
|
||||
VUtils.trueThrow(!SaTokenAdminUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
|
||||
return ApiResult.success(adminRoleService.getMenusByRoleCodes(AdminUserUtil.getUserId()));
|
||||
return ApiResult.success(adminRoleService.getMenusByRoleCodes("admin",AdminUserUtil.getUserId(), "admin"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,9 +8,13 @@ import com.nflg.mobilebroken.common.constant.STATE;
|
|||
import com.nflg.mobilebroken.common.constant.UserState;
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AppLoginVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.MenuVO;
|
||||
import com.nflg.mobilebroken.common.util.AppUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.SaTokenAdminUtil;
|
||||
import com.nflg.mobilebroken.common.util.SaTokenAppUtil;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
import com.nflg.mobilebroken.repository.entity.AppUser;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminRoleService;
|
||||
import com.nflg.mobilebroken.repository.service.IAppUserService;
|
||||
import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
|
@ -20,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.chrono.ChronoLocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -37,6 +42,9 @@ public class AppController extends ControllerBase {
|
|||
@Resource
|
||||
private IDictionaryItemTranslateService dictionaryItemTranslateService;
|
||||
|
||||
@Resource
|
||||
private IAdminRoleService adminRoleService;
|
||||
|
||||
/**
|
||||
* 用户端登录
|
||||
* @param userName 用户名
|
||||
|
|
@ -80,4 +88,14 @@ public class AppController extends ControllerBase {
|
|||
// StpUtil.logout();
|
||||
// return ApiResult.success();
|
||||
//}
|
||||
|
||||
/**
|
||||
* 获取权限菜单
|
||||
* @return 权限列表
|
||||
*/
|
||||
@GetMapping("getPermissionMenus")
|
||||
public ApiResult<List<MenuVO>> getPermissionMenus() {
|
||||
VUtils.trueThrow(!SaTokenAdminUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
|
||||
return ApiResult.success(adminRoleService.getMenusByRoleCodes("app",AppUserUtil.getUserId(), "app"));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,4 +122,5 @@ public class Constant {
|
|||
public static final String DICTIONARY_AD_TYPE ="AdvertisementType";
|
||||
|
||||
public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
|
||||
public static final String DICTIONARY_SERVICE = "SystemService";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,4 +34,8 @@ public class MenuAddRequest {
|
|||
// 是否显示
|
||||
@NotNull
|
||||
private boolean show;
|
||||
|
||||
//服务标识,字典项ID
|
||||
@NotNull
|
||||
private Integer serviceDescId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,7 @@ import lombok.experimental.Accessors;
|
|||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Data
|
||||
|
|
@ -106,6 +103,9 @@ public class AppUserForAdminVO {
|
|||
//职位id
|
||||
private Integer titleId;
|
||||
|
||||
//所属角色
|
||||
private Collection<RoleSimpleVO> roles;
|
||||
|
||||
//下级账号
|
||||
private List<AppUserForAdminVO> children=new ArrayList<>();
|
||||
|
||||
|
|
|
|||
|
|
@ -46,6 +46,12 @@ public class MenuVO {
|
|||
// 修改时间
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
//服务标识,字典项ID
|
||||
private Integer serviceDescId;
|
||||
|
||||
//服务标识,字典项名称
|
||||
private String serviceDesc;
|
||||
|
||||
//下级菜单
|
||||
private List<MenuVO> children = new ArrayList<>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,6 +66,11 @@ public class AdminMenu implements Serializable {
|
|||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 服务标识,字典项ID
|
||||
*/
|
||||
private Integer serviceDescId;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@ package com.nflg.mobilebroken.repository.entity;
|
|||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
|
|
@ -36,4 +37,9 @@ public class AdminUserRoleMap implements Serializable {
|
|||
* 用户id
|
||||
*/
|
||||
private Integer userId;
|
||||
|
||||
/**
|
||||
* 来源平台
|
||||
*/
|
||||
private String platform;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public interface AdminRoleMapper extends BaseMapper<AdminRole> {
|
|||
|
||||
List<String> getUrlsByRoleCodes(List<String> roleCodes);
|
||||
|
||||
List<MenuVO> getMenusByRoleCodes(Integer userId);
|
||||
List<MenuVO> getMenusByRoleCodes(String from,Integer userId,Integer serviceId);
|
||||
|
||||
IPage<RoleVO> search(RoleSearchRequest request, Page<?> page);
|
||||
|
||||
|
|
|
|||
|
|
@ -23,4 +23,6 @@ public interface DictionaryItemMapper extends BaseMapper<DictionaryItem> {
|
|||
String getName(String dictionaryCode, String itemCode);
|
||||
|
||||
List<DictionaryItem> getListByDictionaryCode(String code);
|
||||
|
||||
DictionaryItem getByCode(String dictionaryCode, String dictionaryItemCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public interface IAdminRoleService extends IService<AdminRole> {
|
|||
|
||||
List<String> getUrlsByRoleCodes(List<String> roleCodes);
|
||||
|
||||
List<MenuVO> getMenusByRoleCodes(Integer userId);
|
||||
List<MenuVO> getMenusByRoleCodes(String from,Integer userId,String serviceName);
|
||||
|
||||
IPage<RoleVO> search(RoleSearchRequest request);
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.nflg.mobilebroken.common.pojo.vo.AreaSimpleVO;
|
|||
import com.nflg.mobilebroken.common.pojo.vo.CompanyVO;
|
||||
import com.nflg.mobilebroken.repository.entity.AppUser;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -63,4 +64,6 @@ public interface IAppUserService extends IService<AppUser> {
|
|||
void deleteAppUser(Integer id);
|
||||
|
||||
List<AreaSimpleVO> getSimpleAreas(Integer userId);
|
||||
|
||||
void authorizeRole(@Valid AuthorizeRoleRequest request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,4 +25,6 @@ public interface IDictionaryItemService extends IService<DictionaryItem> {
|
|||
Integer getId(String dictionaryName, String dictionaryItemName);
|
||||
|
||||
List<DictionaryItem> getListByDictionaryCode(String code);
|
||||
|
||||
DictionaryItem getByCode(String dictionaryCode, String DictionaryItemCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ public class AdminMenuServiceImpl extends ServiceImpl<AdminMenuMapper, AdminMenu
|
|||
.setSort(request.getSort())
|
||||
.setEnable(request.isEnable())
|
||||
.setShow(request.isShow())
|
||||
.setServiceDescId(request.getServiceDescId())
|
||||
.setParentId(request.getParentId())
|
||||
.setCreateBy(AdminUserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
|
|
@ -90,6 +91,7 @@ public class AdminMenuServiceImpl extends ServiceImpl<AdminMenuMapper, AdminMenu
|
|||
.setSort(request.getSort())
|
||||
.setEnable(request.isEnable())
|
||||
.setShow(request.isShow())
|
||||
.setServiceDescId(request.getServiceDescId())
|
||||
.setParentId(request.getParentId())
|
||||
.setUpdateBy(AdminUserUtil.getUserName())
|
||||
.setUpdateTime(LocalDateTime.now());
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service.impl;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.RoleAddRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
|
||||
|
|
@ -11,11 +12,14 @@ import com.nflg.mobilebroken.common.pojo.vo.ButtonVO;
|
|||
import com.nflg.mobilebroken.common.pojo.vo.MenuVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.RoleVO;
|
||||
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminMenu;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminRole;
|
||||
import com.nflg.mobilebroken.repository.entity.DictionaryItem;
|
||||
import com.nflg.mobilebroken.repository.mapper.AdminRoleMapper;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminMenuService;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminRoleService;
|
||||
import com.nflg.mobilebroken.repository.service.IDictionaryItemService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -37,6 +41,9 @@ public class AdminRoleServiceImpl extends ServiceImpl<AdminRoleMapper, AdminRole
|
|||
@Resource
|
||||
private IAdminMenuService menuService;
|
||||
|
||||
@Resource
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
|
||||
@Override
|
||||
public void add(RoleAddRequest request) {
|
||||
AdminRole adminRole = new AdminRole()
|
||||
|
|
@ -76,8 +83,10 @@ public class AdminRoleServiceImpl extends ServiceImpl<AdminRoleMapper, AdminRole
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<MenuVO> getMenusByRoleCodes(Integer userId) {
|
||||
List<MenuVO> menus=baseMapper.getMenusByRoleCodes(userId);
|
||||
public List<MenuVO> getMenusByRoleCodes(String from,Integer userId,String serviceName) {
|
||||
DictionaryItem service = dictionaryItemService.getByCode(Constant.DICTIONARY_SERVICE, serviceName);
|
||||
VUtils.trueThrowBusinessError(Objects.isNull(service)).throwMessage("无效的服务:"+serviceName);
|
||||
List<MenuVO> menus=baseMapper.getMenusByRoleCodes(from,userId,service.getId());
|
||||
for (int i = 0; i < menus.size(); i++) {
|
||||
MenuVO menu = menus.get(i);
|
||||
bindParent(menu, menus);
|
||||
|
|
|
|||
|
|
@ -176,10 +176,12 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
|||
@Override
|
||||
public void authorizeRole(AuthorizeRoleRequest request) {
|
||||
adminUserRoleMapService.remove(new LambdaQueryWrapper<AdminUserRoleMap>()
|
||||
.eq(AdminUserRoleMap::getUserId, request.getUserId()));
|
||||
.eq(AdminUserRoleMap::getUserId, request.getUserId())
|
||||
.eq(AdminUserRoleMap::getPlatform, "admin"));
|
||||
if (CollectionUtil.isNotEmpty(request.getRoleIds())) {
|
||||
adminUserRoleMapService.saveBatch(request.getRoleIds().stream().map(roleId -> new AdminUserRoleMap()
|
||||
.setRoleId(roleId)
|
||||
.setPlatform("admin")
|
||||
.setUserId(request.getUserId()))
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
|
|
@ -365,6 +367,7 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
|||
private Collection<RoleSimpleVO> getRoles(Integer userId) {
|
||||
Collection<Integer> roleIds = adminUserRoleMapService.lambdaQuery()
|
||||
.eq(AdminUserRoleMap::getUserId, userId)
|
||||
.eq(AdminUserRoleMap::getPlatform, "admin")
|
||||
.list()
|
||||
.stream()
|
||||
.map(AdminUserRoleMap::getRoleId)
|
||||
|
|
|
|||
|
|
@ -10,10 +10,7 @@ import com.nflg.mobilebroken.common.constant.*;
|
|||
import com.nflg.mobilebroken.common.exception.NflgException;
|
||||
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||
import com.nflg.mobilebroken.common.pojo.request.*;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AppUserForAdminVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AppUserVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AreaSimpleVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.CompanyVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.*;
|
||||
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.AppUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.PageUtil;
|
||||
|
|
@ -63,6 +60,12 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
@Resource
|
||||
private ITBaseAreaService adminAreaService;
|
||||
|
||||
@Resource
|
||||
private IAdminUserRoleMapService adminUserRoleMapService;
|
||||
|
||||
@Resource
|
||||
private IAdminRoleService roleService;
|
||||
|
||||
@Resource
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
|
||||
|
|
@ -288,6 +291,20 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void authorizeRole(AuthorizeRoleRequest request) {
|
||||
adminUserRoleMapService.remove(new LambdaQueryWrapper<AdminUserRoleMap>()
|
||||
.eq(AdminUserRoleMap::getUserId, request.getUserId())
|
||||
.eq(AdminUserRoleMap::getPlatform, "app"));
|
||||
if (CollectionUtil.isNotEmpty(request.getRoleIds())) {
|
||||
adminUserRoleMapService.saveBatch(request.getRoleIds().stream().map(roleId -> new AdminUserRoleMap()
|
||||
.setRoleId(roleId)
|
||||
.setPlatform("app")
|
||||
.setUserId(request.getUserId()))
|
||||
.collect(Collectors.toList()));
|
||||
}
|
||||
}
|
||||
|
||||
private void bindChildren1(AreaSimpleVO vo) {
|
||||
List<AppArea> datas = appAreaService.lambdaQuery().eq(AppArea::getParentId, vo.getId()).eq(AppArea::getEnable, true).list();
|
||||
List<AreaSimpleVO> vos = datas.stream().map(d -> new AreaSimpleVO().setId(d.getId()).setName(d.getName())).collect(Collectors.toList());
|
||||
|
|
@ -377,9 +394,33 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper, AppUser> impl
|
|||
.skip((long) (request.getPage() - 1) * request.getPageSize())
|
||||
.limit(request.getPageSize())
|
||||
.collect(Collectors.toList());
|
||||
page.forEach(it->{
|
||||
if (it.getKey().startsWith("u-")) {
|
||||
it.setRoles(getRoles(it.getId()));
|
||||
}
|
||||
});
|
||||
return new PageData<AppUserForAdminVO>().setPage(request.getPage()).setPageSize(request.getPageSize()).setTotal(primarys.size()).setItems(page);
|
||||
}
|
||||
|
||||
private Collection<RoleSimpleVO> getRoles(Integer userId) {
|
||||
Collection<Integer> roleIds = adminUserRoleMapService.lambdaQuery()
|
||||
.eq(AdminUserRoleMap::getUserId, userId)
|
||||
.eq(AdminUserRoleMap::getPlatform, "app")
|
||||
.list()
|
||||
.stream()
|
||||
.map(AdminUserRoleMap::getRoleId)
|
||||
.collect(Collectors.toSet());
|
||||
if (CollectionUtil.isEmpty(roleIds)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return roleService.lambdaQuery()
|
||||
.in(AdminRole::getId, roleIds)
|
||||
.list()
|
||||
.stream()
|
||||
.map(r -> new RoleSimpleVO().setId(r.getId()).setName(r.getName()))
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
public PageData<AppUserForAdminVO> searchAppUserForAdmin1(SearchAppUserForAdminRequest request) {
|
||||
Page<AppUser> page = lambdaQuery()
|
||||
.eq(AppUser::getIsDel, false)
|
||||
|
|
|
|||
|
|
@ -135,4 +135,9 @@ public class DictionaryItemServiceImpl extends ServiceImpl<DictionaryItemMapper,
|
|||
public List<DictionaryItem> getListByDictionaryCode(String code) {
|
||||
return baseMapper.getListByDictionaryCode(code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DictionaryItem getByCode(String dictionaryCode, String DictionaryItemCode) {
|
||||
return baseMapper.getByCode(dictionaryCode, DictionaryItemCode);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
INNER JOIN admin_role_menu_map rmm ON r.id=rmm.role_id
|
||||
INNER JOIN admin_menu m ON rmm.menu_id=m.id
|
||||
INNER JOIN admin_user_role_map urm ON urm.role_id=r.id
|
||||
WHERE m.`enable`=1 AND r.`enable`=1 AND urm.user_id=#{userId}
|
||||
WHERE m.`enable`=1 AND r.`enable`=1 AND urm.user_id=#{userId} AND m.service_desc_id=#{serviceId} AND urm.platform=#{from}
|
||||
</select>
|
||||
|
||||
<select id="search" resultType="com.nflg.mobilebroken.common.pojo.vo.RoleVO">
|
||||
|
|
|
|||
|
|
@ -16,4 +16,11 @@
|
|||
WHERE d.`code`=#{code}
|
||||
ORDER BY di.id
|
||||
</select>
|
||||
|
||||
<select id="getByCode" resultType="com.nflg.mobilebroken.repository.entity.DictionaryItem">
|
||||
SELECT di.*
|
||||
FROM dictionary d
|
||||
INNER JOIN dictionary_item di ON d.id=di.dictionary_id
|
||||
WHERE d.`code`= #{dictionaryCode} AND di.`code`= #{dictionaryItemCode}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue