From 90bd2efec19804c189d256a76cdf0f46b1ea2829 Mon Sep 17 00:00:00 2001 From: nies Date: Wed, 23 Jun 2021 16:05:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9sysuserInfocontroller=20batch?= =?UTF-8?q?-delete=20=E4=B8=BA=E8=BD=AF=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/busi/SysUserInfoController.java | 158 ++++++++++++--------- 1 file changed, 91 insertions(+), 67 deletions(-) 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 466860e..d84707f 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 @@ -29,16 +29,14 @@ import org.apache.commons.io.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.persistence.EntityManager; import javax.servlet.http.HttpServletResponse; import java.io.*; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -52,7 +50,7 @@ import java.util.stream.Collectors; @RestController @Api(tags = "系统用户服务") @RequestMapping(PlatformConstWords.BASE_URL + "/sys-user-info") -public class SysUserInfoController extends CoreBaseController{ +public class SysUserInfoController extends CoreBaseController { public static final Logger LOGGER = LoggerFactory.getLogger(SysUserInfoController.class); @@ -80,16 +78,18 @@ public class SysUserInfoController extends CoreBaseController{ @Autowired private ISysUserService sysUserService; - @Resource(name= CommonConstWords.IMPP_REDIS_RES) + @Resource(name = CommonConstWords.IMPP_REDIS_RES) private ImppRedis redisRes; + /** * 添加用户信息 + * * @param userInfo 用户信息 * @return 处理结果 */ - @PostMapping(value="/insert") - @ApiOperation(value="添加用户信息",notes="返回内容添加用户信息") - public ResultBean insertSysUserInfo(SysUserInfo userInfo){ + @PostMapping(value = "/insert") + @ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息") + public ResultBean insertSysUserInfo(SysUserInfo userInfo) { try { startMultiService(); licenseClickService.checkLicenseNumberUser(); @@ -97,15 +97,15 @@ public class SysUserInfoController extends CoreBaseController{ //登陆用户 SessionUser user = AuthUtil.getSessionUser(); - checkSysUserInfo(userInfo,false); + checkSysUserInfo(userInfo, false); - ConvertBean.modelInitialize(userInfo,user); + ConvertBean.modelInitialize(userInfo, user); userInfo.setUserInfoStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue()); userInfo.setUserLoginNum(0); sysUserInfoService.checkSysUserInfoOnly(userInfo); SysUserInfo info = sysUserInfoService.insertSysUserInfo(userInfo); - sysUserInfoService.refreshRefUserOrganize(info.getId(), userInfo.getDepartment().getOrganizeId(),user.getUserName()); + sysUserInfoService.refreshRefUserOrganize(info.getId(), userInfo.getDepartment().getOrganizeId(), user.getUserName()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(info); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); @@ -116,27 +116,28 @@ public class SysUserInfoController extends CoreBaseController{ /** * 根据用户信息id修改信息 + * * @param userInfo 用户信息 * @return 处理结果 */ - @PutMapping(value="/update") - @ApiOperation(value="修改用户信息",notes="根据用户信息id修改信息") - public ResultBean updateSysUserInfoById(SysUserInfo userInfo){ + @PutMapping(value = "/update") + @ApiOperation(value = "修改用户信息", notes = "根据用户信息id修改信息") + public ResultBean updateSysUserInfoById(SysUserInfo userInfo) { try { startMultiService(); //登陆用户 SessionUser user = AuthUtil.getSessionUser(); - checkSysUserInfo(userInfo,true); + checkSysUserInfo(userInfo, true); //修改初始化 - ConvertBean.modelUpdate(userInfo,user); + ConvertBean.modelUpdate(userInfo, user); sysUserInfoService.checkSysUserInfoOnly(userInfo); sysUserInfoService.updateSysUserInfo(userInfo); - sysUserInfoService.refreshRefUserOrganize(userInfo.getId(), userInfo.getDepartment().getOrganizeId(),user.getUserName()); + sysUserInfoService.refreshRefUserOrganize(userInfo.getId(), userInfo.getDepartment().getOrganizeId(), user.getUserName()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { @@ -148,15 +149,16 @@ public class SysUserInfoController extends CoreBaseController{ /** * 删除用户信息 + * * @param id 用户信息id * @return 处理结果 */ - @DeleteMapping(value="/delete/{id}") - @ApiOperation(value="删除用户信息",notes="根据用户信息id删除信息") - public ResultBean deleteSysUserInfo(@PathVariable("id") String id){ + @DeleteMapping(value = "/delete/{id}") + @ApiOperation(value = "删除用户信息", notes = "根据用户信息id删除信息") + public ResultBean deleteSysUserInfo(@PathVariable("id") String id) { try { //条件验证 - ValidatorBean.checkNotNull(id,"id为空"); + ValidatorBean.checkNotNull(id, "id为空"); sysUserInfoService.deleteSysUserInfoById(Long.parseLong(id)); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); @@ -169,92 +171,108 @@ public class SysUserInfoController extends CoreBaseController{ /** * 查询所有用户信息 + * * @return 处理结果 */ - @GetMapping(value="/list") - @ApiOperation(value="查询所有用户信息",notes="查询所有用户信息") - public ResultBean findSysUserInfoAll(){ - try{ + @GetMapping(value = "/list") + @ApiOperation(value = "查询所有用户信息", notes = "查询所有用户信息") + public ResultBean findSysUserInfoAll() { + try { List SysUserInfoList = sysUserInfoService.listSysUserInfo(); return ResultBean.success("操作成功").setResultList(SysUserInfoList) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 查询用户信息 + * * @param userInfo 查询条件 - * @param pager 分页信息 + * @param pager 分页信息 * @return 处理结果 */ - @GetMapping(value="/query") - @ApiOperation(value="查询用户信息",notes="复杂查询用户信息带分页") - public ResultBean querySysUserInfo(SysUserInfo userInfo, Pager pager){ - try{ + @GetMapping(value = "/query") + @ApiOperation(value = "查询用户信息", notes = "复杂查询用户信息带分页") + public ResultBean querySysUserInfo(SysUserInfo userInfo, Pager pager) { + try { ListPager result = sysUserInfoService.querySysUserInfo(userInfo, packUserInfo(userInfo), pager); return ResultBean.success("操作成功").setListPager(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 根据id查询用户信息 + * * @param id 用户信息id * @return 处理结果 */ - @GetMapping(value="/get/{id}") - @ApiOperation(value="根据id查询用户信息",notes="根据id用户信息") - public ResultBean getSysUserInfoById(@PathVariable("id") String id){ - try{ + @GetMapping(value = "/get/{id}") + @ApiOperation(value = "根据id查询用户信息", notes = "根据id用户信息") + public ResultBean getSysUserInfoById(@PathVariable("id") String id) { + try { ValidatorBean.checkIsNumber(id, "id 不能为空"); SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(Long.parseLong(id)); - ValidatorBean.beginValid(userInfo).notNull("id",userInfo.getId()); + ValidatorBean.beginValid(userInfo).notNull("id", userInfo.getId()); return ResultBean.success("操作成功").setResultObject(userInfo).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 根据id批量删除 + * * @param ids 用户id数组 * @return 处理结果 */ @DeleteMapping(value = "/batch-delete") @ApiOperation(value = "根据id批量删除", notes = "根据id批量删除") - public ResultBean deleteSysUserInfoByIds(String[] ids){ - try{ - ids = ConvertBean.modelSafeArrayNumber(ids,true); - if(ids.length == 0){ + public ResultBean deleteSysUserInfoByIds(String[] ids) { + try { + ids = ConvertBean.modelSafeArrayNumber(ids, true); + if (ids.length == 0) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorDetail("请选择需要删除的用户信息。") .build(); } - sysUserInfoService.deleteSysUserInfoByIds(StringTool.getArrayLong(ids)); + List userInfoList = personnelService.findSysUserInfoByIds(StringTool.getArrayLong(ids)); + if (ObjectUtils.isEmpty(userInfoList)) { + return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + } + Long[] userinfoIds = new Long[userInfoList.size()], + userIds = new Long[userInfoList.size()]; + for (int i = 0; i < userInfoList.size(); i++) { + userinfoIds[i] = userInfoList.get(i).getId(); + userIds[i] = userInfoList.get(i).getUserId(); + } + personnelService.deleteSysUserInfo(userinfoIds, getSessionUser().getUserName()); + personnelService.deleteSysUser(userIds, getSessionUser().getUserName()); return ResultBean.success("操作成功") .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - }catch(ImppBusiException busExcep){ + } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); - }catch(Exception e){ + } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } /** * 查询角色的所有角色权限关系 + * * @param userId 用户id * @return 处理结果 */ @@ -276,6 +294,7 @@ public class SysUserInfoController extends CoreBaseController{ /** * 查询角色的所有角色权限关系 + * * @param model 用户明细模型 * @return 处理结果 */ @@ -286,7 +305,7 @@ public class SysUserInfoController extends CoreBaseController{ List idList = new ArrayList<>(); List refs = sysUserInfoService.querySysRefUserDepartment(model); - if(refs != null && refs.size() > 0){ + if (refs != null && refs.size() > 0) { for (SysRefUserDepartment ref : refs) { idList.add(ref.getUserId()); } @@ -304,6 +323,7 @@ public class SysUserInfoController extends CoreBaseController{ /** * 查询用户的所有角色权限关系 + * * @param userId 用户id * @return 处理结果 */ @@ -325,26 +345,27 @@ public class SysUserInfoController extends CoreBaseController{ /** * 用户唯一信息校验 + * * @param userInfo 用户信息 - * @param isId 是否检查ID 存在 + * @param isId 是否检查ID 存在 */ - private void checkSysUserInfo(SysUserInfo userInfo,boolean isId){ + private void checkSysUserInfo(SysUserInfo userInfo, boolean isId) { - try{ + try { //条件验证 ValidatorBean.beginValid(userInfo) - .notNull("name",userInfo.getName()) - .notNull("userEmpNo",userInfo.getUserEmpNo()) - .checkNotZero("departmentId",userInfo.getDepartmentId()) + .notNull("name", userInfo.getName()) + .notNull("userEmpNo", userInfo.getUserEmpNo()) + .checkNotZero("departmentId", userInfo.getDepartmentId()) // .checkNotZero("departmentIdList",userInfo.getDepartmentIdList()) - .checkNotZero("positionId",userInfo.getPositionId()); - if(isId){ + .checkNotZero("positionId", userInfo.getPositionId()); + if (isId) { ValidatorBean.beginValid(userInfo) - .notNull("id",userInfo.getId()); + .notNull("id", userInfo.getId()); } SysDepartment department = departmentService.get(userInfo.getDepartmentId()); - if(department == null){ + if (department == null) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) @@ -353,7 +374,7 @@ public class SysUserInfoController extends CoreBaseController{ } SysPosition position = positionService.get(userInfo.getPositionId()); - if(position == null){ + if (position == null) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) @@ -367,18 +388,21 @@ public class SysUserInfoController extends CoreBaseController{ userInfo.setPositionNameRdd(position.getName()); userInfo.setDepartment(department); userInfo.setPosition(position); - }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); - }catch(Exception e){ + } catch (ImppBusiException busExcep) { + LOGGER.error(busExcep.getErrorMsg() + ":{}", busExcep.getErrorDetail(), busExcep); + } catch (Exception e) { LOGGER.error(LocaleUtils.getEnumLocaleResDesc(ImppExceptionEnum.SYSTEM_EXCEPTION, ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription()) + ":{}", e.getMessage(), e); } } @GetMapping("/export") - @ApiOperation(value = "导出用户信息",notes = "导出用户信息") + @ApiOperation(value = "导出用户信息", notes = "导出用户信息") public void exportSysUserInfo(SysUserInfo userInfo, HttpServletResponse response) throws Exception { File file = null; + if(userInfo ==null ){ + userInfo = new SysUserInfo(); + } try { List list = sysUserInfoService.querySysUserInfoList(userInfo, packUserInfo(userInfo)); Map sysUserMap = sysUserService.list().stream() @@ -416,7 +440,7 @@ public class SysUserInfoController extends CoreBaseController{ response.setContentType("application/force-download"); // 设置强制下载不打开 response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 - response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName,true))); + response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true))); // 设置文件名 try (BufferedInputStream bis = new BufferedInputStream(new DataInputStream(new FileInputStream(excle)))) { @@ -435,7 +459,7 @@ public class SysUserInfoController extends CoreBaseController{ } } - private ArrayList packUserInfo(SysUserInfo userInfo){ + private ArrayList packUserInfo(SysUserInfo userInfo) { ArrayList idList = new ArrayList<>(); if (userInfo.getOrganizeId() == null || userInfo.getOrganizeId() <= 0) { if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)) {