From fd9a7355dcaa1da3f6cc8bd8ab4167685b14afe1 Mon Sep 17 00:00:00 2001 From: 侯瑞军 <411269194@kidgrow.com> Date: Sun, 26 Apr 2020 21:19:36 +0800 Subject: [PATCH] 增加用户与组织关系配置功能 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 112 insertions(+), 3 deletions(-) diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java index 1941e2a..10e1c94 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java @@ -1,13 +1,22 @@ package com.kidgrow.usercenter.controller; +import com.kidgrow.common.annotation.LoginUser; +import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysOrganization; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.model.SysUserOrg; import com.kidgrow.usercenter.service.ISysOrganizationService; import com.kidgrow.usercenter.service.ISysUserOrgService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -17,10 +26,110 @@ @Api(tags = "用户与部门") public class SysUserOrgController { @Autowired - private ISysUserOrgService iSysUserOrgService; + private ISysUserOrgService sysUserOrgService; + @Autowired + private ISysOrganizationService sysOrganizationService; + @PostMapping("getListByMap") - public List<SysUserOrg> getListByMap(@RequestParam Map<String,Object> map){ - List<SysUserOrg> sysUserOrgs = iSysUserOrgService.listByMap(map); + public List<SysUserOrg> getListByMap(@RequestParam Map<String, Object> map) { + List<SysUserOrg> sysUserOrgs = sysUserOrgService.listByMap(map); return sysUserOrgs; } + + /** + * 根据条件查询列表 + * + * @param map + * @return + */ + @ApiOperation(value = "根据条件查询列表") + @GetMapping + public ResultBody listByMap(@RequestParam Map<String, Object> map) { + return ResultBody.ok().data(sysUserOrgService.listByMap(map)).msg("查询成功"); + } + + /** + * 新增or更新 + */ + @ApiOperation(value = "保存") + @PostMapping + public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult, @LoginUser SysUser sysUser) { + if (bindingResult.hasErrors()) { + return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage()); + } else { + //先查出来父节点的信息 + if (sysUserOrg.getUserId() != null) { + String createUserOrgCode = ""; + List<SysOrganization> userOrgData = sysUser.getOrganizations(); + if (userOrgData != null) { + if (userOrgData.size() == 2) { + createUserOrgCode = userOrgData.get(1).getOrgCode(); + } + } + if (!createUserOrgCode.isEmpty()) { + Map<String, Object> map = new HashMap<String, Object>(); + map.put("user_id", sysUserOrg.getUserId()); + List<SysUserOrg> userOrgList = sysUserOrgService.getListByMap(map); + if (userOrgList.size() > 0) { + for (int i = 0; i < userOrgList.size(); i++) { + if (sysUserOrg.getId().equals(userOrgList.get(i).getId())) { + userOrgList.get(i).setOrgId(sysUserOrg.getOrgId()); + } + userOrgList.get(i).setEnabled(sysUserOrg.getEnabled()); + userOrgList.get(i).setCreateUserOrgCode(createUserOrgCode); + } + } else { + userOrgList = new ArrayList<>(); + //查出来的上级组织信息建立用户关系 + //借用字段承载数据 + SysOrganization sysOrganization = sysOrganizationService.getById(sysUserOrg.getUpdateUserId()); + if (sysOrganization != null) { + SysUserOrg sysUserOrgTemp = new SysUserOrg(); + sysUserOrgTemp.setOrgId(sysOrganization.getId()); + sysUserOrgTemp.setUserId(sysUserOrg.getUserId()); + sysUserOrgTemp.setEnabled(sysUserOrg.getEnabled()); + sysUserOrgTemp.setCreateUserOrgCode(createUserOrgCode); + userOrgList.add(sysUserOrgTemp); + + sysUserOrg.setUpdateUserId(0L); + sysUserOrg.setCreateUserOrgCode(createUserOrgCode); + userOrgList.add(sysUserOrg); + } else { + return ResultBody.failed().data(null).msg("该组织的上级组织数据异常!"); + } + } + boolean v = sysUserOrgService.saveOrUpdateBatch(userOrgList); + if (v) { + return ResultBody.ok().data(sysUserOrg).msg("保存成功"); + } else { + return ResultBody.failed().data(null).msg("数据保存失败!"); + } + } else { + return ResultBody.failed().data(null).msg("该组织数据不完整!"); + } + } else { + return ResultBody.failed().data(null).msg("该组数据不完整!"); + } + } + } + + /** + * 删除 + */ + @ApiOperation(value = "删除") + @DeleteMapping("/{id}") + public ResultBody delete(@PathVariable Long id) { + sysUserOrgService.removeById(id); + return ResultBody.ok().msg("删除成功"); + } + + /** + * 查询 + */ + @ApiOperation(value = "查询") + @GetMapping("/{id}") + public ResultBody findById(@PathVariable Long id) { + SysUserOrg model = sysUserOrgService.getById(id); + return ResultBody.ok().data(model).msg("查询成功"); + } } -- Gitblit v1.8.0