From 47b5873a74e9b6e2f2bea57ef4b215c492994e8a Mon Sep 17 00:00:00 2001
From: 侯瑞军 <411269194@kidgrow.com>
Date: Wed, 31 Mar 2021 15:14:13 +0800
Subject: [PATCH] 修改比对套餐id变化的判断条件,直接每次都更新预扣记录的套餐id,并且更新数据的修改时间。
---
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java | 205 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 205 insertions(+), 0 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
new file mode 100644
index 0000000..dd0308c
--- /dev/null
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -0,0 +1,205 @@
+package com.kidgrow.usercenter.controller;
+
+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.redis.util.RedisConstant;
+import com.kidgrow.redis.util.RedisUtils;
+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.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;
+
+@Slf4j
+@RestController
+@RequestMapping("/sysuserorg")
+@Api(tags = "用户与部门")
+public class SysUserOrgController {
+ @Autowired
+ private ISysUserOrgService sysUserOrgService;
+ @Autowired
+ private ISysOrganizationService sysOrganizationService;
+ @Autowired
+ private SysDepartmentServiceImpl sysDepartmentService;
+ @Autowired
+ private SysHospitalServiceImpl sysHospitalService;
+ @Autowired
+ private RedisUtils redisUtils;
+
+ @PostMapping("getListByMap")
+ 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 = 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()) {
+ sysUserOrg.setFromId(listHospital.get(0).getId());
+ }
+ sysUserOrg.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);
+ redisUtils.hset(RedisConstant.USER_ORGANIZATION,sysUserOrg.getUserId().toString(), 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