diff --git a/src/main/java/com/four/system/controller/SysUserController.java b/src/main/java/com/four/system/controller/SysUserController.java index b288a08..6864b29 100644 --- a/src/main/java/com/four/system/controller/SysUserController.java +++ b/src/main/java/com/four/system/controller/SysUserController.java @@ -1,14 +1,16 @@ package com.four.system.controller; import java.io.IOException; +import java.math.BigDecimal; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; -import com.four.system.api.domain.RequestRegistrationInformation; +import com.four.system.domain.SysRegistrationInformation; import com.four.system.service.*; import org.apache.commons.lang3.ArrayUtils; +import org.aspectj.weaver.loadtime.Aj; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.DeleteMapping; @@ -100,16 +102,13 @@ public class SysUserController extends BaseController @PostMapping("/importTemplate") public void importTemplate(HttpServletResponse response) throws IOException { - ExcelUtil util = new ExcelUtil(SysUser.class); + ExcelUtil util = new ExcelUtil<>(SysUser.class); util.importTemplateExcel(response, "用户数据"); } /** * 获取当前用户信息 */ - - - @InnerAuth @GetMapping("/info/{userName}") public R info (@PathVariable("userName") String userName) @@ -139,7 +138,6 @@ public class SysUserController extends BaseController } Set roles = permissionService.getRolePermission(sysUser); - Set permission = permissionService.getMenuPermission(sysUser); LoginUser loginUser = new LoginUser(); loginUser.setSysUser(sysUser); @@ -168,9 +166,6 @@ public class SysUserController extends BaseController } /** - * - * - * * 医生注册 */ @InnerAuth @@ -186,6 +181,23 @@ public class SysUserController extends BaseController } + /*** + * 患者注册 + * @param sysUser + * @return + */ + @InnerAuth + @PostMapping("/PatientRegisterBody") + public R PatientRegisterBody(@RequestBody SysUser sysUser){ + if(!"true".equals(configService.selectConfigByKey("sys.account.registerUser"))){ + return R.fail("当前系统没有开启注册功能"); + } + if(!userService.checkEmailUnique(sysUser)){ + return R.fail("保存用户'" + sysUser.getEmail() + "‘失败,注册用户已经存在"); + } + return R.ok(userService.PatientRegisterBody(sysUser)); + } + @GetMapping("getInfo") public AjaxResult getInfo() { @@ -215,9 +227,12 @@ public class SysUserController extends BaseController ajax.put("roles",roles); ajax.put("permission",permission); return ajax; - } + /*** + * 维度健康获取余额 + */ + /** * 根据用户编号获取详细信息 */ @@ -306,6 +321,8 @@ public class SysUserController extends BaseController return toAjax(userService.deleteUserByIds(userIds)); } + + /** * 重置密码 */ @@ -350,6 +367,53 @@ public class SysUserController extends BaseController return ajax; } + + /** + * 根据用户编号查询余额 + * @param userId + * @return + */ + @GetMapping("findByUserId/{userId}") + public AjaxResult findByUserId(@PathVariable("userId") Long userId){ + AjaxResult ajax = AjaxResult.success(); + SysUser sysUser = userService.selectUserById(userId); + List roles = roleService.selectRoleListByUserId(userId); + ajax.put("user",sysUser); + ajax.put("roles",roles); + return ajax; + } + + + /** + * 根据用户id修改用户余额 + * @param userId + * @param userMoney + * @return + */ + @PostMapping("updateSysUserMoney/{userId}/{userMoney}") + public AjaxResult updateSysUserMoney(@PathVariable Long userId,@PathVariable BigDecimal userMoney){ + userService.updateSysUserMoney(userId,userMoney); + return success(); + + } + + /** + * 医生信息表 + * @param registrationinformationid + * @return + */ + + @GetMapping("findRegistrationInformation/{registrationinformationid}") + public AjaxResult findRegistrationInformation(@PathVariable Long registrationinformationid){ + AjaxResult ajax = AjaxResult.success(); + SysRegistrationInformation information = userService.selectregistrationinformation(registrationinformationid); + List roles = roleService.selectRoleListByUserId(registrationinformationid); + ajax.put("information",information); + ajax.put("roles",roles); + return ajax; + } + + /** * 用户授权角色 */ diff --git a/src/main/java/com/four/system/domain/SysRegistrationInformation.java b/src/main/java/com/four/system/domain/SysRegistrationInformation.java new file mode 100644 index 0000000..891755f --- /dev/null +++ b/src/main/java/com/four/system/domain/SysRegistrationInformation.java @@ -0,0 +1,489 @@ +package com.four.system.domain; + +import org.apache.poi.hpsf.Decimal; + +/*** + * 医生详情表 + */ +public class SysRegistrationInformation { + /** + * 医生注册信息id + */ + private Long registrationInformationId; + /** + * 用户id + */ + private Long userId; + /** + * 所属医院 + */ + private String affiliatedHospital; + /** + * 医生科室id + */ + private Long medicalDepartmentId; + /** + * 医生职称id + */ + private Long professionalTitleDoctorId; + /** + * 个人简历 + */ + private String personalResume; + /** + * 擅长领域 + */ + private String areaExpertise; + /** + * 服务患者次数 + */ + private Integer numberPatientsServed; + /** + * 咨询价格 + */ + private Decimal consultingPrice; + /** + * 好评人数 + */ + private Integer praise; + /** + * 审核状态:1:待审核2:审核通过3:已驳回 + */ + private Integer registrationInformationExamineStatus; + + + /*************************************用户表*********************************************/ + + /** + * 部门ID + */ + private Long deptId; + /** + * 用户账号 + */ + private String userName; + /** + * 用户昵称 + */ + private String nickName; + /** + * 用户类型(00系统用户) + */ + private String userType; + /** + * 用户邮箱 + */ + private String email; + /** + * 手机号码 + */ + private String phonenumber; + /** + * 用户性别(0男 1女 2未知) + */ + private String sex; + /** + * 头像地址 + */ + private String avatar; + /** + * 密码 + */ + private String password; + /** + * 帐号状态(0正常 1停用) + */ + private String status; + /** + * 删除标志(0代表存在 2代表删除) + */ + private String delFlag; + /** + * 最后登录IP + */ + private String loginIp; + /** + * 创建者 + */ + private String createBy; + /** + * 备注 + */ + private String remark; + /** + * 更新者 + */ + private String updateBy; + /** + * 体征 + */ + private String userSign; + /** + * 绑定微信状态 1:未绑定 2:已绑定 + */ + private Integer bindWechatStatus; + /** + * 实名认证状态 1:未绑定 2:已绑定 + */ + private Integer realNameAuthenticationStatus; + /** + * 绑定银行卡状态 1:未绑定 2:已绑定 + */ + private Integer bindBankCardStatus; + /** + * 余额 + */ + private Decimal userMoney; + /** + * 邀请码 + */ + private String invitationCode; + /** + * 状态1:患者 2:医生 + */ + private Integer differentialState; + + + public SysRegistrationInformation(Long registrationInformationId, Long userId, String affiliatedHospital, Long medicalDepartmentId, Long professionalTitleDoctorId, String personalResume, String areaExpertise, Integer numberPatientsServed, Decimal consultingPrice, Integer praise, Integer registrationInformationExamineStatus, Long deptId, String userName, String nickName, String userType, String email, String phonenumber, String sex, String avatar, String password, String status, String delFlag, String loginIp, String createBy, String remark, String updateBy, String userSign, Integer bindWechatStatus, Integer realNameAuthenticationStatus, Integer bindBankCardStatus, Decimal userMoney, String invitationCode, Integer differentialState) { + this.registrationInformationId = registrationInformationId; + this.userId = userId; + this.affiliatedHospital = affiliatedHospital; + this.medicalDepartmentId = medicalDepartmentId; + this.professionalTitleDoctorId = professionalTitleDoctorId; + this.personalResume = personalResume; + this.areaExpertise = areaExpertise; + this.numberPatientsServed = numberPatientsServed; + this.consultingPrice = consultingPrice; + this.praise = praise; + this.registrationInformationExamineStatus = registrationInformationExamineStatus; + this.deptId = deptId; + this.userName = userName; + this.nickName = nickName; + this.userType = userType; + this.email = email; + this.phonenumber = phonenumber; + this.sex = sex; + this.avatar = avatar; + this.password = password; + this.status = status; + this.delFlag = delFlag; + this.loginIp = loginIp; + this.createBy = createBy; + this.remark = remark; + this.updateBy = updateBy; + this.userSign = userSign; + this.bindWechatStatus = bindWechatStatus; + this.realNameAuthenticationStatus = realNameAuthenticationStatus; + this.bindBankCardStatus = bindBankCardStatus; + this.userMoney = userMoney; + this.invitationCode = invitationCode; + this.differentialState = differentialState; + } + + + public Long getRegistrationInformationId() { + return registrationInformationId; + } + + public void setRegistrationInformationId(Long registrationInformationId) { + this.registrationInformationId = registrationInformationId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getAffiliatedHospital() { + return affiliatedHospital; + } + + public void setAffiliatedHospital(String affiliatedHospital) { + this.affiliatedHospital = affiliatedHospital; + } + + public Long getMedicalDepartmentId() { + return medicalDepartmentId; + } + + public void setMedicalDepartmentId(Long medicalDepartmentId) { + this.medicalDepartmentId = medicalDepartmentId; + } + + public Long getProfessionalTitleDoctorId() { + return professionalTitleDoctorId; + } + + public void setProfessionalTitleDoctorId(Long professionalTitleDoctorId) { + this.professionalTitleDoctorId = professionalTitleDoctorId; + } + + public String getPersonalResume() { + return personalResume; + } + + public void setPersonalResume(String personalResume) { + this.personalResume = personalResume; + } + + public String getAreaExpertise() { + return areaExpertise; + } + + public void setAreaExpertise(String areaExpertise) { + this.areaExpertise = areaExpertise; + } + + public Integer getNumberPatientsServed() { + return numberPatientsServed; + } + + public void setNumberPatientsServed(Integer numberPatientsServed) { + this.numberPatientsServed = numberPatientsServed; + } + + public Decimal getConsultingPrice() { + return consultingPrice; + } + + public void setConsultingPrice(Decimal consultingPrice) { + this.consultingPrice = consultingPrice; + } + + public Integer getPraise() { + return praise; + } + + public void setPraise(Integer praise) { + this.praise = praise; + } + + public Integer getRegistrationInformationExamineStatus() { + return registrationInformationExamineStatus; + } + + public void setRegistrationInformationExamineStatus(Integer registrationInformationExamineStatus) { + this.registrationInformationExamineStatus = registrationInformationExamineStatus; + } + + public Long getDeptId() { + return deptId; + } + + public void setDeptId(Long deptId) { + this.deptId = deptId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getNickName() { + return nickName; + } + + public void setNickName(String nickName) { + this.nickName = nickName; + } + + public String getUserType() { + return userType; + } + + public void setUserType(String userType) { + this.userType = userType; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhonenumber() { + return phonenumber; + } + + public void setPhonenumber(String phonenumber) { + this.phonenumber = phonenumber; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getAvatar() { + return avatar; + } + + public void setAvatar(String avatar) { + this.avatar = avatar; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getDelFlag() { + return delFlag; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getLoginIp() { + return loginIp; + } + + public void setLoginIp(String loginIp) { + this.loginIp = loginIp; + } + + public String getCreateBy() { + return createBy; + } + + public void setCreateBy(String createBy) { + this.createBy = createBy; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getUpdateBy() { + return updateBy; + } + + public void setUpdateBy(String updateBy) { + this.updateBy = updateBy; + } + + public String getUserSign() { + return userSign; + } + + public void setUserSign(String userSign) { + this.userSign = userSign; + } + + public Integer getBindWechatStatus() { + return bindWechatStatus; + } + + public void setBindWechatStatus(Integer bindWechatStatus) { + this.bindWechatStatus = bindWechatStatus; + } + + public Integer getRealNameAuthenticationStatus() { + return realNameAuthenticationStatus; + } + + public void setRealNameAuthenticationStatus(Integer realNameAuthenticationStatus) { + this.realNameAuthenticationStatus = realNameAuthenticationStatus; + } + + public Integer getBindBankCardStatus() { + return bindBankCardStatus; + } + + public void setBindBankCardStatus(Integer bindBankCardStatus) { + this.bindBankCardStatus = bindBankCardStatus; + } + + public Decimal getUserMoney() { + return userMoney; + } + + public void setUserMoney(Decimal userMoney) { + this.userMoney = userMoney; + } + + public String getInvitationCode() { + return invitationCode; + } + + public void setInvitationCode(String invitationCode) { + this.invitationCode = invitationCode; + } + + public Integer getDifferentialState() { + return differentialState; + } + + public void setDifferentialState(Integer differentialState) { + this.differentialState = differentialState; + } + + public SysRegistrationInformation() { + } + + @Override + public String toString() { + return "registrationInformation{" + + "registrationInformationId=" + registrationInformationId + + ", userId=" + userId + + ", affiliatedHospital='" + affiliatedHospital + '\'' + + ", medicalDepartmentId=" + medicalDepartmentId + + ", professionalTitleDoctorId=" + professionalTitleDoctorId + + ", personalResume='" + personalResume + '\'' + + ", areaExpertise='" + areaExpertise + '\'' + + ", numberPatientsServed=" + numberPatientsServed + + ", consultingPrice=" + consultingPrice + + ", praise=" + praise + + ", registrationInformationExamineStatus=" + registrationInformationExamineStatus + + ", deptId=" + deptId + + ", userName='" + userName + '\'' + + ", nickName='" + nickName + '\'' + + ", userType='" + userType + '\'' + + ", email='" + email + '\'' + + ", phonenumber='" + phonenumber + '\'' + + ", sex='" + sex + '\'' + + ", avatar='" + avatar + '\'' + + ", password='" + password + '\'' + + ", status='" + status + '\'' + + ", delFlag='" + delFlag + '\'' + + ", loginIp='" + loginIp + '\'' + + ", createBy='" + createBy + '\'' + + ", remark='" + remark + '\'' + + ", updateBy='" + updateBy + '\'' + + ", userSign='" + userSign + '\'' + + ", bindWechatStatus=" + bindWechatStatus + + ", realNameAuthenticationStatus=" + realNameAuthenticationStatus + + ", bindBankCardStatus=" + bindBankCardStatus + + ", userMoney=" + userMoney + + ", invitationCode='" + invitationCode + '\'' + + ", differentialState=" + differentialState + + '}'; + } +} diff --git a/src/main/java/com/four/system/mapper/SysUserMapper.java b/src/main/java/com/four/system/mapper/SysUserMapper.java index 97ee840..ec60246 100644 --- a/src/main/java/com/four/system/mapper/SysUserMapper.java +++ b/src/main/java/com/four/system/mapper/SysUserMapper.java @@ -1,7 +1,10 @@ package com.four.system.mapper; +import java.math.BigDecimal; import java.util.List; +import com.four.system.api.model.LoginUser; +import com.four.system.domain.SysRegistrationInformation; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import com.four.system.api.domain.SysUser; @@ -153,9 +156,10 @@ public interface SysUserMapper int insertSysUser(SysUser sysUser); - /** - * 注册医生添加用户信息表 - * @param sysUser - * @return - */ + int insertPatientRegisterBody(SysUser sysUser); + + + void updateSysUserMoney(@Param("userId") Long userId, @Param("userMoney") BigDecimal userMoney); + + SysRegistrationInformation selectregistrationinformation(Long registrationinformationid); } diff --git a/src/main/java/com/four/system/service/ISysUserService.java b/src/main/java/com/four/system/service/ISysUserService.java index 650ba8d..ccaf007 100644 --- a/src/main/java/com/four/system/service/ISysUserService.java +++ b/src/main/java/com/four/system/service/ISysUserService.java @@ -1,10 +1,13 @@ package com.four.system.service; +import java.math.BigDecimal; import java.util.List; -import com.four.common.core.domain.R; -import com.four.system.api.domain.RequestRegistrationInformation; + +import com.four.common.core.web.domain.AjaxResult; import com.four.system.api.domain.SysUser; +import com.four.system.domain.SysRegistrationInformation; +import org.apache.ibatis.annotations.Param; /** * 用户 业务层 @@ -85,12 +88,7 @@ public interface ISysUserService */ public boolean checkPhoneUnique(SysUser user); - /** - * 校验email是否唯一 - * - * @param requestRegistrationInformation 用户信息 - * @return 结果 - */ + public boolean checkEmailUnique(SysUser sysUser); /** @@ -218,4 +216,12 @@ public interface ISysUserService Boolean healthRegister(SysUser sysUser); + + Boolean PatientRegisterBody(SysUser sysUser); + + + void updateSysUserMoney(Long userId, BigDecimal userMoney); + + SysRegistrationInformation selectregistrationinformation(Long registrationinformationid); + } diff --git a/src/main/java/com/four/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/four/system/service/impl/SysUserServiceImpl.java index bdbe95d..732dffa 100644 --- a/src/main/java/com/four/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/four/system/service/impl/SysUserServiceImpl.java @@ -7,7 +7,8 @@ import java.util.stream.Collectors; import javax.validation.Validator; import com.four.common.core.domain.R; -import com.four.system.api.domain.RequestRegistrationInformation; +import com.four.common.core.web.domain.AjaxResult; +import com.four.system.domain.SysRegistrationInformation; import com.four.system.service.ISysConfigService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -595,7 +596,23 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.insertSysUser(sysUser)>0; } + @Override + public Boolean PatientRegisterBody(SysUser sysUser) { + return userMapper.insertPatientRegisterBody(sysUser) >0; + } + @Override + public void updateSysUserMoney(Long userId, BigDecimal userMoney) { + if (null==userId || 0==userId || null== userMoney){ + throw new ServiceException("用户的id和余额不能为null"); + } + userMapper.updateSysUserMoney(userId,userMoney); + } + + @Override + public SysRegistrationInformation selectregistrationinformation(Long registrationinformationid) { + return userMapper.selectregistrationinformation(registrationinformationid); + } } diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml index 64bc57a..8368787 100644 --- a/src/main/resources/mapper/system/SysUserMapper.xml +++ b/src/main/resources/mapper/system/SysUserMapper.xml @@ -165,6 +165,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where u.user_id = #{userId} + @@ -220,7 +235,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{bindBankCardStatus}, #{userMoney}, #{invitationCode}, - sysdate() + sysdate() ) @@ -253,9 +268,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{consultingPrice}, #{praise}, #{registrationInformationExamineStatus}, - #{registrationInformationMedicStatus} + #{registrationInformationMedicStatus}, ) + insert into sys_user( user_id, @@ -298,6 +314,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ) + + INSERT INTO sys_user ( + user_id, + dept_id, + user_name, + nick_name, + email, + avatar, + phonenumber, + sex, + password, + status, + create_by, + remark, + user_sign, + bind_wechat_status, + real_name_authentication_status, + bind_bank_card_status, + user_money, + invitation_code, + differential_state, + create_time + ) + VALUES ( + #{userId}, + #{deptId}, + #{userName}, + #{nickName}, + #{email}, + #{avatar}, + #{phonenumber}, + #{sex}, + #{password}, + #{status}, + #{createBy}, + #{remark}, + #{userSign}, + #{bindWechatStatus}, + #{realNameAuthenticationStatus}, + #{bindBankCardStatus}, + #{userMoney}, + #{invitationCode}, + #{differentialState}, + sysdate() + ) + + update sys_user @@ -331,6 +394,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update sys_user set password = #{password} where user_name = #{userName} + + update sys_user set user_money = #{userMoney} where user_id = #{userId} + + + + update sys_user set del_flag = '2' where user_id = #{userId}