diff --git a/epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 6d2d5f48f4..434c1124c4 100644 --- a/epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -10,6 +10,7 @@ import com.epmet.feign.fallback.EpmetUserFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * @Description @@ -49,5 +50,5 @@ public interface EpmetUserFeignClient { * @Date 2020/3/16 16:14 **/ @PostMapping(value = "epmetuser/customeruser/selectLoginUserInfoByPassword", consumes = MediaType.APPLICATION_JSON_VALUE) - Result selectLoginUserInfoByPassword(PasswordLoginUserInfoFormDTO passwordLoginUserInfoFormDTO); + Result selectLoginUserInfoByPassword(@RequestBody PasswordLoginUserInfoFormDTO passwordLoginUserInfoFormDTO); } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java index c358b530b3..666d2dd8fd 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java @@ -53,4 +53,9 @@ public interface ServiceConstant { * 政府端组织架构 */ String GOV_ORG_SERVER = "gov-org-server"; + + /** + * 运营端访问权限控制 + */ + String OPER_ACCESS_SERVER = "oper-access-server"; } diff --git a/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperRoleDTO.java b/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperRoleDTO.java index b8710f2c47..3a60a013cc 100644 --- a/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperRoleDTO.java +++ b/epmet-module/oper-access/oper-access-client/src/main/java/com/epmet/dto/OperRoleDTO.java @@ -19,6 +19,8 @@ package com.epmet.dto; import java.io.Serializable; import java.util.Date; +import java.util.List; + import lombok.Data; @@ -83,4 +85,9 @@ public class OperRoleDTO implements Serializable { */ private Date updatedTime; + /** + * 菜单ID列表 + */ + private List menuIdList; + } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java index 933f55f6e1..b8af4cade1 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java @@ -11,14 +11,12 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.OperMenuDTO; -import com.epmet.dto.form.UserInfoDto; import com.epmet.excel.OperMenuExcel; import com.epmet.service.OperMenuService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; @@ -101,4 +99,16 @@ public class OperMenuController { return new Result>().ok(set); } + /** + * 角色菜单权限 + * @param tokenDto token + * @return + */ + @GetMapping("select") + public Result> select(@LoginUser TokenDto tokenDto){ + List list = operMenuService.getUserMenuList(tokenDto, null); + + return new Result>().ok(list); + } + } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java index 614c15149c..fea496bcda 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleController.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.OperRoleDTO; import com.epmet.excel.OperRoleExcel; +import com.epmet.service.OperRoleMenuService; import com.epmet.service.OperRoleService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -50,6 +51,8 @@ public class OperRoleController { @Autowired private OperRoleService operRoleService; + @Autowired + private OperRoleMenuService operRoleMenuService; @GetMapping("page") public Result> page(@RequestParam Map params){ @@ -60,6 +63,11 @@ public class OperRoleController { @GetMapping("{id}") public Result get(@PathVariable("id") String id){ OperRoleDTO data = operRoleService.get(id); + + //查询角色对应的菜单 + List menuIdList = operRoleMenuService.getMenuIdList(id); + data.setMenuIdList(menuIdList); + return new Result().ok(data); } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleUserController.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleUserController.java index ccc4c56920..1581731ce2 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleUserController.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperRoleUserController.java @@ -91,4 +91,50 @@ public class OperRoleUserController { ExcelUtils.exportExcelToTarget(response, null, list, OperRoleUserExcel.class); } + /** + * 获取权限id列表 + * @param id 用户id + * @return List + * @author zhaoqifeng + */ + @GetMapping("getRoleIdList/{id}") + public Result>getRoleIdList(@PathVariable("id") String id) { + List list = operRoleUserService.getRoleIdList(id); + return new Result>().ok(list); + } + + /** + * 保存更新权限 + * @param userId 用户id + * @param roleIdList 权限列表 + * @author zhaoqifeng + */ + @PostMapping("saveOrUpdateRole") + public Result saveOrUpdate(@RequestParam("userId") String userId, @RequestBody List roleIdList) { + operRoleUserService.saveOrUpdate(userId, roleIdList); + return new Result(); + } + + /** + * 根据用户id,删除角色用户关系 + * @param id 用户id + * @return Result + */ + @PostMapping("deleteByUserId") + public Result deleteByUserId(String id) { + operRoleUserService.deleteByUserId(id); + return new Result(); + } + + /** + * 根据用户ids,删除角色用户关系 + * @param ids 用户ids + * @return Result + */ + @PostMapping("deleteByUserIds") + public Result deleteByUserIds(@RequestBody String[] ids) { + operRoleUserService.deleteByUserIds(ids); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleMenuDao.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleMenuDao.java index 5e915925a4..005f9e44ac 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleMenuDao.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleMenuDao.java @@ -39,4 +39,11 @@ public interface OperRoleMenuDao extends BaseDao { * @param menuId 菜单id */ void deleteByMenuId(String menuId); + + + /** + * 根据角色ids,删除角色菜单关系 + * @param roleIds 角色ids + */ + void deleteByRoleIds(String[] roleIds); } diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleUserDao.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleUserDao.java index 4741b5b91a..f33c5a241a 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleUserDao.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/dao/OperRoleUserDao.java @@ -29,6 +29,18 @@ public interface OperRoleUserDao extends BaseDao { */ void deleteByRoleIds(String[] roleIds); + /** + * 根据用户ids,删除角色用户关系 + * @param userIds 用户ids + */ + void deleteByUserIds(String[] userIds); + + /** + * 根据角色id,删除角色用户关系 + * @param roleId 角色id + */ + void deleteByRoleId(String roleId); + /** * 根据用户id,删除角色用户关系 * @param userId 用户id diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperLanguageEntity.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperLanguageEntity.java index 685c9fdd29..3e822d5665 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperLanguageEntity.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperLanguageEntity.java @@ -21,7 +21,7 @@ import java.io.Serializable; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("sys_language") +@TableName("oper_language") public class OperLanguageEntity implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperMenuEntity.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperMenuEntity.java index dd5b161730..549246c970 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperMenuEntity.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperMenuEntity.java @@ -25,7 +25,7 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("sys_menu") +@TableName("oper_menu") public class OperMenuEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperResourceEntity.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperResourceEntity.java index 19d5718d0a..d10956ac72 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperResourceEntity.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperResourceEntity.java @@ -25,7 +25,7 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("sys_resource") +@TableName("oper_resource") public class OperResourceEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleEntity.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleEntity.java index 18b34f123f..527bdcc387 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleEntity.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleEntity.java @@ -25,7 +25,7 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("sys_role") +@TableName("oper_role") public class OperRoleEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleMenuEntity.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleMenuEntity.java index f467f8ace2..7d32968ef8 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleMenuEntity.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleMenuEntity.java @@ -22,7 +22,7 @@ import lombok.EqualsAndHashCode; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("sys_role_menu") +@TableName("oper_role_menu") public class OperRoleMenuEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; /** diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleUserEntity.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleUserEntity.java index 4cf1925259..8eb9612417 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleUserEntity.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/entity/OperRoleUserEntity.java @@ -21,7 +21,7 @@ import lombok.EqualsAndHashCode; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("sys_role_user") +@TableName("oper_role_user") public class OperRoleUserEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleMenuService.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleMenuService.java index 20510c8edc..50d3e452ac 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleMenuService.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleMenuService.java @@ -92,4 +92,28 @@ public interface OperRoleMenuService extends BaseService { * @date 2020-03-18 */ void delete(String[] ids); + + /** + * 根据角色ID,获取菜单ID列表 + */ + List getMenuIdList(String roleId); + + /** + * 保存或修改 + * @param roleId 角色ID + * @param menuIdList 菜单ID列表 + */ + void saveOrUpdate(String roleId, List menuIdList); + + /** + * 根据角色id,删除角色菜单关系 + * @param roleId 角色id + */ + void deleteByRoleId(String roleId); + + /** + * 根据角色ids,删除角色菜单关系 + * @param roleIds + */ + void deleteByRoleIds(String[] roleIds); } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleUserService.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleUserService.java index f569984008..c2e323528c 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleUserService.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/OperRoleUserService.java @@ -92,4 +92,42 @@ public interface OperRoleUserService extends BaseService { * @date 2020-03-18 */ void delete(String[] ids); + + /** + * 保存或修改 + * @param userId 用户ID + * @param roleIdList 角色ID列表 + */ + void saveOrUpdate(String userId, List roleIdList); + + /** + * 根据角色id,删除角色用户关系 + * @param roleId 角色id + */ + void deleteByRoleId(String roleId); + + /** + * 根据用户id,删除角色用户关系 + * @param userId 用户id + */ + void deleteByUserId(String userId); + + /** + * 角色ID列表 + * @param userId 用户ID + * @return List + */ + List getRoleIdList(String userId); + + /** + * 根据角色ids,删除角色用户关系 + * @param roleIds 角色ids + */ + void deleteByRoleIds(String[] roleIds); + + /** + * 根据用户ids,删除角色用户关系 + * @param userIds 用户ids + */ + void deleteByUserIds(String[] userIds); } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleMenuServiceImpl.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleMenuServiceImpl.java index 75c5d30419..d179b6245e 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleMenuServiceImpl.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleMenuServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -48,6 +49,8 @@ public class OperRoleMenuServiceImpl extends BaseServiceImpl page(Map params) { @@ -101,4 +104,42 @@ public class OperRoleMenuServiceImpl extends BaseServiceImpl getMenuIdList(String roleId){ + return baseDao.getMenuIdList(roleId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveOrUpdate(String roleId, List menuIdList) { + //先删除角色菜单关系 + deleteByRoleId(roleId); + + //角色没有一个菜单权限的情况 + if(CollUtil.isEmpty(menuIdList)){ + return ; + } + + //保存角色菜单关系 + for(String menuId : menuIdList){ + OperRoleMenuEntity operRoleMenuEntity = new OperRoleMenuEntity(); + operRoleMenuEntity.setMenuId(menuId); + operRoleMenuEntity.setRoleId(roleId); + + //保存 + insert(operRoleMenuEntity); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByRoleId(String roleId) { + baseDao.deleteByRoleId(roleId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByRoleIds(String[] roleIds) { + operRoleMenuDao.deleteByRoleIds(roleIds); + } } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleServiceImpl.java b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleServiceImpl.java index 323400975c..6a62623b59 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleServiceImpl.java +++ b/epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/service/impl/OperRoleServiceImpl.java @@ -27,7 +27,9 @@ import com.epmet.dao.OperRoleDao; import com.epmet.dto.OperRoleDTO; import com.epmet.entity.OperRoleEntity; import com.epmet.redis.OperRoleRedis; +import com.epmet.service.OperRoleMenuService; import com.epmet.service.OperRoleService; +import com.epmet.service.OperRoleUserService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,6 +50,10 @@ public class OperRoleServiceImpl extends BaseServiceImpl page(Map params) { @@ -85,6 +91,8 @@ public class OperRoleServiceImpl extends BaseServiceImpl page(Map params) { @@ -101,4 +104,53 @@ public class OperRoleUserServiceImpl extends BaseServiceImpl roleIdList) { + //先删除角色用户关系 + deleteByUserId(userId); + + //用户没有一个角色权限的情况 + if(CollUtil.isEmpty(roleIdList)){ + return ; + } + + //保存角色用户关系 + for(String roleId : roleIdList){ + OperRoleUserEntity operRoleUserEntity = new OperRoleUserEntity(); + operRoleUserEntity.setUserId(userId); + operRoleUserEntity.setRoleId(roleId); + + //保存 + insert(operRoleUserEntity); + } + } + + @Override + public void deleteByRoleId(String roleId) { + operRoleUserDao.deleteByRoleId(roleId); + } + + @Override + public void deleteByUserId(String userId) { + operRoleUserDao.deleteByUserId(userId); + } + + @Override + public List getRoleIdList(String userId) { + + return baseDao.getRoleIdList(userId); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByRoleIds(String[] roleIds) { + operRoleUserDao.deleteByRoleIds(roleIds); + } + + @Override + public void deleteByUserIds(String[] userIds) { + operRoleUserDao.deleteByUserIds(userIds); + } + } \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleMenuDao.xml b/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleMenuDao.xml index 601c1a7f2e..b9075fceda 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleMenuDao.xml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleMenuDao.xml @@ -3,16 +3,23 @@ - select menu_id from oper_role_menu where role_id = #{value} - - delete from oper_role_menu where role_id = #{value} - + + update oper_role_menu set del_flag = 1 where del_flag = 0 and role_id in + + #{roleId} + + - - delete from oper_role_menu where menu_id = #{value} - + + update oper_role_menu set del_flag = 1 where role_id = #{value} and del_flag = 0 + + + + update oper_role_menu set del_flag = 1 where menu_id = #{value} and del_flag = 0 + diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleUserDao.xml b/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleUserDao.xml index c0415f8998..e4e3f7a33d 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleUserDao.xml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/mapper/OperRoleUserDao.xml @@ -3,18 +3,29 @@ - - delete from oper_role_user where role_id in + + update oper_role_user set del_flag = 1 where del_flag = 0 and role_id in #{roleId} - + - - delete from oper_role_user where user_id = #{value} - + + update oper_role_user set del_flag = 1 where del_flag = 0 and user_id in + + #{userId} + + + + + update oper_role_user set del_flag = 1 where role_id = #{value} and del_flag = 0 + + + + update oper_role_user set del_flag = 1 where user_id = #{value} and del_flag = 0 + - select role_id from oper_role_user where user_id = #{value} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml index 2837805242..f8c959f45a 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml @@ -49,6 +49,7 @@ a.DEL_FLAG = 0 AND a.CUSTOMER_ID = #{customerId} AND a.CLIENT_TYPE = #{clientType} + and a.`STATUS`=1 ORDER BY a.CREATED_TIME DESC LIMIT 1 @@ -65,6 +66,7 @@ SELECT b.COMPONENT_ID, c.COMPONENT_NAME, + c.COMPONENT_FRONT_ID, b.REGION, b.CONFIGURATION, b.DEMO_DATA, diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/OperUserDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/OperUserDTO.java index 5fb5e97876..7470b30ef2 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/OperUserDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/OperUserDTO.java @@ -19,6 +19,8 @@ package com.epmet.dto; import java.io.Serializable; import java.util.Date; +import java.util.List; + import lombok.Data; @@ -123,4 +125,9 @@ public class OperUserDTO implements Serializable { */ private Date updatedTime; + /** + * 角色ID列表 + */ + private List roleIdList; + } \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/QueryOperUserResultDto.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/QueryOperUserResultDto.java new file mode 100644 index 0000000000..c9ebe973db --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/QueryOperUserResultDto.java @@ -0,0 +1,65 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/3/21 9:53 + */ +@Data +public class QueryOperUserResultDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 姓名 + */ + private String realName; + + + /** + * 头像 + */ + private String headUrl; + + /** + * 性别 0:男 1:女 2:保密 + */ + private Integer gender; + + /** + * 邮箱 + */ + private String email; + + /** + * 手机号 + */ + private String phone; + + /** + * 微信openId + */ + private String wxOpenId; + + /** + * 超级管理员 0:否 1:是 + */ + private Integer superAdmin; + + /** + * 状态 0:停用 1:正常 + */ + private Integer status; + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java index b43cf0f74d..f9d88ddd6a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/OperUserController.java @@ -29,11 +29,12 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.OperUserDTO; +import com.epmet.dto.result.QueryOperUserResultDto; import com.epmet.excel.OperUserExcel; +import com.epmet.feign.OperRoleUserFeignClient; import com.epmet.service.OperUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -52,6 +53,8 @@ public class OperUserController { @Autowired private OperUserService operUserService; + @Autowired + private OperRoleUserFeignClient operRoleUserFeignClient; @GetMapping("page") public Result> page(@RequestParam Map params) { @@ -62,6 +65,9 @@ public class OperUserController { @GetMapping("{id}") public Result get(@PathVariable("id") String id) { OperUserDTO data = operUserService.get(id); + //用户角色列表 + Result> roleIdList = operRoleUserFeignClient.getRoleIdList(id); + data.setRoleIdList(roleIdList.getData()); return new Result().ok(data); } @@ -103,9 +109,10 @@ public class OperUserController { * @author zhaoqifeng */ @GetMapping("queryOperUserDto") - public Result queryOperUserDto(@LoginUser TokenDto tokenDto) { + public Result queryOperUserDto(@LoginUser TokenDto tokenDto) { OperUserDTO data = operUserService.getOperUserInfoById(tokenDto.getUserId()); - return new Result().ok(data); + QueryOperUserResultDto dto = ConvertUtils.sourceToTarget(data, QueryOperUserResultDto.class); + return new Result().ok(dto); } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/OperRoleUserFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/OperRoleUserFeignClient.java new file mode 100644 index 0000000000..a81e182f73 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/OperRoleUserFeignClient.java @@ -0,0 +1,44 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.fallback.OperRoleUserFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/3/20 17:19 + */ +@FeignClient(name = ServiceConstant.OPER_ACCESS_SERVER, fallback = OperRoleUserFeignClientFallBack.class) +public interface OperRoleUserFeignClient { + + /** + * 获取权限id列表 + * @param id 用户id + * @return List + * @author zhaoqifeng + */ + @GetMapping("/oper/access/operroleuser/getRoleIdList/{id}") + Result> getRoleIdList(@PathVariable("id") String id); + + /** + * 保存更新权限 + * @param userId 用户id + * @param roleIdList 权限列表 + * @author zhaoqifeng + */ + @PostMapping("/oper/access/operroleuser/saveOrUpdateRole") + Result saveOrUpdate(@RequestParam("userId") String userId, @RequestBody List roleIdList); + + /** + * 根据用户ids,删除角色用户关系 + * @param ids 户ids + * @return Result + */ + @PostMapping("/oper/access/operroleuser/deleteByUserIds") + Result deleteByUserIds(@RequestBody String[] ids); +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/OperRoleUserFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/OperRoleUserFeignClientFallBack.java new file mode 100644 index 0000000000..53691f4e84 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/OperRoleUserFeignClientFallBack.java @@ -0,0 +1,33 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.OperRoleUserFeignClient; +import org.springframework.stereotype.Component; +import sun.misc.Contended; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/3/20 17:27 + */ +@Component +public class OperRoleUserFeignClientFallBack implements OperRoleUserFeignClient { + @Override + public Result> getRoleIdList(String id) { + return ModuleUtils.feignConError(ServiceConstant.OPER_ACCESS_SERVER, "getRoleIdList",id); + } + + @Override + public Result saveOrUpdate(String userId, List roleIdList) { + return ModuleUtils.feignConError(ServiceConstant.OPER_ACCESS_SERVER, "saveOrUpdate",userId); + } + + @Override + public Result deleteByUserIds(String[] ids) { + return ModuleUtils.feignConError(ServiceConstant.OPER_ACCESS_SERVER, "deleteByUserId",ids); + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java index e2ad212783..528313c081 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/OperUserServiceImpl.java @@ -20,12 +20,15 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.enums.SuperAdminEnum; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.password.PasswordUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.OperUserDao; import com.epmet.dto.OperUserDTO; import com.epmet.entity.OperUserEntity; +import com.epmet.feign.OperRoleUserFeignClient; import com.epmet.redis.OperUserRedis; import com.epmet.service.OperUserService; import org.apache.commons.lang3.StringUtils; @@ -50,6 +53,8 @@ public class OperUserServiceImpl extends BaseServiceImpl page(Map params) { @@ -87,14 +92,35 @@ public class OperUserServiceImpl extends BaseServiceImpl