From c10ddf5cc30fc3f5d889f597e0a4d13fb52f048a Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <279049017@qq.com>
Date: Fri, 27 Nov 2020 11:51:24 +0800
Subject: [PATCH] 优化套餐充值

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java |   34 ++++++++++++++++++++--------------
 1 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
index 6be917c..ce57544 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java
@@ -190,17 +190,16 @@
                     return ResultBody.failed("选择一个角色");
                 }
             }
-
-            /**
-             * 限制只有创建医生的个数
-             *
-             */
-            if (sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId()) <= 0) {
-                return ResultBody.failed("该部门创建人数已经达到上限");
-            }
             SysHospital sysHospital = sysHospitalMapper.selectById(sysDoctor.getHospitalId());
             SysDepartment sysDepartment = sysDepartmentMapper.selectById(sysDoctor.getDepartmentId());
             if (sysDoctor.getId() == null) {
+                /**
+                 * 限制只有创建医生的个数
+                 *
+                 */
+                if (sysUserServiceImpl.departmetAccountsCount(sysDoctor.getDepartmentId()) <= 0) {
+                    return ResultBody.failed("该部门创建人数已经达到上限");
+                }
                 Long sysUserId = null;
                 //保存部门信息
                 ResultBody resultBody = this.saveFenjiekou(sysDoctor, id, sysHospital, sysDepartment, null);
@@ -246,28 +245,32 @@
                         }
                     }
                     Map<String, Object> columnMap = new HashMap<>();
-                    columnMap.put("user_id", sysDoctor.getUserId());
+                    columnMap.put("user_id", getOne.getUserId());
                     boolean b = sysUserOrgService.removeByMap(columnMap);
                     //保存将sys_user_org
                     SysUserOrg sysUserOrg = new SysUserOrg();
                     sysUserOrg.setUserId(getOne.getUserId());
-                    sysUserOrg.setEnabled(false);
+                    sysUserOrg.setEnabled(true);
                     sysUserOrg.setFromId(sysDoctor.getDepartmentId());
                     sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
                     sysUserOrg.setOrgId(sysDepartment.getOrgId());
                     sysUserOrg.setCreateTime(new Date());
+                    List<SysUserOrg> sysUserOrgs=new ArrayList<>();
+                    sysUserOrgs.add(sysUserOrg);
                     sysUserOrgService.saveOrUpdate(sysUserOrg);
                     SysUserOrg sysGongsi = new SysUserOrg();
-                    sysGongsi.setUserId(getOne.getId());
+                    sysGongsi.setUserId(getOne.getUserId());
                     sysGongsi.setOrgId(sysHospital.getOrgId());
                     sysGongsi.setFromId(sysDoctor.getHospitalId());
-                    sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
+                    sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_HOS_LEVEL);
+                    sysGongsi.setEnabled(true);
+                    sysUserOrgs.add(sysGongsi);
                     sysUserOrgService.saveOrUpdate(sysGongsi);
                     baseMapper.updateById(sysDoctor);
                     if (redisUtils.hHasKey(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString())) {
                         redisUtils.hdel(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString());
                     }
-                    redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrg);
+                    redisUtils.hset(RedisConstant.USER_ORGANIZATION, getOne.getUserId().toString(), sysUserOrgs);
                     //角色更换
                     QueryWrapper queryWrapper = new QueryWrapper();
                     queryWrapper.eq("user_id", getOne.getUserId());
@@ -415,12 +418,14 @@
                 sysRoleUser.setUserId(sysUser.getId());
                 int insert = sysUserRoleMapper.insert(sysRoleUser);
             });
+            List<SysUserOrg> sysUserOrgs=new ArrayList<>();
             //保存将sys_user_org 保存部门
             SysUserOrg sysUserOrg = new SysUserOrg();
             sysUserOrg.setUserId(sysUser.getId());
             sysUserOrg.setFromId(sysDoctor.getDepartmentId());
             sysUserOrg.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
             sysUserOrg.setOrgId(sysDepartment.getOrgId());
+            sysUserOrgs.add(sysUserOrg);
             //保存公司
             sysUserOrgService.saveOrUpdate(sysUserOrg);
             SysUserOrg sysGongsi = new SysUserOrg();
@@ -429,8 +434,9 @@
             sysGongsi.setFromId(sysDoctor.getHospitalId());
             sysGongsi.setFromLevel(CommonConstant.SYSTEM_ORG_DEP_LEVEL);
             sysUserOrgService.saveOrUpdate(sysGongsi);
+            sysUserOrgs.add(sysGongsi);
             //保存到Redis
-            boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrg);
+            boolean hset = redisUtils.hset(RedisConstant.USER_ORGANIZATION, sysUserOrg.getUserId().toString(), sysUserOrgs);
         }
         return ResultBody.ok().data(sysUserId);
     }

--
Gitblit v1.8.0