From 3dcb4e0ebfd43190957f556d886917b2a2ffa064 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Wed, 12 Aug 2020 18:45:30 +0800
Subject: [PATCH] 修改上传图片的接口

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java |  203 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 153 insertions(+), 50 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 fb9520f..1ea6e4f 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,18 @@
 package com.kidgrow.usercenter.controller;
 
-import com.kidgrow.common.controller.BaseController;
-import com.kidgrow.common.model.PageResult;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+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.model.SysDepartment;
+import com.kidgrow.usercenter.model.SysHospital;
+import com.kidgrow.usercenter.service.ISysOrganizationService;
 import com.kidgrow.usercenter.service.ISysUserOrgService;
+import com.kidgrow.usercenter.service.impl.SysDepartmentServiceImpl;
+import com.kidgrow.usercenter.service.impl.SysHospitalServiceImpl;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,60 +20,41 @@
 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;
 
-
-/**
- * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
- * @Description: 用户和组织关系表
- * @Project: 用户中心
- * @CreateDate: Created in 2020-03-31 11:01:35 <br>
- * @Author: <a href="4345453@kidgrow.com">liuke</a>
- * @version: 1.0
- */
 @Slf4j
 @RestController
 @RequestMapping("/sysuserorg")
-@Api(tags = "用户和组织关系表")
-public class SysUserOrgController  extends BaseController{
+@Api(tags = "用户与部门")
+public class SysUserOrgController {
     @Autowired
     private ISysUserOrgService sysUserOrgService;
+    @Autowired
+    private ISysOrganizationService sysOrganizationService;
+    @Autowired
+    private SysDepartmentServiceImpl sysDepartmentService;
+    @Autowired
+    private SysHospitalServiceImpl sysHospitalService;
+
+    @PostMapping("getListByMap")
+    public List<SysUserOrg> getListByMap(@RequestParam Map<String, Object> map) {
+        List<SysUserOrg> sysUserOrgs = sysUserOrgService.listByMap(map);
+        return sysUserOrgs;
+    }
 
     /**
-     * 列表
+     * 根据条件查询列表
+     *
+     * @param map
+     * @return
      */
-    @ApiOperation(value = "查询列表")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer")
-    })
+    @ApiOperation(value = "根据条件查询列表")
     @GetMapping
-    public PageResult list(@RequestParam Map<String, Object> params) {
-        if(params.size()==0){
-            params.put("page",1);
-            params.put("limit",10);
-        }
-        return sysUserOrgService.findList(params);
-    }
-
-    /**
-     * 查询
-     */
-    @ApiOperation(value = "查询")
-    @GetMapping("/{id}")
-    public ResultBody findById(@PathVariable Long id) {
-        SysUserOrg model = sysUserOrgService.getById(id);
-        return ResultBody.ok().data(model).msg("查询成功");
-    }
-
-    /**
-     * 根据SysUserOrg当做查询条件进行查询
-     */
-    @ApiOperation(value = "根据SysUserOrg当做查询条件进行查询")
-    @PostMapping("/query")
-    public ResultBody findByObject(@RequestBody SysUserOrg sysUserOrg) {
-        SysUserOrg model = sysUserOrgService.findByObject(sysUserOrg);
-        return ResultBody.ok().data(model).msg("查询成功");
+    public ResultBody listByMap(@RequestParam Map<String, Object> map) {
+        return ResultBody.ok().data(sysUserOrgService.listByMap(map)).msg("查询成功");
     }
 
     /**
@@ -76,12 +62,119 @@
      */
     @ApiOperation(value = "保存")
     @PostMapping
-    public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult) {
+    public ResultBody save(@Valid @RequestBody SysUserOrg sysUserOrg, BindingResult bindingResult, @LoginUser SysUser sysUser) {
         if (bindingResult.hasErrors()) {
             return ResultBody.failed().msg(bindingResult.getFieldError().getDefaultMessage());
         } else {
-            sysUserOrgService.saveOrUpdate(sysUserOrg);
-            return ResultBody.ok().data(sysUserOrg).msg("保存成功");
+            if (sysUserOrg.getUserId() != null) {
+                String createUserOrgCode = "";
+                List<SysOrganization> userOrgData = new ArrayList<>();
+                SysOrganization byId = sysOrganizationService.getById(sysUserOrg.getOrgId());
+                if(byId==null){
+                    return ResultBody.failed().data(null).msg("该组织id异常");
+                }
+                SysOrganization parentId = sysOrganizationService.getById(byId.getOrgParentId());
+                userOrgData.add(parentId);
+                userOrgData.add(byId);
+                if(parentId==null){
+                    return ResultBody.failed().data(null).msg("该组织id异常");
+                }
+                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).setFromLevel(2);
+
+                                //查询  科室
+                                QueryWrapper queryWrapper = new QueryWrapper();
+                                queryWrapper.eq("org_id", sysUserOrg.getOrgId());
+                                queryWrapper.eq("is_del", 0);
+                                queryWrapper.eq("enabled", 1);
+                                List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
+                                if (!list.isEmpty()) {
+                                    userOrgList.get(i).setFromId(list.get(0).getId());
+                                } else {
+                                    userOrgList.get(i).setFromId(null);
+                                }
+                            } else {
+                                QueryWrapper queryWrapper = new QueryWrapper();
+                                queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                                queryWrapper.eq("is_del", 0);
+                                queryWrapper.eq("enabled", 1);
+                                List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
+                                if (!listHospital.isEmpty()) {
+                                    userOrgList.get(i).setFromId(listHospital.get(0).getId());
+                                }
+                                userOrgList.get(i).setFromLevel(1);
+                                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);
+                            sysUserOrgTemp.setFromLevel(2);
+
+                            //查询  科室
+                            QueryWrapper queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("org_id", sysUserOrg.getOrgId());
+                            queryWrapper.eq("is_del", 0);
+                            queryWrapper.eq("enabled", 1);
+                            List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
+                            if (!list.isEmpty()) {
+                                sysUserOrgTemp.setFromId(list.get(0).getId());
+                            }
+                            userOrgList.add(sysUserOrgTemp);
+                            //查询 医院
+                            queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                            queryWrapper.eq("is_del", 0);
+                            queryWrapper.eq("enabled", 1);
+                            List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
+                            if (!listHospital.isEmpty()) {
+                                sysUserOrgTemp.setFromId(listHospital.get(0).getId());
+                            }
+                            sysUserOrgTemp.setFromLevel(1);
+//                            sysUserOrg.setUpdateUserId(0L);
+                            sysUserOrg.setOrgId(sysOrganization.getOrgParentId());
+                            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("该组数据不完整!");
+            }
         }
     }
 
@@ -94,4 +187,14 @@
         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