1、service模块下创建子模块service_ucenter
2、创建用户数据库
3、用代码生成器生成代码
4、编写配置文件
java
# 服务端口
server.port=8006
# 服务名
spring.application.name=service-ucenter
# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8
spring.datasource.username=guli
spring.datasource.password=123123
spring.redis.host=192.168.140.132
spring.redis.port=6379
spring.redis.database= 0
spring.redis.timeout=1800000
spring.redis.lettuce.pool.max-active=20
spring.redis.lettuce.pool.max-wait=-1
#最大阻塞等待时间(负数表示没限制)
spring.redis.lettuce.pool.max-idle=5
spring.redis.lettuce.pool.min-idle=0
#最小空闲
#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/atguigu/ucenterservice/mapper/xml/*.xml
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
5、启动类
java
package com.atguigu.ucenterservice;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan({"com.atguigu"})
@SpringBootApplication//取消数据源自动配置
@MapperScan("com.atguigu.ucenterservice.mapper")
public class ServiceUcApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceUcApplication.class, args);
}
}
6、实现controller
(1)创建RegisterVo类
java
@Data
public class RegisterVo {
@ApiModelProperty(value = "昵称")
private String nickname;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "密码")
private String password;
@ApiModelProperty(value = "验证码")
private String code;
}
(2)实现UcenterMemberController方法
java
@Api(description="会员管理")
@RestController
@RequestMapping("/ucenterservice/ucenter")
@CrossOrigin
public class UcenterMemberController {
@Autowired
private UcenterMemberService ucenterService;
@ApiOperation(value = "注册")
@PostMapping("register")
public R register(@RequestBody RegisterVo registerVo){
ucenterService.register(registerVo);
return R.ok();
}
}
7、实现service
java
//注册
@Override
public void register(RegisterVo registerVo) {
//1获取注册信息
String nickname = registerVo.getNickname();
String mobile = registerVo.getMobile();
String password = registerVo.getPassword();
String code = registerVo.getCode();
//2验证参数是否为空
if(StringUtils.isEmpty(nickname)||StringUtils.isEmpty(mobile)
||StringUtils.isEmpty(password)||StringUtils.isEmpty(code)){
throw new GuliException(20001,"注册信息缺失");
}
//3根据手机号查询是否手机号相同
QueryWrapper<UcenterMember> wrapper = new QueryWrapper<>();
wrapper.eq("mobile",mobile);
Integer count = baseMapper.selectCount(wrapper);
if(count>0){
throw new GuliException(20001,"手机号已存在");
}
//4判断验证码
String codeRedis = redisTemplate.opsForValue().get(mobile);
if(!code.equals(codeRedis)){
throw new GuliException(20001,"验证码错误");
}
//5存入数据库
//5.1复制数据
UcenterMember ucenterMember = new UcenterMember();
BeanUtils.copyProperties(registerVo,ucenterMember);
//5.2密码加密
String pwBefore = ucenterMember.getPassword();
String pwAfter = MD5.encrypt(pwBefore);
ucenterMember.setPassword(pwAfter);
//5.3手动设置
ucenterMember.setIsDisabled(false);
ucenterMember.setAvatar("https://guli-file-190513.oss-cn-beijing.aliyuncs.com/avatar/default.jpg");
//5.4存入数据
int insert = baseMapper.insert(ucenterMember);
if(insert==0){
throw new GuliException(20001,"注册失败");
}
}