From 99f67e978ed5d73ef50172bafa8ed4d9e08c4099 Mon Sep 17 00:00:00 2001
From: 侯瑞军 <411269194@kidgrow.com>
Date: Fri, 05 Jun 2020 10:37:07 +0800
Subject: [PATCH] 1.新增和修改接口: (1)用户登录后返回信息接口 (2)用户注册 (3)诊断模版 (4)重置密码 修改密码 (5)设为超管 2.增加生成指定长度随机数common

---
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysUser.java                                        |    4 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java                                      |    4 
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/DoctorUserAll.java                                              |  175 +++++++++++++++++++
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java                                                    |    8 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java                      |   44 ++++
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml                                                    |   49 +++++
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java                                               |    1 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java                                 |    8 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java                            |   11 +
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java                              |   15 +
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java                                          |   13 +
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java                    |   31 ++-
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java |   25 +-
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java                    |   92 ++++++++--
 kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/RandomValueUtils.java                                           |   15 +
 15 files changed, 435 insertions(+), 60 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
index b5b0601..b890f89 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java
@@ -1,29 +1,24 @@
 package com.kidgrow.oprationcenter.controller;
 
-import java.util.Map;
 import com.kidgrow.common.controller.BaseController;
-import org.apache.commons.collections4.MapUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.ObjectError;
-import org.springframework.web.bind.annotation.*;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.oprationcenter.model.DoctorTemplete;
+import com.kidgrow.oprationcenter.service.IDoctorTempleteService;
 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 com.kidgrow.oprationcenter.model.DoctorTemplete;
-import com.kidgrow.oprationcenter.service.IDoctorTempleteService;
-import com.kidgrow.common.model.*;
-
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.annotation.*;
+
 import javax.validation.Valid;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 
 /**
@@ -94,10 +89,10 @@
         }  else {
             boolean v= doctorTempleteService.saveOrUpdate(doctorTemplete);
             if(v) {
-                return ResultBody.ok().data(doctorTemplete).msg("保存成功");
+                return ResultBody.ok().data(doctorTemplete.getId()).msg("模板保存成功!");
             }
             else {
-                return ResultBody.failed().msg("保存失败");
+                return ResultBody.failed().msg("模板保存失败,请稍候重试。");
             }
         }
     }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
index 3da26fb..77bec98 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java
@@ -102,6 +102,10 @@
     @TableLogic
     private Boolean isDel;
     /**
+     * 是否管理员 0否 1是
+     */
+    private Boolean isAdminUser;
+    /**
      * 医生状态 1正常 0试用
      */
     @NotNull(message = "医生状态 1正常 0试用不能为空")
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysUser.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysUser.java
index dbebe1b..2c24641 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysUser.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysUser.java
@@ -78,4 +78,8 @@
      * 租户字段
      */
     private String tenantId;
+    /**
+     * 是否默认密码状态
+     */
+    private boolean isDefaultAuth;
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
index be7add6..785ec79 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
@@ -1,6 +1,7 @@
 package com.kidgrow.usercenter.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.model.DoctorUserAll;
 import com.kidgrow.common.model.SysUser;
 import com.kidgrow.db.mapper.SuperMapper;
 import org.apache.ibatis.annotations.Param;
@@ -33,4 +34,11 @@
      * @return
      */
     List<SysUser> findAppointUsers(@Param("type") Integer type);
+
+    /**
+     * 获取登录用户的其它信息
+     * @param userId
+     * @return
+     */
+    DoctorUserAll findDoctorUserAllData(Long userId);
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
index 2eceddb..34634d1 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java
@@ -1,10 +1,10 @@
 package com.kidgrow.usercenter.service;
 
+import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.model.ResultBody;
 import com.kidgrow.common.model.SysUser;
-import com.kidgrow.usercenter.model.SysDoctor;
-import com.kidgrow.common.model.PageResult;
 import com.kidgrow.common.service.ISuperService;
+import com.kidgrow.usercenter.model.SysDoctor;
 import com.kidgrow.usercenter.vo.SysDoctorDto;
 import com.kidgrow.usercenter.vo.SysDoctorVo;
 
@@ -43,5 +43,12 @@
     boolean saveOrUpdateSer(SysDoctorDto sysDoctor, HttpServletRequest request,SysUser user);
 
     List<SysDoctor> findByMap(Map<String, Object> map);
+
+    /**
+     * 设为医院超管
+     * @param map
+     * @return
+     */
+    ResultBody setAdminDoctor(Map<String, Object> map);
 }
 
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
index 5a04762..28211e1 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java
@@ -69,8 +69,13 @@
 	 * @param newPassword
 	 * @return
 	 */
