diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java index 94793eb9..78d50af6 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysUserController.java @@ -8,9 +8,11 @@ package com.elink.esua.epdc.controller; +import com.alibaba.fastjson.JSONObject; import com.elink.esua.epdc.commons.tools.annotation.LogOperation; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.exception.ErrorCode; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.bo.ResourceBO; import com.elink.esua.epdc.commons.tools.security.password.PasswordUtils; @@ -415,4 +417,22 @@ public class SysUserController { return new Result().ok(userDetail); } + + /** + * 获取用户部门多层结构,用户前端显示,请求需携带token - 工作日志使用 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author songyunpeng + * @date 2020/1/27 14:31 + */ + @PostMapping("deptOptions/getUserDeptOptionByUserId") + public Result getUserDeptOptionByUserId(@RequestBody String userId) { + JSONObject paramsJSONObject = JSONObject.parseObject(userId); + String realUserId = paramsJSONObject.getString("userId"); + if (realUserId == null) { + throw new RenException("参数错误"); + } + return sysDeptService.getUserDeptOptionByUserId(realUserId); + } + } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index 83180500..af7cf646 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -280,4 +280,12 @@ public interface SysDeptService extends BaseService { * @since 2021/1/20 9:59 */ List listOfDeptInfoByTypeKey(String typeKey); + /** + * @Description 获取用户部门多层结构,用户前端显示,请求需携带token - 工作日志使用 + * @Author songyunpeng + * @Date 2021/1/27 + * @Param [userId] + * @return com.elink.esua.epdc.commons.tools.utils.Result + **/ + Result getUserDeptOptionByUserId(String userId); } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 035b53ee..0fc9ec3e 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -472,6 +472,8 @@ public class SysDeptServiceImpl extends BaseServiceImpl listOfDeptInfoByTypeKey(String typeKey) { return baseDao.selectListOfDeptInfoByTypeKey(typeKey); } + + @Override + public Result getUserDeptOptionByUserId(String userId) { + Long realUserId = Long.parseLong(userId); + String deptOptionKey = RedisKeys.getAdminUserDeptOptionKey(realUserId); + Object obj = redisUtils.get(deptOptionKey); + if (null == obj) { + this.packageUserDeptOption(realUserId); + obj = redisUtils.get(deptOptionKey); + } + return new Result().ok((DeptOption) obj); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml index d712572e..15a52698 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml @@ -133,7 +133,7 @@