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(); } }