|
|
|
|
@@ -1,23 +1,29 @@
|
|
|
|
|
package com.xiang.xservice.auth.service.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.xiang.xservice.auth.api.dto.req.LoginRequest;
|
|
|
|
|
import com.xiang.xservice.auth.api.dto.req.RegisterRequest;
|
|
|
|
|
import com.xiang.xservice.auth.api.dto.resp.LoginResp;
|
|
|
|
|
import com.xiang.xservice.auth.api.dto.resp.RegisterResp;
|
|
|
|
|
import com.xiang.xservice.auth.api.dto.resp.UserResp;
|
|
|
|
|
import com.xiang.xservice.auth.service.entity.XUser;
|
|
|
|
|
import com.xiang.xservice.auth.service.enums.UserStatusEnum;
|
|
|
|
|
import com.xiang.xservice.auth.service.repository.mapper.XUserMapper;
|
|
|
|
|
import com.xiang.xservice.auth.service.service.XUserService;
|
|
|
|
|
import com.xiang.xservice.basic.enums.DelStatusEnum;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
|
|
import org.springframework.security.core.Authentication;
|
|
|
|
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
|
|
import org.springframework.security.oauth2.jwt.JwtClaimsSet;
|
|
|
|
|
import org.springframework.security.oauth2.jwt.JwtEncoder;
|
|
|
|
|
import org.springframework.security.oauth2.jwt.JwtEncoderParameters;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import java.time.Instant;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
|
|
@@ -29,6 +35,7 @@ public class XUserServiceImpl implements XUserService {
|
|
|
|
|
private final JwtEncoder jwtEncoder;
|
|
|
|
|
private final XUserMapper userMapper;
|
|
|
|
|
private final AuthenticationManager authenticationManager;
|
|
|
|
|
private final PasswordEncoder passwordEncoder;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public LoginResp login(LoginRequest request) {
|
|
|
|
|
@@ -81,4 +88,36 @@ public class XUserServiceImpl implements XUserService {
|
|
|
|
|
userResp.setUpdateTime(user.getUpdateTime());
|
|
|
|
|
return userResp;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public RegisterResp userRegister(RegisterRequest request) {
|
|
|
|
|
// todo 手机号验证码校验
|
|
|
|
|
XUser user = userMapper.selectByUsername(request.getUsername());
|
|
|
|
|
if (Objects.nonNull(user)) {
|
|
|
|
|
throw new RuntimeException("用户名已存在!");
|
|
|
|
|
}
|
|
|
|
|
user = new XUser();
|
|
|
|
|
user.setName(request.getName());
|
|
|
|
|
user.setUsername(request.getUsername());
|
|
|
|
|
user.setPassword(passwordEncoder.encode(request.getPassword()));
|
|
|
|
|
user.setEmail(request.getEmail());
|
|
|
|
|
user.setPhone(request.getPhone());
|
|
|
|
|
user.setAvatar(request.getAvatar());
|
|
|
|
|
user.setStatus(UserStatusEnum.USING.getCode());
|
|
|
|
|
user.setDelFlag(DelStatusEnum.NOT_DELETED.getCode());
|
|
|
|
|
user.setCreateBy("admin");
|
|
|
|
|
user.setCreateTime(LocalDateTime.now());
|
|
|
|
|
user.setUpdateBy("admin");
|
|
|
|
|
user.setUpdateTime(LocalDateTime.now());
|
|
|
|
|
|
|
|
|
|
if (userMapper.insert(user) > 0) {
|
|
|
|
|
RegisterResp registerResp = new RegisterResp();
|
|
|
|
|
registerResp.setName(registerResp.getName());
|
|
|
|
|
registerResp.setUsername(registerResp.getUsername());
|
|
|
|
|
registerResp.setEmail(registerResp.getEmail());
|
|
|
|
|
registerResp.setPhone(registerResp.getPhone());
|
|
|
|
|
return registerResp;
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|