forked from kidgrow-microservices-platform

1.新增和修改接口:
(1)用户登录后返回信息接口
(2)用户注册
(3)诊断模版
(4)重置密码 修改密码
(5)设为超管
2.增加生成指定长度随机数common
14 files modified
1 files added
495 ■■■■ changed files
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/DoctorTempleteController.java 25 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysDoctor.java 4 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/model/SysUser.java 4 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java 8 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysDoctorService.java 11 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysUserService.java 15 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysDoctorServiceImpl.java 92 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml 49 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysDoctorController.java 31 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserController.java 44 ●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/CommonConstant.java 13 ●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/DoctorUserAll.java 175 ●●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/LoginAppUser.java 1 ●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/SysUser.java 8 ●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/utils/RandomValueUtils.java 15 ●●●●● patch | view | raw | blame | history
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("模板保存失败,请稍候重试。");
            }
        }
    }
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试用不能为空")
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;
}
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);
}
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);
}
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);
}
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);
        }
    }
}
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>
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);
    }
}
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);
    }
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参数
     */
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/model/DoctorUserAll.java
New file
@@ -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;
}
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();
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;
}
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();
    }
}