-	ResultBody updatePassword(Long id, String oldPassword, String newPassword);
-
+	ResultBody updatePassword(Long id, String oldPassword, String newPassword,Boolean isdefault);
+	/**
+	 * 更新手机号
+	 * @param params
+	 * @return
+	 */
+	ResultBody updateUserTel(Map<String,Object> params);
 	/**
 	 * 用户列表
 	 * @param params
@@ -125,4 +130,10 @@
 	 * @return
 	 */
 	ResultBody findAppointUsers(Integer type);
+	/**
+	 * 获取登录用户的其它信息
+	 * @param userId
+	 * @return
+	 */
+	ResultBody findDoctorUserAllData(Long userId);
 }
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 6ee3454..ec7fa0d 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
@@ -1,39 +1,32 @@
 package com.kidgrow.usercenter.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kidgrow.common.constant.CommonConstant;
 import com.kidgrow.common.constant.SecurityConstants;
 import com.kidgrow.common.model.*;
+import com.kidgrow.common.service.impl.SuperServiceImpl;
 import com.kidgrow.redis.util.RedisConstant;
 import com.kidgrow.redis.util.RedisUtils;
+import com.kidgrow.usercenter.mapper.SysDoctorMapper;
 import com.kidgrow.usercenter.mapper.SysRoleMapper;
-import com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper;
 import com.kidgrow.usercenter.mapper.SysUserRoleMapper;
-import com.kidgrow.usercenter.model.SysRoleOrganization;
+import com.kidgrow.usercenter.model.SysDoctor;
 import com.kidgrow.usercenter.model.SysRoleUser;
-import com.kidgrow.usercenter.service.ISysRoleOrganizationService;
+import com.kidgrow.usercenter.service.ISysDoctorService;
 import com.kidgrow.usercenter.service.ISysUserOrgService;
 import com.kidgrow.usercenter.service.ISysUserService;
 import com.kidgrow.usercenter.vo.SysDoctorDto;
 import com.kidgrow.usercenter.vo.SysDoctorVo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.MapUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cglib.beans.BeanCopier;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.kidgrow.common.service.impl.SuperServiceImpl;
