Commit bcaf60f4 by 陶光胜

Merge branch 'developer' into 'master'

Developer

See merge request !12
parents 4f933859 4296d25e
......@@ -102,9 +102,10 @@ public interface CollaboratorApiService {
* @param enterpriseId
* @param phone
* @param appId

* @param userId 登录用户ID
* @return com.gic.api.base.commons.ServiceResponse<java.util.List<com.gic.auth.dto.MenuDTO>>


*/
ServiceResponse<List<MenuDTO>> getCollaboratorOperationItem(Integer enterpriseId, String phone, String appId, boolean isSuperAdmin);
ServiceResponse<List<MenuDTO>> getCollaboratorOperationItem(Integer enterpriseId, String phone, String appId, Integer userId);
/**
* 查询主键ID,协作人那边授权跳转,需要主键ID
......
......@@ -5,6 +5,7 @@ import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.dto.AuthItemListDTO;
import com.gic.auth.dto.MenuAuthDepartDTO;
import com.gic.auth.dto.MenuDTO;
import com.gic.auth.dto.UserDTO;
import com.gic.auth.qo.AuthItemSaveQO;
import com.gic.auth.qo.MenuListQO;
import com.gic.auth.qo.MenuOperationItemListQO;
......@@ -102,10 +103,10 @@ public interface MenuApiService {

* @author guojuxing
* @param menuIdList 协作应用权限
* @param appId 应用ID
* @param 
isSuperAdmin 是否是超级管理员
* @param 
userId 管理员
* @return com.gic.api.base.commons.ServiceResponse<java.util.List<com.gic.auth.dto.MenuDTO>>


*/
ServiceResponse<List<MenuDTO>> getCollaboratorAppOperationItem(List<Integer> menuIdList, String appId, boolean isSuperAdmin);
ServiceResponse<List<MenuDTO>> getCollaboratorAppOperationItem(List<Integer> menuIdList, String appId, Integer userId);
/**
* 获取登陆用户的应用菜单(页面类型)已构建成树结构
......@@ -221,9 +222,20 @@ public interface MenuApiService {
* @Description:

 * @author guojuxing
* @param enterpriseId
* @param userId 登录用户的ID
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


 */
ServiceResponse<List<MenuDTO>> listAppPageOfHasBuy(Integer enterpriseId);
ServiceResponse<List<MenuDTO>> listAppPageOfHasBuy(Integer enterpriseId, Integer userId);
/**
* 查询子管理员应用菜单权限数据
* @Title: listAppPageOfHasBuyForRole

* @Description:

* @author guojuxing
* @param enterpriseId

* @return com.gic.api.base.commons.ServiceResponse<java.util.List<com.gic.auth.dto.MenuDTO>>


*/
ServiceResponse<List<MenuDTO>> listAppPageOfHasBuyForRole(Integer enterpriseId);
/**
* 编辑gic页面
......@@ -404,4 +416,12 @@ public interface MenuApiService {
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>


*/
ServiceResponse<Void> syncProductMenu(String menuCode);
/**
* 过滤运维用户部门职位权限
* @param resultList
* @param tabSysUser
* @return
*/
ServiceResponse<List<MenuDTO>> filterOperationUserDepartAuth(List<MenuDTO> resultList, UserDTO tabSysUser);
}
......@@ -153,6 +153,11 @@
<artifactId>gic-goods-api</artifactId>
<version>${gic-goods-api}</version>
</dependency>
<dependency>
<groupId>com.gic.authcenter</groupId>
<artifactId>gic-authcenter-api</artifactId>
<version>${gic-authcenter-api}</version>
</dependency>
</dependencies>
<build>
......
......@@ -153,7 +153,9 @@ public interface TabSysMenuMapper {
* @param versionCode gic商户基础服务版本
* @return java.util.List<com.gic.auth.entity.TabSysMenu>


 */
List<TabSysMenu> listMenuTree(@Param("project") String project, @Param("versionCode") String versionCode);
List<TabSysMenu> listMenuTree(@Param("project") String project,
@Param("versionCode") String versionCode,
@Param("list") List<Integer> authTypeList);
List<TabSysMenu> selectByProjectList(@Param("projectList") List<String> projectList);
......@@ -167,7 +169,7 @@ public interface TabSysMenuMapper {
* @return java.util.List<com.gic.auth.entity.TabSysMenu>


 */
List<TabSysMenu> selectAppMenuByParam(@Param("projectList") List<String> projectList,
@Param("versionList") List<String> versionList);
@Param("versionList") List<String> versionList, @Param("authTypeList") List<Integer> authTypeList);
/**
* 相同code个数
......
......@@ -123,9 +123,10 @@ public interface MenuService {

 * @author guojuxing
* @param project

* @param versionCode gic商户基础服务版本
* @param authTypeList 权限适用 1:管理员 2:超管可用&达摩侧 3:仅达摩侧
* @return java.util.List<com.gic.auth.dto.MenuDTO>


 */
List<TabSysMenu> listMenuTree(String project, String versionCode);
List<TabSysMenu> listMenuTree(String project, String versionCode, List<Integer> authTypeList);
/**
* 根据项目查询
......@@ -144,9 +145,10 @@ public interface MenuService {

 * @author guojuxing
* @param projectList appID List
* @param versionList
 版本/拓展包 list
* @param authTypeList 1:普通管理员 2:超管&达摩 3:仅达摩
* @return java.util.List<com.gic.auth.entity.TabSysMenu>


 */
List<TabSysMenu> selectAppMenuByParam(List<String> projectList, List<String> versionList);
List<TabSysMenu> selectAppMenuByParam(List<String> projectList, List<String> versionList, List<Integer> authTypeList);
/**
* 是否重复页面code
......
......@@ -133,8 +133,8 @@ public class MenuServiceImpl implements MenuService {
}
@Override
public List<TabSysMenu> listMenuTree(String project, String versionCode) {
return tabSysMenuMapper.listMenuTree(project, versionCode);
public List<TabSysMenu> listMenuTree(String project, String versionCode, List<Integer> authTypeList) {
return tabSysMenuMapper.listMenuTree(project, versionCode, authTypeList);
}
@Override
......@@ -143,8 +143,8 @@ public class MenuServiceImpl implements MenuService {
}
@Override
public List<TabSysMenu> selectAppMenuByParam(List<String> projectList, List<String> versionList) {
return tabSysMenuMapper.selectAppMenuByParam(projectList, versionList);
public List<TabSysMenu> selectAppMenuByParam(List<String> projectList, List<String> versionList, List<Integer> authTypeList) {
return tabSysMenuMapper.selectAppMenuByParam(projectList, versionList, authTypeList);
}
@Override
......
......@@ -205,7 +205,7 @@ public class CollaboratorApiServiceImpl implements CollaboratorApiService {
}
@Override
public ServiceResponse<List<MenuDTO>> getCollaboratorOperationItem(Integer enterpriseId, String phone, String appId, boolean isSuperAdmin) {
public ServiceResponse<List<MenuDTO>> getCollaboratorOperationItem(Integer enterpriseId, String phone, String appId, Integer userId) {
TabSysCollaborator record = collaboratorService.getByPhoneAndAppId(enterpriseId, phone, appId);
if (record == null) {
LOGGER.info("协作人接口getIdByPhoneAndAppId入参数据:{}, {}, {}", enterpriseId, phone, appId);
......@@ -220,7 +220,7 @@ public class CollaboratorApiServiceImpl implements CollaboratorApiService {
menuIdList.add(menu.getMenuId());
}
}
return menuApiService.getCollaboratorAppOperationItem(menuIdList, appId, isSuperAdmin);
return menuApiService.getCollaboratorAppOperationItem(menuIdList, appId, userId);
}
@Override
......@@ -235,9 +235,9 @@ public class CollaboratorApiServiceImpl implements CollaboratorApiService {
@Override
public ServiceResponse<Void> deleteByPhoneAndAppId(Integer enterpriseId, String phone, String appId) {
LOGGER.info("协作人接口deleteByPhoneAndAppId入参数据:{}, {}, {}", enterpriseId, phone, appId);
TabSysCollaborator record = collaboratorService.getByPhoneAndAppId(enterpriseId, phone, appId);
if (record == null) {
LOGGER.info("协作人接口getIdByPhoneAndAppId入参数据:{}, {}, {}", enterpriseId, phone, appId);
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "参数有误,查无数据");
}
collaboratorService.deleteByPhoneAndAppId(enterpriseId, phone, appId);
......
......@@ -3,8 +3,14 @@ package com.gic.auth.service.outer.impl;
import java.util.*;
import java.util.stream.Collectors;
import com.gic.auth.dto.UserDTO;
import com.gic.auth.entity.*;
import com.gic.auth.qo.UserMenuQO;
import com.gic.authcenter.api.dto.GicDepartmentDTO;
import com.gic.authcenter.api.dto.GicPositionDTO;
import com.gic.authcenter.api.dto.GicUserDTO;
import com.gic.authcenter.api.service.GicDepartmentService;
import com.gic.authcenter.api.service.GicUserService;
import com.gic.commons.util.CollectionUtil;
import com.gic.enterprise.dto.EnterpriseDTO;
import com.gic.enterprise.dto.EnterpriseResourceRelDTO;
......@@ -62,6 +68,10 @@ public class MenuApiServiceImpl implements MenuApiService {
private BusinessFrontResService businessFrontResService;
@Autowired
private MenuAuthDepartService menuAuthDepartService;
@Autowired
private GicUserService gicUserService;
@Autowired
private GicDepartmentService gicDepartmentService;
@Override
public ServiceResponse<List<MenuDTO>> listByMenuIdList(List<Integer> menuIdList) {
......@@ -107,12 +117,17 @@ public class MenuApiServiceImpl implements MenuApiService {
if (StringUtils.isBlank(versionCode)) {
return ServiceResponse.success(new ArrayList<>());
}
//是否是运维用户
boolean isOperationUser = tabSysUser.getLoginType().intValue() != 0;
List<MenuDTO> result;
if (tabSysUser.getSuperAdmin().intValue() == 1) {
List<TabSysMenu> temp = new ArrayList<>();
//超级管理员
MenuListQO params = new MenuListQO();
if (!isOperationUser) {
params.setAuthTypeList(Arrays.stream(new Integer[]{1,2}).collect(Collectors.toList()));
}
//查询gic的菜单
params.setIsGIC(MenuProjectConstants.DEFAULT_PROJECT_CODE);
params.setVersionCode(versionCode);
......@@ -168,8 +183,8 @@ public class MenuApiServiceImpl implements MenuApiService {
}
@Override
public ServiceResponse<List<MenuDTO>> getCollaboratorAppOperationItem(List<Integer> menuIdList, String appId, boolean isSuperAdmin) {
return getAppNoAuthOperationItem(menuIdList, appId, isSuperAdmin);
public ServiceResponse<List<MenuDTO>> getCollaboratorAppOperationItem(List<Integer> menuIdList, String appId, Integer userId) {
return getAppNoAuthOperationItem(menuIdList, appId, userId);
}
@Override
......@@ -250,7 +265,8 @@ public class MenuApiServiceImpl implements MenuApiService {
@Override
public ServiceResponse<List<MenuDTO>> listMenuTreeForRole(String project, String versionCode) {
List<TabSysMenu> list = menuService.listMenuTree(project, versionCode);
//普通管理员级别的菜单,给子管理员适用
List<TabSysMenu> list = menuService.listMenuTree(project, versionCode, Arrays.asList(1));
if (CollectionUtils.isNotEmpty(list)) {
return ServiceResponse.success(EntityUtil.changeEntityListNew(MenuDTO.class, list));
}
......@@ -282,7 +298,7 @@ public class MenuApiServiceImpl implements MenuApiService {
}
@Override
public ServiceResponse<List<MenuDTO>> listAppPageOfHasBuy(Integer enterpriseId) {
public ServiceResponse<List<MenuDTO>> listAppPageOfHasBuy(Integer enterpriseId, Integer userId) {
ServiceResponse<List<ApplicationTokenDTO>> appResult = appTokenApiService
.listApplicationByeId(Long.valueOf(enterpriseId));
if (appResult.isSuccess()) {
......@@ -302,8 +318,32 @@ public class MenuApiServiceImpl implements MenuApiService {
}
}
}
List<TabSysMenu> tabSysMenuList;
if (userId != null) {
//过滤运营人员部门职位权限
TabSysUser tabSysUser = userService.getUserById(userId);
if (tabSysUser == null) {
return ServiceResponse.success(new ArrayList<>());
}
if (tabSysUser.getLoginType().intValue() != 0) {
tabSysMenuList = filterOperationUserDepartAuth(menuService
.selectAppMenuByParam(projectList, versionList, null), tabSysUser);
} else if (tabSysUser.getSuperAdmin().intValue() == 1) {
//超级管理员,包括1和2的权限适用
tabSysMenuList = menuService.selectAppMenuByParam(projectList,
versionList,
Arrays.stream(new Integer[]{1, 2}).collect(Collectors.toList()));
} else {
tabSysMenuList = menuService.selectAppMenuByParam(projectList, versionList, Arrays.asList(1));
}
} else {
//过滤
tabSysMenuList = menuService.selectAppMenuByParam(projectList, versionList, Arrays.asList(1));
}
List<MenuDTO> menuList = EntityUtil.changeEntityListNew(MenuDTO.class,
menuService.selectAppMenuByParam(projectList, versionList));
tabSysMenuList);
return ServiceResponse.success(menuList);
} else {
return ServiceResponse.success(new ArrayList<>());
......@@ -313,6 +353,11 @@ public class MenuApiServiceImpl implements MenuApiService {
}
@Override
public ServiceResponse<List<MenuDTO>> listAppPageOfHasBuyForRole(Integer enterpriseId) {
return listAppPageOfHasBuy(enterpriseId, null);
}
@Override
public ServiceResponse<Void> updateGICPage(MenuDTO menuDTO) {
return updatePage(menuDTO, MenuTypeEnum.PAGE, MenuDTO.SavePageValid.class);
}
......@@ -670,6 +715,13 @@ public class MenuApiServiceImpl implements MenuApiService {
return ServiceResponse.success();
}
@Override
public ServiceResponse<List<MenuDTO>> filterOperationUserDepartAuth(List<MenuDTO> resultList, UserDTO tabSysUser) {
List<TabSysMenu> list = filterOperationUserDepartAuth(EntityUtil.changeEntityListNew(TabSysMenu.class, resultList),
EntityUtil.changeEntityNew(TabSysUser.class, tabSysUser));
return ServiceResponse.success(EntityUtil.changeEntityListNew(MenuDTO.class, list));
}
private ServiceResponse<Void> savePage(MenuDTO menuDTO, Class clazz) {
ServiceResponse paramsValid = ValidParamsUtils.allCheckValidate(menuDTO, clazz);
if (!paramsValid.isSuccess()) {
......@@ -840,6 +892,7 @@ public class MenuApiServiceImpl implements MenuApiService {
menuDTO.setMenuName(app.getName());
menuDTO.setProject(app.getApplicationId().toString());
setMenuVersion(app.getPropDTOList(), app.getServeExpanList(), menuDTO);
// setMenuAuthType(menuDTO);
menuDTO.setMenuId(appMenu.get(app.getApplicationId().toString()).getMenuId());
menuService.updatePage(menuDTO);
} else {
......@@ -847,6 +900,7 @@ public class MenuApiServiceImpl implements MenuApiService {
menuDTO.setMenuName(app.getName());
menuDTO.setProject(app.getApplicationId().toString());
setMenuVersion(app.getPropDTOList(), app.getServeExpanList(), menuDTO);
// setMenuAuthType(menuDTO);
setNormalFieldValue(menuDTO);
menuService.savePage(menuDTO);
}
......@@ -1044,7 +1098,7 @@ public class MenuApiServiceImpl implements MenuApiService {
}
/**
* 查询用户拥有的权限菜单(页面、权限项)
* 查询用户拥有的权限菜单(页面、权限项)(已经过滤登录用)
* @Title: getUserMenuList

* @Description:

 * @author guojuxing
......@@ -1052,6 +1106,8 @@ public class MenuApiServiceImpl implements MenuApiService {
* @return java.util.List<com.gic.auth.entity.TabSysMenu>


 */
private List<TabSysMenu> getUserMenuList(Integer userId) {
TabSysUser tabSysUser = userService.getUserById(userId);
//查询用户的权限集
List<UserRoleDTO> userRoleList = userRoleService.listUserRoleByUserId(userId);
List<Integer> roleIdList = new ArrayList<>(userRoleList.size());
......@@ -1065,7 +1121,7 @@ public class MenuApiServiceImpl implements MenuApiService {
menuIdList.add(menuRole.getMenuId());
}
List<TabSysMenu> menuList = menuService.selectByIds(menuIdList);
return menuList;
return filterOperationUserDepartAuth(menuList, tabSysUser);
}
/**
......@@ -1110,25 +1166,7 @@ public class MenuApiServiceImpl implements MenuApiService {
}
if (params.isOperationUser()) {
resultList = this.menuService.listMenu(menuListParams);
//todo 运营人员的部门职位;根据手机号查询运维人员的部门职位信息
//如果是运营人员
Set<String> departPosition = new HashSet<>(2);
//过滤运营人员的部门职位权限
Map<String, List<TabSysMenuAuthDepart>> departMap = getAuthDepartMap(null);
resultList = resultList.stream().filter(e -> {
List<TabSysMenuAuthDepart> authList = departMap.get(e.getMenuCode());
if (authList == null) {
//如果是空的,说明是全部权限
return true;
}
//验证departPosition是否存在一个于authList中
if (authList.stream().anyMatch(auth -> departPosition.contains(auth.getDepartCode() + "-" + auth.getPositionCode()))) {
return true;
}
return false;
}).collect(Collectors.toList());
resultList = filterOperationUserDepartAuth(this.menuService.listMenu(menuListParams), tabSysUser);
} else {
if (tabSysUser.getSuperAdmin().intValue() == 1) {
......@@ -1178,6 +1216,65 @@ public class MenuApiServiceImpl implements MenuApiService {
}
/**
* 过滤达摩侧用户的部门职位权限
* @param resultList
* @param tabSysUser
* @return
*/
private List<TabSysMenu> filterOperationUserDepartAuth(List<TabSysMenu> resultList, TabSysUser tabSysUser) {
if (tabSysUser != null && tabSysUser.getLoginType().intValue() != 0) {
//运营人员的部门职位;根据手机号查询运维人员的部门职位信息
GicUserDTO gicUserDTO = gicUserService.getUserByMobile(tabSysUser.getPhoneNumber());
LOGGER.info("运维人员的部门职位数据:{}", JSON.toJSONString(gicUserDTO));
//如果是运营人员
Set<String> departPosition = new HashSet<>(2);
String departmentCode = gicUserDTO.getDepartmentCode();
if (StringUtils.isNotBlank(departmentCode)) {
if (StringUtils.isBlank(gicUserDTO.getPositionCode())) {
//如果职位code是空,则取下面全部的职位code
List<GicDepartmentDTO> gicDepartmentDTOList = gicDepartmentService.listAllGicDepartment();
if (CollectionUtils.isNotEmpty(gicDepartmentDTOList)) {
Map<String, List<GicPositionDTO>> departMap = gicDepartmentDTOList
.stream()
.collect(Collectors.toMap(e -> e.getDepartmentCode(), e -> e.getPositionList()));
List<GicPositionDTO> positionList = departMap.get(departmentCode);
if (CollectionUtils.isNotEmpty(positionList)) {
positionList.forEach(e -> {
departPosition.add(departmentCode + "-" + e.getPositionCode());
});
}
}
}
}
//过滤运营人员的部门职位权限
Map<String, List<TabSysMenuAuthDepart>> departMap = getAuthDepartMap(null);
return resultList.stream().filter(e -> {
if (e.getAuthType().intValue() == 1) {
//普通管理员的都有效,不需要判断部门职位
return true;
}
List<TabSysMenuAuthDepart> authList = departMap.get(e.getMenuCode());
if (authList == null) {
//如果是空的,说明是全部权限
return true;
}
//验证departPosition是否存在一个于authList中
if (authList.stream().anyMatch(auth -> departPosition.contains(auth.getDepartCode() + "-" + auth.getPositionCode()))) {
return true;
}
return false;
}).collect(Collectors.toList());
} else if (tabSysUser != null && tabSysUser.getSuperAdmin().intValue() == 1) {
//超级管理员
return resultList.stream().filter(e -> e.getAuthType().intValue() != 3).collect(Collectors.toList());
} else if (tabSysUser != null && tabSysUser.getSuperAdmin().intValue() == 0) {
//普通管理员
return resultList.stream().filter(e -> e.getAuthType().intValue() == 1).collect(Collectors.toList());
}
return resultList;
}
/**
* 查询出所有的部门职位,用于过滤运营人员权限
* @param menuCodeList
* @return
......@@ -1258,9 +1355,13 @@ public class MenuApiServiceImpl implements MenuApiService {
if (tabSysUser == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "用户不存在");
}
//添加逻辑:如果是超级管理员,直接全部有效,不存在没有权限的操作项
if (tabSysUser.getSuperAdmin().intValue() == 1) {
return ServiceResponse.success(new ArrayList<>());
//
MenuListQO params = new MenuListQO();
List<TabSysMenu> adminMenuList = filterOperationUserDepartAuth(menuService.listMenu(params), tabSysUser);
return ServiceResponse.success(EntityUtil.changeEntityListNew(MenuDTO.class, adminMenuList));
}
//用户拥有的菜单权限
......@@ -1268,12 +1369,12 @@ public class MenuApiServiceImpl implements MenuApiService {
List<MenuDTO> resultList = getNoAuthOperationItemByMenuIdList(menuList, projectCode, versionCode);
//仅超管可用
if (tabSysUser.getSuperAdmin().intValue() != 1) {
List<TabSysMenu> adminOnlyOperationItemList = menuService.listAdminOnlyOperationItem();
if (CollectionUtils.isNotEmpty(adminOnlyOperationItemList)) {
resultList.addAll(EntityUtil.changeEntityListNew(MenuDTO.class, adminOnlyOperationItemList));
}
}
// if (tabSysUser.getSuperAdmin().intValue() != 1) {
// List<TabSysMenu> adminOnlyOperationItemList = menuService.listAdminOnlyOperationItem();
// if (CollectionUtils.isNotEmpty(adminOnlyOperationItemList)) {
// resultList.addAll(EntityUtil.changeEntityListNew(MenuDTO.class, adminOnlyOperationItemList));
// }
// }
return ServiceResponse.success(resultList);
}
......@@ -1326,17 +1427,21 @@ public class MenuApiServiceImpl implements MenuApiService {
return resultList;
}
private ServiceResponse<List<MenuDTO>> getAppNoAuthOperationItem(List<Integer> menuIdList, String appId, boolean isSuperAdmin) {
private ServiceResponse<List<MenuDTO>> getAppNoAuthOperationItem(List<Integer> menuIdList, String appId, Integer userId) {
TabSysUser tabSysUser = userService.getUserById(userId);
if (tabSysUser == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "用户ID:" + userId + "用户不存在");
}
//用户拥有的菜单权限
List<TabSysMenu> menuList = menuService.selectByIds(menuIdList);
List<TabSysMenu> menuList = filterOperationUserDepartAuth(menuService.selectByIds(menuIdList), tabSysUser);
List<MenuDTO> resultList = getNoAuthOperationItemByMenuIdList(menuList, MenuProjectConstants.APP_PROJECT_CODE, "");
//仅超管可用
if (!isSuperAdmin) {
List<TabSysMenu> adminOnlyOperationItemList = menuService.listAdminOnlyOperationItem();
if (CollectionUtils.isNotEmpty(adminOnlyOperationItemList)) {
resultList.addAll(EntityUtil.changeEntityListNew(MenuDTO.class, adminOnlyOperationItemList));
}
}
// //仅超管可用
// if (!isSuperAdmin) {
// List<TabSysMenu> adminOnlyOperationItemList = menuService.listAdminOnlyOperationItem();
// if (CollectionUtils.isNotEmpty(adminOnlyOperationItemList)) {
// resultList.addAll(EntityUtil.changeEntityListNew(MenuDTO.class, adminOnlyOperationItemList));
// }
// }
//过滤应用
List<MenuDTO> tempResult = new ArrayList<>();
if (CollectionUtils.isNotEmpty(resultList)) {
......
......@@ -69,4 +69,6 @@
<dubbo:reference interface="com.gic.member.config.api.service.AuthorizationEnterConfApiService" id="authorizationEnterConfApiService" timeout="6000" />
<dubbo:reference interface="com.gic.goods.api.service.GoodsRightsSelectorApiService" id="goodsRightsSelectorApiService" timeout="6000" />
<dubbo:reference interface="com.gic.authcenter.api.service.GicUserService" id="gicUserService" timeout="6000" />
<dubbo:reference interface="com.gic.authcenter.api.service.GicDepartmentService" id="gicDepartmentService" timeout="6000" />
</beans>
......@@ -456,6 +456,12 @@
<if test="versionCode != null and versionCode != '' ">
and menu_version like concat('%_', #{versionCode}, '_%' )
</if>
<if test="null != list and list.size() &gt; 0">
and auth_type in
<foreach close=")" collection="list" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</if>
<include refid="tree_filter" />
order by level,sort
......@@ -497,6 +503,12 @@
</foreach>
)
</if>
<if test="null != authTypeList and authTypeList.size() &gt; 0">
and auth_type in
<foreach close=")" collection="authTypeList" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</if>
</select>
<select id="countByMenuCode" resultType="int">
......
......@@ -152,6 +152,8 @@ public class CollaboratorController extends DownloadUtils{
MenuListQO params = new MenuListQO();
params.setProject(appId);
params.setIsGIC(MenuProjectConstants.APP_PROJECT_CODE);
//普通管理员
params.setAuthTypeList(Arrays.asList(1));
ServiceResponse<List<MenuDTO>> appMenuList = menuApiService.listMenuTree(params);
if (appMenuList.isSuccess()) {
return RestResponse.success(changePageListToTree(MenuLevelConstants.FIRST_LEVEL_PARENT_ID, appMenuList.getResult()));
......
......@@ -133,9 +133,8 @@ public class MenuController {
LOGGER.info("查询登录用户的协作应用的操作项参数:{}-{}", appId, menuCode);
UserDetail userDetail = UserDetailUtils.getUserDetail();
appId = getAppId(appId, menuCode);
boolean isSuperAdmin = userDetail.getUserInfo().getSuperAdmin().intValue() == 1;
ServiceResponse<List<MenuDTO>> userMenu = this.collaboratorApiService.getCollaboratorOperationItem(
userDetail.getEnterpriseId(), userDetail.getUserInfo().getPhoneNumber(), appId, isSuperAdmin);
userDetail.getEnterpriseId(), userDetail.getUserInfo().getPhoneNumber(), appId, userDetail.getUserId());
return ResultControllerUtils.commonResult(userMenu, UserOperationItemAuthVO.class);
}
......@@ -209,7 +208,7 @@ public class MenuController {
boolean isSuperAdmin = userDetail.getUserInfo().getSuperAdmin().intValue() == 1;
ServiceResponse<List<MenuDTO>> result;
if (isSuperAdmin) {
result = menuApiService.listAppPageOfHasBuy(UserDetailUtils.getUserDetail().getEnterpriseId());
result = menuApiService.listAppPageOfHasBuy(UserDetailUtils.getUserDetail().getEnterpriseId(), userDetail.getUserId());
} else {
//权限控制
result = menuApiService.getUserMenuOfAppNotTree(userDetail.getEnterpriseId(), userDetail.getUserId(), null,
......@@ -268,7 +267,7 @@ public class MenuController {
}
ServiceResponse<List<MenuDTO>> appResult;
if (isSuperAdmin) {
appResult = menuApiService.listAppPageOfHasBuy(UserDetailUtils.getUserDetail().getEnterpriseId());
appResult = menuApiService.listAppPageOfHasBuy(UserDetailUtils.getUserDetail().getEnterpriseId(), userDetail.getUserId());
} else {
//权限控制
appResult = menuApiService.getUserMenuOfAppNotTree(userDetail.getEnterpriseId(), userDetail.getUserId(),
......
......@@ -68,9 +68,13 @@ public class ResourceController {
@RequestMapping("/list-sms-sign")
public RestResponse listSmsSign(String search) {
ServiceResponse<List<EnterpriseSmsSignDTO>> serviceResponse = smsApiService
ServiceResponse<List<EnterpriseSmsSignDTO>> response = smsApiService
.listSignByEnterprise(UserDetailUtils.getUserDetail().getEnterpriseId(), search);
return ResultControllerUtils.commonResult(serviceResponse);
if (response.isSuccess()) {
return RestResponse.success(EntityUtil.changeEntityListByJSON(EnterpriseSmsSignVO.class, response.getResult()));
} else {
return RestResponse.failure(response.getCode(), response.getMessage());
}
}
@RequestMapping("/save-resource")
......
......@@ -72,7 +72,7 @@ public class RoleController {
//app已购买应用
ServiceResponse<List<MenuDTO>> appResult = menuApiService
.listAppPageOfHasBuy(UserDetailUtils.getUserDetail().getEnterpriseId());
.listAppPageOfHasBuyForRole(UserDetailUtils.getUserDetail().getEnterpriseId());
//过滤商户基础应用
List<MenuDTO> appMenuList = appResult.getResult();
if (CollectionUtils.isNotEmpty(appMenuList)) {
......@@ -133,7 +133,7 @@ public class RoleController {
}
/**
* 查询列表数据
* 查询授权子管理菜单权限列表数据
* @Title: updateAppPage

* @Description:

 * @author guojuxing
......@@ -149,10 +149,14 @@ public class RoleController {
return EnterpriseRestResponse.failure(result);
}
/**
* 查询授权子管理员应用菜单权限数据
* @return
*/
@RequestMapping("/list-app-menu-tree")
public RestResponse listAppMenuTree() {
ServiceResponse<List<MenuDTO>> result = menuApiService
.listAppPageOfHasBuy(UserDetailUtils.getUserDetail().getEnterpriseId());
.listAppPageOfHasBuyForRole(UserDetailUtils.getUserDetail().getEnterpriseId());
if (result.isSuccess()) {
List<MenuDTO> menuList = result.getResult();
if (CollectionUtils.isNotEmpty(menuList)) {
......
......@@ -145,7 +145,13 @@ public class UserController {

 */
@RequestMapping("/get-login-user")
public RestResponse getLoginUser() {
LoginUserVO vo = EntityUtil.changeEntityNew(LoginUserVO.class, UserDetailUtils.getUserDetail().getUserInfo());
LoginUserVO vo;
ServiceResponse<UserDTO> userResult = userApiService.getUserInfoById(UserDetailUtils.getUserDetail().getUserId());
if (userResult.isSuccess()) {
vo = EntityUtil.changeEntityNew(LoginUserVO.class, userResult.getResult());
} else {
vo = new LoginUserVO();
}
//商户logo
EnterpriseInfo enterpriseInfo = UserDetailUtils.getUserDetail().getEnterpriseInfo();
vo.setLogo(enterpriseInfo.getLogo());
......@@ -263,6 +269,15 @@ public class UserController {
return ResultControllerUtils.commonResult(userApiService.listGicUser(UserDetailUtils.getUserDetail().getEnterpriseId()), UserOfGicVO.class);
}
@RequestMapping("/edit-user-name")
public RestResponse editUserName(String name) {
return OperationResultUtils.operationResult(userApiService
.updateOperationUser(UserDetailUtils.getUserDetail().getUserId(), name),
"修改用户名称",
UserDetailUtils.getUserDetail().getUserInfo().getPhoneNumber());
}
/**
* 逻辑删除用户对应分组数据
*
......
package com.gic.auth.web.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @author zhiwj
* @Description:
* @date 2020-06-10 16:37
*/
public class EnterpriseSmsSignVO implements Serializable {
private static final long serialVersionUID = 664328628311397146L;
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long signId;
private Integer enterpriseId;
private String smsSignId;
private String smsSignText;
private String smsAppid;
private Integer useType;
private Date createTime;
private Date updateTime;
private Integer deleteFlag;
public Long getSignId() {
return signId;
}
public void setSignId(Long signId) {
this.signId = signId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getSmsSignId() {
return smsSignId;
}
public void setSmsSignId(String smsSignId) {
this.smsSignId = smsSignId;
}
public String getSmsSignText() {
return smsSignText;
}
public void setSmsSignText(String smsSignText) {
this.smsSignText = smsSignText;
}
public String getSmsAppid() {
return smsAppid;
}
public void setSmsAppid(String smsAppid) {
this.smsAppid = smsAppid;
}
public Integer getUseType() {
return useType;
}
public void setUseType(Integer useType) {
this.useType = useType;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment