From 04c359a40d51c391fdfea626e7f147422a33b89f Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Fri, 19 Jun 2020 09:43:08 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.2.240:7070/r/kidgrow-microservices-platform into dev

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 116 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..3ed3a85 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,114 @@
 @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());
+                            }
+                            else
+                            {
+                                userOrgList.get(i).setOrgId(sysUserOrg.getUpdateUserId());
+                            }
+                            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