-
-import java.util.*;
-
-import org.apache.commons.collections4.MapUtils;
-import lombok.extern.slf4j.Slf4j;
-
-import com.kidgrow.usercenter.model.SysDoctor;
-import com.kidgrow.usercenter.mapper.SysDoctorMapper;
-import com.kidgrow.usercenter.service.ISysDoctorService;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.*;
 
 /**
  * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
@@ -153,8 +146,8 @@
                 sysUser.setNickname(sysDoctor.getHospitalName());
                 sysUser.setHeadImgUrl(sysDoctor.getDoctorLogo());
                 sysUser.setMobile(sysDoctor.getDoctorTel());
-                sysUser.setType("doctor");
-                sysUser.setTenantId("hospital");
+                sysUser.setType(CommonConstant.H_DOCTOR);
+                sysUser.setTenantId(CommonConstant.H_TENANT);
                 sysUser.setCreateTime(new Date());
                 SysUser byId = iSysUserService.getById(id);
                 if(byId!=null){
@@ -232,4 +225,67 @@
         map.put("is_del",0);
         return baseMapper.selectByMap(map);
     }
+
+    @Override
+    @Transactional
+    public ResultBody setAdminDoctor(Map<String, Object> params) {
+        Long id = MapUtils.getLong(params, "id");
+        Long adminId = MapUtils.getLong(params, "adminId");
+        if (id>0&&adminId>0) {
+            Map<String,Object> map= new HashMap<>();
+            map.put("id",adminId);
+            SysDoctor sysDoctor=baseMapper.selectById(adminId);
+            //先检查操作用户是否管理员
+            if(sysDoctor!=null){
+                if (sysDoctor.getIsAdminUser()) {
+                    //现将操作人员设为非管理
+                    sysDoctor=new SysDoctor();
+                    sysDoctor.setIsAdminUser(false);
+                    if(baseMapper.updateById(sysDoctor)>0)
+                    {
+                        //再将新用户设为管理
+                        sysDoctor=baseMapper.selectById(id);
+                        if (sysDoctor != null) {
+                            if (!sysDoctor.getIsAdminUser()) {
+                                sysDoctor=new SysDoctor();
+                                sysDoctor.setIsAdminUser(true);
+                                if (baseMapper.updateById(sysDoctor)>0) {
+                                    return ResultBody.ok().data(true).msg("管理员设置成功!");
+                                }
+                                else
+                                {
+                                    return ResultBody.failed("设为管理失败!").data(false);
+                                }
+                            }
+                            else
+                            {
+                                return ResultBody.failed("设为管理失败,改用户就是管理员!").data(false);
+                            }
+                        }
+                        else
+                        {
+                            return ResultBody.failed("用户信息有误!").data(false);
+                        }
+                    }
+                    else
+                    {
+                        return ResultBody.failed("设为管理失败!").data(false);
+                    }
+                }
+                else
+                {
+                    return ResultBody.failed("当前操作用户不是管理员!").data(false);
+                }
+            }
+            else
+            {
+                return ResultBody.failed("用户信息有误!").data(false);
+            }
+
+        }
+        else
+        {
+            return ResultBody.failed("业务参数有误!").data(false);
+        }
+    }
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
index 2091f8b..428ed8a 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
@@ -75,7 +75,7 @@
 		select count(*) from  sys_user t <include refid="where_map" />
 	</select>
 
-	<select id="findAppointUsers" parameterType="Integer" resultType="com.kidgrow.common.model.SysUser">
+	<select id="findAppointUsers" parameterType="integer" resultType="com.kidgrow.common.model.SysUser">
 		SELECT
 			USERS.id,
 			USERS.nickname,
@@ -97,4 +97,51 @@
 				'opration')
 			</if>
 	</select>
+	<select  id="findDoctorUserAllData"  resultType="com.kidgrow.common.model.DoctorUserAll">
+		SELECT sysuser.id,
+		sysdoctor.doctor_name,
+		sysdoctor.doctor_ccie,
+		sysdoctor.doctor_tel,
+		sysdoctor.doctor_rank,
+		sysdoctor.doctor_email,
+		sysdoctor.is_answer docanswer,
+		sysdoctor.is_signing docsign,
+		sysdoctor.is_admin_user,
+		sysdoctor.doctor_state,
+		sysdoctor.doctor_logo,
+		sysdoctor.enabled docenabled,
+		sysdoctor.is_del docdel,
+
+		syshos.hospital_name,
+		syshos.hospital_short_name,
+		syshos.hospital_type_name,
+		syshos.hospital_tel,
+		syshos.hospital_province,
+		syshos.hospital_city,
+		syshos.hospital_area,
+		syshos.area_code,
+		syshos.hospital_qualified_name,
+		syshos.hospital_lit_logo,
+		syshos.hospital_logo,
+		syshos.is_screen hosisscreen,
+		syshos.is_answer hosisanswer,
+		syshos.accounts_count,
+		syshos.hospital_state,
+		syshos.enabled hosenabled,
+		syshos.is_del hosdel,
+		syshos.accounts_count,
+
+		sysdep.department_name,
+		sysdep.server_user_name,
+		sysdep.server_user_tel,
+		sysdep.sale_user_name,
+		sysdep.sale_user_tel,
+		sysdep.enabled depenabled,
+		sysdep.is_del depdel
+		FROM sys_user sysuser
+		left JOIN sys_doctor sysdoctor on sysuser.id=sysdoctor.user_id
+		left JOIN sys_hospital syshos on sysdoctor.hospital_id=syshos.id
+		left JOIN sys_department sysdep on sysdoctor.department_id=sysdep.id
+		where sysuser.id=#{userId}
+	</select>
 </mapper>
\ No newline at end of file
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
index b30291d..d694ad8 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java
@@ -1,31 +1,30 @@
 package com.kidgrow.usercenter.controller;
 
-import java.util.Map;
-
 import com.kidgrow.common.annotation.LoginUser;
 import com.kidgrow.common.controller.BaseController;
-import com.kidgrow.usercenter.vo.SysDoctorVo;
+import com.kidgrow.common.model.PageResult;
+import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.common.model.SysUser;
+import com.kidgrow.usercenter.model.SysDoctor;
+import com.kidgrow.usercenter.service.ISysDoctorService;
 import com.kidgrow.usercenter.vo.SysDoctorDto;
-import org.apache.commons.collections4.MapUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.ObjectError;
-import org.springframework.web.bind.annotation.*;
+import com.kidgrow.usercenter.vo.SysDoctorVo;
 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 com.kidgrow.usercenter.model.SysDoctor;
-import com.kidgrow.usercenter.service.ISysDoctorService;
-import com.kidgrow.common.model.*;
-
+import org.apache.commons.collections4.MapUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -140,5 +139,13 @@
         }
             return sysDoctorService.enable(params);
     }
+    /**
+     * 设为管理
+     */
+    @ApiOperation(value = "修改状态")
+    @PostMapping("setadmin")
+    public ResultBody setAdmin(@RequestBody Map<String, Object> params) {
+        return sysDoctorService.setAdminDoctor(params);
+    }
 
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
index 0b2c3e0..373f820 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java
@@ -224,7 +224,7 @@
 
     /**
      * 管理后台,给用户重置密码
-     *
+     *重置密码后,会将新密码返回到data字段。
      * @param id
      */
     @PutMapping(value = "/users/{id}/password")
