parent
2d2e1b3921
commit
d7ee61b113
@ -0,0 +1,31 @@
|
||||
package com.cyl.h5.controller;
|
||||
|
||||
import com.cyl.h5.pojo.dto.LoginDTO;
|
||||
import com.cyl.h5.pojo.request.RegisterRequest;
|
||||
import com.cyl.h5.pojo.response.RegisterResponse;
|
||||
import com.cyl.h5.pojo.vo.LoginResVO;
|
||||
import com.cyl.h5.service.H5MemberService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Author: czc
|
||||
* @Description: TODO
|
||||
* @DateTime: 2023/6/16 14:52
|
||||
**/
|
||||
@RestController
|
||||
@RequestMapping()
|
||||
public class H5MemberController {
|
||||
|
||||
@Autowired
|
||||
private H5MemberService service;
|
||||
|
||||
@PostMapping("/no-auth/h5/member/register")
|
||||
public ResponseEntity<RegisterResponse> register(@RequestBody RegisterRequest request){
|
||||
return ResponseEntity.ok(service.register(request));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cyl.h5.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: czc
|
||||
* @Description: TODO
|
||||
* @DateTime: 2023/6/16 14:58
|
||||
**/
|
||||
@Data
|
||||
public class LoginDTO {
|
||||
private String account;
|
||||
private String password;
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package com.cyl.h5.pojo.request;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: czc
|
||||
* @Description: TODO
|
||||
* @DateTime: 2023/6/19 16:31
|
||||
**/
|
||||
@Data
|
||||
public class RegisterRequest {
|
||||
|
||||
@ApiModelProperty("手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty("密码")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty("uuid")
|
||||
private String uuid;
|
||||
|
||||
@ApiModelProperty("验证码")
|
||||
private String code;
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.cyl.h5.pojo.response;
|
||||
|
||||
import com.cyl.ums.domain.Member;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author: czc
|
||||
* @Description: TODO
|
||||
* @DateTime: 2023/6/19 16:38
|
||||
**/
|
||||
@Data
|
||||
public class RegisterResponse {
|
||||
|
||||
private boolean result;
|
||||
|
||||
private String message;
|
||||
|
||||
private String token;
|
||||
|
||||
private Member member;
|
||||
}
|
||||
@ -0,0 +1,77 @@
|
||||
package com.cyl.h5.service;
|
||||
|
||||
import com.cyl.h5.pojo.request.RegisterRequest;
|
||||
import com.cyl.h5.pojo.response.RegisterResponse;
|
||||
import com.cyl.ums.domain.Member;
|
||||
import com.cyl.ums.mapper.MemberMapper;
|
||||
import com.ruoyi.common.core.redis.RedisCache;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Author: czc
|
||||
* @Description: TODO
|
||||
* @DateTime: 2023/6/16 15:01
|
||||
**/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class H5MemberService {
|
||||
|
||||
@Autowired
|
||||
private MemberMapper memberMapper;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
/**
|
||||
* 注册
|
||||
* @param request 注册请求体
|
||||
* @return 结果
|
||||
*/
|
||||
public RegisterResponse register(RegisterRequest request){
|
||||
log.info("request:{}", request);
|
||||
RegisterResponse response = new RegisterResponse();
|
||||
response.setResult(false);
|
||||
if (StringUtils.isEmpty(request.getMobile())){
|
||||
response.setMessage("手机号不能为空");
|
||||
return response;
|
||||
}
|
||||
if (StringUtils.isEmpty(request.getPassword())){
|
||||
response.setMessage("密码不能为空");
|
||||
return response;
|
||||
}
|
||||
int len = request.getPassword().length();
|
||||
if (len < 8 || len > 20){
|
||||
response.setMessage("密码长度为8-20位");
|
||||
return response;
|
||||
}
|
||||
//校验 验证码
|
||||
String key = request.getUuid() + "_" + request.getMobile();
|
||||
String code = redisCache.getCacheObject(key);
|
||||
log.info("code:{}", code);
|
||||
if (null == code){
|
||||
response.setMessage("验证码已过期");
|
||||
return response;
|
||||
}else if (!code.equals(request.getCode())){
|
||||
response.setMessage("验证码错误");
|
||||
return response;
|
||||
}
|
||||
//删除缓存
|
||||
redisCache.deleteObject(key);
|
||||
//创建会员
|
||||
Member member = new Member();
|
||||
member.setPhone(request.getMobile());
|
||||
member.setPassword(SecurityUtils.encryptPassword(request.getPassword()));
|
||||
member.setNickname("用户" + request.getMobile());
|
||||
member.setCreateTime(LocalDateTime.now());
|
||||
memberMapper.insert(member);
|
||||
response.setResult(true);
|
||||
response.setMessage("注册成功");
|
||||
return response;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.cyl.sms;
|
||||
|
||||
import com.cyl.sms.service.SmsService;
|
||||
import com.ruoyi.common.core.domain.model.SmsResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* @Author: czc
|
||||
* @Description: TODO
|
||||
* @DateTime: 2023/6/19 15:39
|
||||
**/
|
||||
@RestController
|
||||
@RequestMapping("/no-auth/sms")
|
||||
public class SmsController {
|
||||
|
||||
@Autowired
|
||||
private SmsService smsService;
|
||||
|
||||
/**
|
||||
* 阿里云短信服务
|
||||
*/
|
||||
@GetMapping("/sendAliyun/{phones}")
|
||||
public ResponseEntity<SmsResult> sendAliyun(@PathVariable String phones){
|
||||
return smsService.sendAliyun(phones);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in new issue