From 470759395dbf81c3712f07e22c72e02a2de0eb45 Mon Sep 17 00:00:00 2001 From: "wei.peng" Date: Thu, 20 Dec 2018 21:37:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Cloud=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=88=96=E8=80=85=E9=83=A8=E9=97=A8=E4=B8=8B?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/busi/ISysUserInfoService.java | 12 ++++++++ .../controller/busi/SysUserInfoController.java | 36 ++++++++++++++++------ .../serviceimpl/busi/SysUserInfoService.java | 32 ++++++++++++++++++- 3 files changed, 70 insertions(+), 10 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java index d5d8c72..ccac749 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysUserInfoService.java @@ -120,6 +120,9 @@ public interface ISysUserInfoService { @ApiOperation(value = "关系查询-用户部门",notes = "查询用户部门关系") List findRefUserDepartmentByUserId(Long userId); + @ApiOperation(value = "关系查询-用户部门",notes = "根据部门或者组织集合查询用户部门关系") + List querySysRefUserDepartment(SysUserInfo userInfo); + /** * 查询用户岗位关系 * @param userId @@ -129,6 +132,15 @@ public interface ISysUserInfoService { List findSysRefUserPositionByUserId(Long userId); /** + * 根据(组织ID,部门ID,用户名称,用户工号) 查询用户信息 + * @param info + * @param idList 用户ID 集合 + * @return + */ + @ApiOperation(value = "查询用户信息-",notes = "根据组织、部门、名称+工号组合查询条件查询用户信息") + List querySysUserInfoList(SysUserInfo info, List idList); + + /** * 用户唯一校验 用户工号 * @param no * @param id diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java index 07446b2..ca9c9b2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserInfoController.java @@ -1,10 +1,8 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService; -import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.core.api.iservice.busi.ISysPositionService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService; -import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysOrganizeService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; @@ -20,7 +18,6 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -28,6 +25,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -51,12 +50,6 @@ public class SysUserInfoController extends CoreBaseController{ private ISysDepartmentService departmentService; @Autowired - private SysOrganizeService organizeService; - - @Autowired - private ISysFileService sysFileService; - - @Autowired private ISysPositionService sysPositionService; @PostMapping(value="/insert") @@ -247,6 +240,31 @@ public class SysUserInfoController extends CoreBaseController{ } } + @GetMapping(value = "/query-ref-department") + @ApiOperation(value = "查询角色的所有角色权限关系", notes = "查询角色的所有角色权限关系") + public ResultBean queryRefDepartment(SysUserInfo userInfo) { + try { + List idList = new ArrayList<>(); + + List refs = sysUserInfoService.querySysRefUserDepartment(userInfo); + if(refs != null && refs.size() > 0){ + for (SysRefUserDepartment ref : refs) { + idList.add(ref.getUserId()); + } + } + + List result = sysUserInfoService.querySysUserInfoList(userInfo, idList); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result); + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + return ResultBean.fail(busExcep); + } catch (Exception e) { + LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}", e.getMessage(), e); + return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + @GetMapping(value = "/find-ref-position/{userId}") @ApiOperation(value = "查询角色的所有角色权限关系", notes = "查询角色的所有角色权限关系") public ResultBean findRefPosition(@PathVariable("userId") String userId) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java index 0c5fe9d..f89d1b7 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserInfoService.java @@ -99,6 +99,8 @@ public class SysUserInfoService implements ISysUserInfoService { SysRefUserDepartment ref = null; for (SysDepartment department : departmentList) { ref = new SysRefUserDepartment(); + ref.setOrganizeId(department.getOrganizeId()); + ref.setOrganizeNameRdd(department.getOrganizeNameRdd()); ref.setDepartmentId(department.getId()); ref.setDepartmentNameRdd(department.getName()); ref.setUserId(userInfo.getId()); @@ -249,7 +251,7 @@ public class SysUserInfoService implements ISysUserInfoService { @Override @ApiOperation(value = "查询用户信息",notes = "根据复杂查询条件查询用户信息(分页信息)") public ListPager querySysUserInfo(SysUserInfo userInfo, Pager pager) { - LOGGER.info("定时任务 TASK_TIME TaskTime:{},Pager:{}",userInfo,pager); + LOGGER.info("查询用户信息 TASK_TIME TaskTime:{},Pager:{}",userInfo,pager); if(userInfo == null) { pager = PagerHelper.getPager(pager, sysUserInfoRDao.listCount()); return new ListPager(sysUserInfoRDao.listPager(pager),pager); @@ -267,6 +269,25 @@ public class SysUserInfoService implements ISysUserInfoService { } @Override + @ApiOperation(value = "关系查询-用户部门",notes = "根据部门或者组织集合查询用户部门关系") + public List querySysRefUserDepartment(SysUserInfo userInfo) { + if(userInfo != null){ + StringBuffer userIdWhere = new StringBuffer(); + + if(userInfo.getDepartmentIdList() != null){ + HqlPack.getInPack(StringUtils.join(userInfo.getDepartmentIdList(),","),"departmentId", userIdWhere); + } + if(userInfo.getOrganizeIdList() != null){ + HqlPack.getInPack( StringUtils.join(userInfo.getOrganizeIdList(),","),"organizeId",userIdWhere); + } + + return refUserDepartmentRDao.findByHqlWhere(userIdWhere.toString()); + }else { + return null; + } + } + + @Override @ApiOperation(value = "关系查询-用户岗位",notes = "查询用户岗位关系") public List findSysRefUserPositionByUserId(Long userId) { return refUserPositionRDao.findByProperty("userId",userId); @@ -289,6 +310,15 @@ public class SysUserInfoService implements ISysUserInfoService { } @Override + @ApiOperation(value = "查询用户信息-",notes = "根据组织、部门、名称+工号组合查询条件查询用户信息") + public List querySysUserInfoList(SysUserInfo info, List idList) { + LOGGER.info("查询用户信息 TASK_TIME SysUserInfo:{},List idList :{}",info,idList); + + String hqlPack = CoreHqlPack.packHqlSysUserInfo(info,idList); + return sysUserInfoRDao.findByHqlWhere(hqlPack); + } + + @Override @ApiOperation(value = "用户唯一校验 用户工号",notes = "用户唯一校验 用户工号") public boolean checkUserInfoByUserEmpNo(String no, long id) { int count;