@@ -233,8 +233,7 @@
         if (checkAdmin(id)) {
             return ResultBody.failed(ADMIN_CHANGE_MSG);
         }
-        appUserService.updatePassword(id, null, null);
-        return ResultBody.ok().msg("重置成功");
+        return appUserService.updatePassword(id, null, null,true);
     }
 
     /**
@@ -245,10 +244,43 @@
         if (checkAdmin(sysUser.getId())) {
             return ResultBody.failed().msg(ADMIN_CHANGE_MSG);
         }
-        appUserService.updatePassword(sysUser.getId(), sysUser.getOldPassword(), sysUser.getNewPassword());
-        return ResultBody.ok().msg("重置成功");
+        appUserService.updatePassword(sysUser.getId(), sysUser.getOldPassword(), sysUser.getNewPassword(),false);
+        return ResultBody.ok().data(true).msg("密码重置成功");
+    }
+    /**
+     * 用户自己修改密码-后端以外
+     */
+    @PutMapping(value = "/users/resetpassword")
+    public ResultBody resetClientPassword(@RequestParam Map<String, Object> params) {
+        Long id=MapUtils.getLong(params, "id");
+        String oldPassword=MapUtils.getString(params,"oldPassword");
+        String newPassword=MapUtils.getString(params,"newPassword");
+        String refPassword=MapUtils.getString(params,"refPassword");
+        if (id>0&&!oldPassword.isEmpty()&&!newPassword.isEmpty()&&!refPassword.isEmpty()) {
+            if (refPassword.equals(newPassword)) {
+                return appUserService.updatePassword(id,oldPassword,newPassword,false).data(true).msg("密码修改成功!");
+            }
+            else
+            {
+                return ResultBody.failed("两次新密码输入不一致!").data(false);
+            }
+        }
+        else
+        {
+            return ResultBody.failed("必须参数有误!").data(false);
+        }
     }
 
+    /**
+     * 用户修改自己的手机号
+     * @param params
+     * @return
+     */
+    @PutMapping(value="/users/updateusertel")
+    public ResultBody updateUserTel(@RequestParam Map<String,Object> params)
+    {
+        return appUserService.updateUserTel(params);
+    }
     /**
      * 删除用户
      *
@@ -261,7 +293,7 @@
             return ResultBody.failed(ADMIN_CHANGE_MSG);
         }
         appUserService.delUser(id);
-        return ResultBody.ok().msg("删除成功");
+        return ResultBody.ok().msg("删除成功").data(true);
     }
 
 
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java
index fd76c6f..d6561b8 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java
@@ -110,11 +110,20 @@
     String SIMPLE_MONTH_FORMAT = "yyyyMM";
     String SIMPLE_DATE_FORMAT = "yyyyMMdd";
     String SIMPLE_DATETIME_FORMAT = "yyyyMMddHHmmss";
-
+    /**
+     * 默认密码
+     */
     String DEF_USER_PASSWORD = "123456";
 
     String LOCK_KEY_PREFIX = "LOCK_KEY:";
