From 85b973f198c326aa6db1be878d33f747e4f505fa Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Tue, 16 Jun 2020 19:02:26 +0800
Subject: [PATCH] 1.pom文件中新增汉字转拼音,生成缩略图引用 2.增加设置logo的数据修改接口 3.增加删除用户接口 4.根据用户名查看当前用户是否管理员接口 5.获取医院科室下的所有有效的医生接口 6.修改文件中心,增加支持医生文件夹。

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java |  147 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 96 insertions(+), 51 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
index 23d5af5..ff57dbc 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -16,15 +16,15 @@
 import com.kidgrow.common.model.*;
 import com.kidgrow.common.service.impl.SuperServiceImpl;
 import com.kidgrow.common.utils.DateUtils;
+import com.kidgrow.common.utils.Pinyin4jUtil;
 import com.kidgrow.redis.util.RedisUtils;
 import com.kidgrow.sms.feign.SmsChuangLanService;
 import com.kidgrow.sms.model.ConstantSMS;
-import com.kidgrow.usercenter.mapper.SysDoctorMapper;
-import com.kidgrow.usercenter.mapper.SysRoleMenuMapper;
-import com.kidgrow.usercenter.mapper.SysUserMapper;
+import com.kidgrow.usercenter.mapper.*;
 import com.kidgrow.usercenter.model.SysDoctor;
 import com.kidgrow.usercenter.model.*;
 import com.kidgrow.usercenter.service.*;
+import com.kidgrow.usercenter.vo.HospitalDoctorListVo;
 import com.kidgrow.usercenter.vo.UserRegVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.MapUtils;
@@ -81,6 +81,13 @@
     private DistributedLock lock;
     @Autowired
     private SysDoctorMapper sysDoctorMapper;
+
+    @Autowired
+    private SysRoleMapper sysRoleMapper;
+    @Autowired
+    private SysUserRoleMapper sysUserRoleMapper;
+
+    private final String HOSPITAL_ADMIN="hospital_admin";
 
     @Override
     public LoginAppUser findByUsername(String username) {
@@ -622,7 +629,6 @@
 
     /**
      * H端用户注册  管理员添加用户
-     *
      * @param userRegVo
      * @return
      */
@@ -633,27 +639,31 @@
             return ResultBody.failed("该手机号已经注册");
         }
         //检查判断是注册 还是添加用户,注册用户先走基本数据建设
