修改注册

master
ShiSiWei 2023-10-27 22:23:24 +08:00
parent e2c185ce66
commit c5be5020fa
5 changed files with 52 additions and 219 deletions

View File

@ -65,6 +65,7 @@
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
</dependencies>
<build>

View File

@ -2,9 +2,8 @@ package com.four.auth.controller;
import javax.servlet.http.HttpServletRequest;
import com.four.auth.form.HealthRegisterBody;
import com.four.auth.service.SysMailService;
import com.four.common.duck.interrogation.RegistrationInformation;
import com.four.common.duck.request.RequestRegistrationInformation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.four.auth.form.LoginBody;
@ -25,8 +24,7 @@ import com.four.system.api.model.LoginUser;
*/
@RestController
@SuppressWarnings("all")
public class TokenController
{
public class TokenController {
@Autowired
private TokenService tokenService;
@ -37,8 +35,7 @@ public class TokenController
private SysMailService sysMailService;
@PostMapping("login")
public R<?> login(@RequestBody LoginBody form)
{
public R<?> login(@RequestBody LoginBody form) {
// 用户登录
LoginUser userInfo = sysLoginService.login(form.getEmail(), form.getPassword());
// 获取登录token
@ -46,19 +43,17 @@ public class TokenController
}
@PostMapping("userLogin")
public R<?> userLogin(@RequestBody LoginBody form){
public R<?> userLogin(@RequestBody LoginBody form) {
LoginUser loginUser = sysLoginService.userLogin(form.getUsername(),form.getPassword());
LoginUser loginUser = sysLoginService.userLogin(form.getUsername(), form.getPassword());
return R.ok(tokenService.createToken(loginUser));
}
@DeleteMapping("logout")
public R<?> logout(HttpServletRequest request)
{
public R<?> logout(HttpServletRequest request) {
String token = SecurityUtils.getToken(request);
if (StringUtils.isNotEmpty(token))
{
if (StringUtils.isNotEmpty(token)) {
String username = JwtUtils.getUserName(token);
// 删除用户缓存记录
AuthUtil.logoutByToken(token);
@ -69,11 +64,9 @@ public class TokenController
}
@PostMapping("refresh")
public R<?> refresh(HttpServletRequest request)
{
public R<?> refresh(HttpServletRequest request) {
LoginUser loginUser = tokenService.getLoginUser(request);
if (StringUtils.isNotNull(loginUser))
{
if (StringUtils.isNotNull(loginUser)) {
// 刷新令牌有效期
tokenService.refreshToken(loginUser);
return R.ok();
@ -82,28 +75,31 @@ public class TokenController
}
@PostMapping("register")
public R<?> register(@RequestBody RegisterBody registerBody)
{
public R<?> register(@RequestBody RegisterBody registerBody) {
// 用户注册
sysLoginService.register(registerBody.getUsername(), registerBody.getPassword());
return R.ok();
}
/**
*
*
* @param healthRegisterBody
* @return
*/
@PostMapping("healthRegisterBody")
public R<?> healthRegisterBody(@RequestBody HealthRegisterBody healthRegisterBody){
public R<?> healthRegisterBody(@RequestBody RequestRegistrationInformation requestRegistrationInformation) {
sysMailService.verifyCode(healthRegisterBody.getEmail(),healthRegisterBody.getCode());
sysMailService.verifyCode(requestRegistrationInformation.getEmail(), requestRegistrationInformation.getCode());
sysLoginService.healthRegister(healthRegisterBody);
sysLoginService.healthRegister(requestRegistrationInformation);
return R.ok();
}
@GetMapping("/sendCode/{email}")
public R<?> sendCode(@PathVariable String email){
public R<?> sendCode(@PathVariable String email) {
sysMailService.sendCode(email);
return R.ok();
}

View File

@ -1,151 +0,0 @@
package com.four.auth.form;
public class HealthRegisterBody extends LoginBody{
/**
*
* */
private String invitationCode;
/**
*
* */
private String realName;
/**
*
* */
private String personalResume;
/**
*
* */
private String avatar;
/**
*
*/
private String affiliatedHospital;
/**
*
* */
private String areaExpertise;
/**
*
* */
private String nickName;
/**
* id
* */
private Long professionalTitleDoctorId;
/**
*
* */
private String sex;
public HealthRegisterBody(String invitationCode, String realName, String personalResume, String avatar, String affiliatedHospital, String nickName, Long professionalTitleDoctorId, String sex) {
this.invitationCode = invitationCode;
this.realName = realName;
this.personalResume = personalResume;
this.avatar = avatar;
this.affiliatedHospital = affiliatedHospital;
this.nickName = nickName;
this.professionalTitleDoctorId = professionalTitleDoctorId;
this.sex = sex;
}
@Override
public String toString() {
return "HealthRegisterBody{" +
"invitationCode='" + invitationCode + '\'' +
", realName='" + realName + '\'' +
", personalResume='" + personalResume + '\'' +
", avatar='" + avatar + '\'' +
", affiliatedHospital='" + affiliatedHospital + '\'' +
", nickName='" + nickName + '\'' +
", professionalTitleDoctorId=" + professionalTitleDoctorId +
", sex='" + sex + '\'' +
'}';
}
public HealthRegisterBody() {
}
public Long getProfessionalTitleDoctorId() {
return professionalTitleDoctorId;
}
public void setProfessionalTitleDoctorId(Long professionalTitleDoctorId) {
this.professionalTitleDoctorId = professionalTitleDoctorId;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAreaExpertise() {
return areaExpertise;
}
public void setAreaExpertise(String areaExpertise) {
this.areaExpertise = areaExpertise;
}
public void setInvitationCode(String invitationCode) {
this.invitationCode = invitationCode;
}
public void setRealName(String realName) {
this.realName = realName;
}
public void setPersonalResume(String personalResume) {
this.personalResume = personalResume;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public void setAffiliatedHospital(String affiliatedHospital) {
this.affiliatedHospital = affiliatedHospital;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public String getInvitationCode() {
return invitationCode;
}
public String getRealName() {
return realName;
}
public String getPersonalResume() {
return personalResume;
}
public String getAvatar() {
return avatar;
}
public String getAffiliatedHospital() {
return affiliatedHospital;
}
public String getNickName() {
return nickName;
}
}

View File

@ -1,9 +1,5 @@
package com.four.auth.service;
import com.four.auth.form.HealthRegisterBody;
import com.four.auth.form.RegisterBody;
import org.apache.catalina.Contained;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.four.common.core.constant.CacheConstants;
@ -21,9 +17,9 @@ import com.four.common.security.utils.SecurityUtils;
import com.four.system.api.RemoteUserService;
import com.four.system.api.domain.SysUser;
import com.four.system.api.model.LoginUser;
import org.springframework.stereotype.Service;
import com.four.common.duck.request.RequestRegistrationInformation;
import java.util.GregorianCalendar;
import java.math.BigDecimal;
/**
*
@ -99,6 +95,7 @@ public class SysLoginService
recordLogService.recordLogininfors(email, Constants.LOGIN_FAIL, "对不起,您的账号已被删除");
throw new ServiceException("对不起,您的账号:" + email + " 已被删除");
}
if (UserStatus.DISABLE.getCode().equals(user.getStatus()))
{
recordLogService.recordLogininfors(email, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
@ -149,6 +146,8 @@ public class SysLoginService
recordLogService.recordLogininfor(userName, Constants.REGISTER, "注册成功");
}
public LoginUser userLogin(String userName, String password) {
if(StringUtils.isAllBlank(userName,password)){
@ -203,55 +202,43 @@ public class SysLoginService
}
public void healthRegister(HealthRegisterBody healthRegisterBody) {
/**
*
* @param registrationInformation
*/
public void healthRegister(RequestRegistrationInformation requestRegistrationInformation) {
if(StringUtils.isAllBlank(healthRegisterBody.getUsername(),healthRegisterBody.getPassword())){
if(StringUtils.isAllBlank(requestRegistrationInformation.getRealName(),requestRegistrationInformation.getPassword())){
throw new ServiceException("用户/密码必须填写");
}
if(healthRegisterBody.getPassword().length() < UserConstants.PASSWORD_MIN_LENGTH
|| healthRegisterBody.getPassword().length()> UserConstants.PASSWORD_MAX_LENGTH){
if(requestRegistrationInformation.getPassword().length() < UserConstants.PASSWORD_MIN_LENGTH
|| requestRegistrationInformation.getPassword().length()> UserConstants.PASSWORD_MAX_LENGTH){
throw new ServiceException("密码长度必须在5到20个字符");
}
requestRegistrationInformation.setPassword(SecurityUtils.encryptPassword(requestRegistrationInformation.getPassword()));
SysUser sysUser = new SysUser();
sysUser.setRoleId(healthRegisterBody.getRoleId());
sysUser.setUserName(healthRegisterBody.getUserName());
sysUser.setEmail(healthRegisterBody.getEmail());
sysUser.setNickName(healthRegisterBody.getNickName());
sysUser.setPassword(SecurityUtils.encryptPassword(healthRegisterBody.getPassword()));
sysUser.setDeptId(3L);
sysUser.setBindWechatStatus(1);
sysUser.setRealNameAuthenticationStatus(1);
sysUser.setBindBankCardStatus(1);
sysUser.setDifferentialState(2);
sysUser.setStatus("0");
sysUser.setUserMoney(new BigDecimal(0));
sysUser.setEmail(requestRegistrationInformation.getEmail());
sysUser.setNickName(requestRegistrationInformation.getRealName());
sysUser.setPassword(SecurityUtils.encryptPassword(requestRegistrationInformation.getPassword()));
sysUser.setUserName(requestRegistrationInformation.getRealName());
if(healthRegisterBody.getRoleId() == 100){
//职称Id
sysUser.setRoleId(healthRegisterBody.getRoleId());
//真实姓名
sysUser.setNickName(healthRegisterBody.getNickName());
//个人简历
sysUser.setPersonalResume(healthRegisterBody.getPersonalResume());
//所属医院
sysUser.setAffiliatedHospital(healthRegisterBody.getAffiliatedHospital());
//area_expertise
sysUser.setAreaExpertise(healthRegisterBody.getAreaExpertise());
}
if(healthRegisterBody.getRoleId() == 101){
/**
*
* */
sysUser.setInvitationCode(healthRegisterBody.getInvitationCode());
/**
*
* */
sysUser.setSex(healthRegisterBody.getSex());
}
System.out.println(sysUser);
R<?> registerResult = remoteUserService.healthRegister(sysUser, SecurityConstants.INNER);
if(R.FAIL == registerResult.getCode()){
throw new ServiceException(registerResult.getMsg());
}
recordLogService.recordLogininfor(healthRegisterBody.getEmail(), Constants.REGISTER,"注册成功");
recordLogService.recordLogininfor(requestRegistrationInformation.getEmail(), Constants.REGISTER,"注册成功");
}
}

View File

@ -69,7 +69,7 @@ public class SysMailService {
try {
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom("1733802689@qq.com");
helper.setText(verifyCode);
helper.setText("验证码为:"+verifyCode);
helper.setTo(email);
helper.setSubject("我来发邮件来了");
javaMailSender.send(mimeMessage);