-
+    /**
+     * H端的 tenantid
+     */
+    String H_TENANT="hospital";
+    /**
+     * H端的 登录用户类型
+     */
+    String H_DOCTOR="doctor";
     /**
      * 租户id参数
      */
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/DoctorUserAll.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/DoctorUserAll.java
new file mode 100644
index 0000000..e5fc6f0
--- /dev/null
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/DoctorUserAll.java
@@ -0,0 +1,175 @@
+package com.kidgrow.common.model;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
+ *
+ * @Description: <br>
+ * @Project: <br>
+ * @CreateDate: Created in 2020/06/04 13:54 <br>
+ * @Author: <a href="411269194@kidgrow.com">houruijun</a>
+ */
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DoctorUserAll extends Model<DoctorUserAll> {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 医生姓名
+     */
+    private String doctorName;
+    /**
+     * 医生的头像
+     */
+    private String doctorLogo;
+    /**
+     * 资质证书
+     */
+    private String doctorCcie;
+    /**
+     * 医生联系方式
+     */
+    private String doctorTel;
+    /**
+     * 职称
+     */
+    private String doctorRank;
+    /**
+     * 医生的email
+     */
+    private String doctorEmail;
+    /**
+     * 是否医答医生 0否1是
+     */
+    private Boolean docanswer;
+    /**
+     * 是否签约医生 0否1是
+     */
+    private Boolean docsign;
+    /**
+     * 是否删除,1删除,0未删除
+     */
+    private Boolean docdel;
+    /**
+     * 是否管理员 0否 1是
+     */
+    private Boolean isAdminUser;
+    /**
+     * 医生状态 1正常 0试用
+     */
+    private Boolean doctorState;
+    /**
+     * 启用禁用状态,1启用,0停用
+     */
+    private Boolean docenabled;
+
+
+    /**
+     * 医院名称 同组织名字
+     */
+    private String hospitalName;
+    /**
+     * 医院简称
+     */
+    private String hospitalShortName;
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+    /**
+     * 医院类型 社区/儿保等等之类
+     */
+    private String hospitalTypeName;
+    /**
+     * 医院电话
+     */
+    private String hospitalTel;
+    /**
+     * 医院所在省
+     */
+    private String hospitalProvince;
+    /**
+     * 医院所在城
+     */
+    private String hospitalCity;
+    /**
+     * 医院所在地区
+     */
+    private String hospitalArea;
+    /**
+     * 区号
+     */
+    private String areaCode;
+    /**
+     * 资质(三甲医院)
+     */
+    private String hospitalQualifiedName;
+    /**
+     * 医院logo  缩略图
+     */
+    private String hospitalLitLogo;
+    /**
+     * 医院logo 原图
+     */
+    private String hospitalLogo;
+    /**
+     * 是否筛查医院 1是0否
+     */
+    private Boolean hosisscreen;
+    /**
+     * 是否筛查医院 1是0否
+     */
+    private Boolean hosisanswer;
+    /**
+     * 服务状态 0试用 1正式
+     */
+    private Integer hospitalState;
+    /**
+     * 状态,1启用,0停用
+     */
+    private Boolean hosenabled;
+    /**
+     * 是否删除,1删除,0未删除
+     */
+    private Boolean hosdel;
+    /**
+     * 帐号数量,默认6
+     */
+    private Integer accountsCount;
+
+    /**
+     * 科室/部门名称 同组织名称
+     */
+    private String departmentName;
+    /**
+     * 销售代表的名字
+     */
+    private String serverUserName;
+    /**
+     * 销售代表电话
+     */
+    private String serverUserTel;
+    /**
+     * 状态,1启用,0停用
+     */
+    private Boolean depenabled;
+    /**
+     * 是否删除,1删除,0未删除
+     */
+    @TableLogic
+    private Boolean depdel;
+    /**
+     * 销售代表的名字
+     */
+    private String saleUserName;
+    /**
+     * 销售代表电话
+     */
+    private String saleUserTel;
+}
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java
index 8326d16..1d7d6d3 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java
@@ -64,7 +64,6 @@
     public String getUserId() {
         return getOpenId();
     }
-
 //    @Override
 //    public List<SysOrganization> getOrganizations() {
 //        return getOrganizations();
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java
index a546068..a993cc2 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java
@@ -32,7 +32,11 @@
     private String openId;
     @TableLogic
     private boolean isDel;
-
+    //是否默认密码
+    private boolean isDefaultAuth;
+    //是否医院管理
+    @TableField(exist = false)
+    private boolean isHAdminUser;
     private String tenantId;
 
     @TableField(exist = false)
@@ -45,4 +49,6 @@
     private String newPassword;
     @TableField(exist = false)
     private List<SysOrganization> organizations;
+    @TableField(exist = false)
+    private DoctorUserAll doctorUserAllVO;
 }
diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/RandomValueUtils.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/RandomValueUtils.java
index 5b3f464..8f23665 100644
--- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/RandomValueUtils.java
+++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/RandomValueUtils.java
@@ -157,5 +157,20 @@
         return no;
     }
 
+    /**
+     * 获取指定长度的随机数
+     * @param len
+     * @return
+     */
+    public static String getRandom(int len) {
+        String source = "0123456789";
+        Random r = new Random();
+        StringBuilder rs = new StringBuilder();
+        for (int j = 0; j < len; j++) {
+            rs.append(source.charAt(r.nextInt(10)));
+        }
+        return rs.toString();
+    }
+
 }
 

--
Gitblit v1.8.0