-        if (StringUtils.isBlank(userRegVo.getHospitalId().toString())) {
+        if (userRegVo.getHospitalId()==null) {
             userRegVo.setDoctorState(true);
             //添加医院组织结构数据
-            List<SysOrganization> sysOrganizationList = new ArrayList<SysOrganization>();
-            SysOrganization sysOrganizationHos = new SysOrganization();
+            List<SysOrganization> sysOrganizationList=new ArrayList<SysOrganization>();
+            SysOrganization sysOrganizationHos=new SysOrganization();
             sysOrganizationHos.setOrgAttr(1);
             sysOrganizationHos.setOrgLevel(1);
             sysOrganizationHos.setOrgName(userRegVo.getHospitalName());
+            sysOrganizationHos.setCreateUserName("自主注册");
+            sysOrganizationHos.setCreateUserId(0L);
             sysOrganizationList.add(sysOrganizationHos);
 
             //添加科室组织数据
-            SysOrganization sysOrganizationDe = new SysOrganization();
+            SysOrganization sysOrganizationDe=new SysOrganization();
             sysOrganizationDe.setOrgAttr(2);
             sysOrganizationDe.setOrgLevel(2);
             sysOrganizationDe.setOrgName(userRegVo.getDepartmentName());
+            sysOrganizationDe.setCreateUserName("自主注册");
+            sysOrganizationDe.setCreateUserId(0L);
             sysOrganizationList.add(sysOrganizationDe);
             //批量写入
-            boolean orgRe = organizationService.saveBatch(sysOrganizationList);
+            boolean orgRe= organizationService.saveBatch(sysOrganizationList);
             if (orgRe) {
                 //写医院数据
-                SysHospital sysHospital = new SysHospital();
+                SysHospital sysHospital=new SysHospital();
                 sysHospital.setHospitalName(userRegVo.getHospitalName());
                 sysHospital.setOrgId(sysOrganizationHos.getId());
                 sysHospital.setAccountsCount(1);
@@ -661,11 +671,11 @@
                 sysHospital.setCreateUserId(0L);
                 sysHospital.setCreateUserName("自主注册");
 
-                boolean h = hospitalService.save(sysHospital);
+                boolean h=hospitalService.save(sysHospital);
                 if (h) {
                     userRegVo.setHospitalId(sysHospital.getId());
                     //保存科室数据
-                    SysDepartment sysDepartment = new SysDepartment();
+                    SysDepartment sysDepartment=new SysDepartment();
                     sysDepartment.setHospitalId(sysHospital.getId());
                     sysDepartment.setOrgId(sysOrganizationDe.getId());
                     sysDepartment.setDepartmentName(userRegVo.getDepartmentName());
@@ -674,30 +684,38 @@
                     sysDepartment.setSaleUserTel("0");
                     sysDepartment.setServerUserId(0L);
                     sysDepartment.setServerUserTel("0");
-                    boolean d = departmentService.save(sysDepartment);
+                    sysDepartment.setServerUserName("自主注册");
+                    boolean d=departmentService.save(sysDepartment);
                     if (!d) {
                         return ResultBody.failed("科室数据写入失败");
-                    } else {
+                    }
+                    else
+                    {
                         userRegVo.setDepartmentId(sysDepartment.getId());
                     }
-                } else {
+                }
+                else
+                {
                     return ResultBody.failed("医院数据写入失败");
                 }
-            } else {
+            }
+            else
+            {
                 return ResultBody.failed("组织数据写入失败");
             }
         }
         //添加用户数据  如果没有输入密码,将会创建一个默认密码返回
-        String defaultPassWord = "";
-        SysUser sysUser = new SysUser();
+        String defaultPassWord="";
+        SysUser sysUser=new SysUser();
         sysUser.setUsername(userRegVo.getUsername());
         sysUser.setMobile(userRegVo.getMobile());
         if (StringUtils.isBlank(userRegVo.getPassword())) {
-            defaultPassWord = com.kidgrow.common.utils.RandomValueUtils.getRandom(6);
+            defaultPassWord=com.kidgrow.common.utils.RandomValueUtils.getRandom(6);
             sysUser.setPassword(passwordEncoder.encode(defaultPassWord));
             sysUser.setDefaultAuth(true);
             userRegVo.setPassword(defaultPassWord);
-        } else {
+        }
+        else {
             sysUser.setPassword(passwordEncoder.encode(userRegVo.getPassword()));
             sysUser.setDefaultAuth(false);
         }
@@ -706,45 +724,66 @@
         sysUser.setEnabled(true);
         if (StringUtils.isNotBlank(userRegVo.getType())) {
             sysUser.setType(userRegVo.getType());
-        } else {
+        }
+        else
+        {
             sysUser.setType(UserType.DOCTOR.name());
         }
         sysUser.setHAdminUser(false);
         sysUser.setOpenId(userRegVo.getOpenId());
         sysUser.setDel(false);
-        boolean u = this.save(sysUser);
-        if (u) {
+        sysUser.setTenantId("hospital");
+        boolean u=this.save(sysUser);
+        if(u)
+        {
+            //保存  角色信息
+            Map<String,Object> map= new HashMap<>();
+            map.put("code",HOSPITAL_ADMIN);
+            map.put("enabled",1);
+            map.put("is_del",0);
+            List<SysRole> sysRoles = sysRoleMapper.selectByMap(map);
+            if(sysRoles.size()>0){
+                //保存一个角色
+                SysRole sysRole = sysRoles.get(0);
+                SysRoleUser sysRoleUser=new SysRoleUser();
+                sysRoleUser.setRoleId(sysRole.getId());
+                sysRoleUser.setUserId(sysUser.getId());
+                int insert = sysUserRoleMapper.insert(sysRoleUser);
+            }
             //写入职务数据
             if (StringUtils.isNotBlank(userRegVo.getDoctorRank())) {
                 //检查医生职务是否存在
                 Map<String, Object> selectMap = new HashMap<>();
                 selectMap.put("dictionaries_name", userRegVo.getDoctorRank());
-                List<SysDictionaries> dictionariesList = sysDictionariesService.findAll(selectMap);
-                if (dictionariesList.size() > 0) {
+                List<SysDictionaries> dictionariesList=sysDictionariesService.findAll(selectMap);
+                if (dictionariesList.size()>0) {
                     for (int i = dictionariesList.size() - 1; i >= 0; i--) {
                         if (dictionariesList.get(i).getDictionariesName().equals(userRegVo.getDoctorRank())) {
                             userRegVo.setDoctorRankId(dictionariesList.get(i).getId());
                             break;
                         }
                     }
-                } else {
+                }
+                else
+                {
                     //创建字典数据
-                    SysDictionaries sysDictionaries = new SysDictionaries();
+                    SysDictionaries sysDictionaries=new SysDictionaries();
                     sysDictionaries.setDictionariesKey(DictionariesConstants.DOCTOR_RANK);
                     sysDictionaries.setDictionariesClassId(DictionariesConstants.DOCTOR_RANK_ID.toString());
                     //将名称汉字转为拼音
-                    sysDictionaries.setDictionariesKey("temp");
+
+                    sysDictionaries.setDictionariesKey(Pinyin4jUtil.makeStringByStringSet(Pinyin4jUtil.getPinyin(userRegVo.getDoctorRank(),true)));
                     sysDictionaries.setDictionariesName(userRegVo.getDoctorRank());
                     sysDictionaries.setCreateUserId(0L);
                     sysDictionaries.setCreateUserName("自动创建");
-                    boolean d = sysDictionariesService.save(sysDictionaries);
+                    boolean d=sysDictionariesService.save(sysDictionaries);
                     if (d) {
                         userRegVo.setDoctorRankId(sysDictionaries.getId());
                     }
                 }
             }
             //写入医生数据
-            SysDoctor sysDoctor = new SysDoctor();
+            SysDoctor sysDoctor=new SysDoctor();
             sysDoctor.setUserId(sysUser.getId());
             sysDoctor.setHospitalId(userRegVo.getHospitalId());
             sysDoctor.setHospitalName(userRegVo.getHospitalName());
@@ -759,21 +798,36 @@
             sysDoctor.setDoctorName(userRegVo.getNickname());
             sysDoctor.setServerUserId(0L);
             sysDoctor.setServerUserName("自主注册");
-            if (sysDoctorMapper.insert(sysDoctor) == 1) {
-                if (StringUtils.isNotBlank(defaultPassWord)) {
-                    //默认密码需要返回
-                    sysUser.setPassword(defaultPassWord);
-                }
-                else
-                {
-                    sysUser.setPassword("");
-                }
-                return ResultBody.ok(200, "注册成功").data(sysUser);
-            } else {
+            if (sysDoctorMapper.insert(sysDoctor)==1) {
+                sysUser.setPassword(userRegVo.getPassword());
+                return ResultBody.ok().data(sysUser);
+//                return ResultBody.ok(200,"注册成功").data(sysUser);
+            }
+            else
+            {
                 return ResultBody.failed("医生数据写入失败");
             }
-        } else {
+        }
+        else
+        {
             return ResultBody.failed("用户数据写入失败");
+        }
+    }
+    /**
+     * 获取医院科室下的所有有效的医生
+     * @param hospitalId
+     * @param departmentId
+     * @return
+     */
+    @Override
+    public ResultBody hospitalDoctorList(Long hospitalId, Long departmentId) {
+        if (hospitalId>0&&departmentId>0) {
+            List<HospitalDoctorListVo> listVoList=baseMapper.hospitalDoctorList(hospitalId,departmentId);
+            return ResultBody.ok().data(listVoList);
+        }
+        else
+        {
+            return ResultBody.failed("医院数据有误");
         }
     }
 
@@ -813,14 +867,5 @@
             return sysDoctorList.get(0);
         }
         return new com.kidgrow.usercenter.model.SysDoctor();
-    }
-
-    public ResultBody userIsAdmin(String userName) {
-
-        Map<String, Object> selectMap = new HashMap<>();
-        selectMap.put("username", userName);
-        List<SysUser> sysUsers = baseMapper.selectByMap(selectMap);
-
-        return null;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0