|
|
|
@ -87,6 +87,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us |
|
|
|
|
|
|
|
@Override |
|
|
|
public LoginVO login(LoginDTO dto) { |
|
|
|
log.info("【测试】前端传的IP:{}", dto.getIp()); |
|
|
|
// 生成游客唯一标识UUID
|
|
|
|
String guestUuid = UUID.randomUUID().toString(); |
|
|
|
|
|
|
|
@ -96,21 +97,26 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us |
|
|
|
// 创建游客用户记录
|
|
|
|
User guestUser = new User(); |
|
|
|
guestUser.setUserName(guestUserName); |
|
|
|
guestUser.setNickName(guestUserName); // 默认昵称为“游客”
|
|
|
|
guestUser.setPassword(""); // 游客无需密码,可为空
|
|
|
|
guestUser.setUuid(guestUuid); // 保存唯一标识
|
|
|
|
// guestUser.setCreateTime(LocalDateTime.now());
|
|
|
|
guestUser.setNickName(guestUserName); |
|
|
|
guestUser.setPassword(""); |
|
|
|
guestUser.setUuid(guestUuid); |
|
|
|
// ========== 先设置IP ==========
|
|
|
|
guestUser.setLastLoginIp(dto.getIp()); |
|
|
|
|
|
|
|
// 保存到数据库
|
|
|
|
this.save(guestUser); |
|
|
|
Long customerServiceId = this.getRandomCustomerServiceId(); |
|
|
|
|
|
|
|
// ========== 正确更新 IP 和地址 ==========
|
|
|
|
// if(StrUtil.isNotBlank(dto.getIp())){
|
|
|
|
// this.updateIpAndAddress(guestUser);
|
|
|
|
// }
|
|
|
|
|
|
|
|
Long customerServiceId = this.getRandomCustomerServiceId(); |
|
|
|
|
|
|
|
// 创建会话信息
|
|
|
|
UserSession guestSession = new UserSession(); |
|
|
|
guestSession.setUserId(guestUser.getId()); |
|
|
|
guestSession.setUserName(guestUser.getUserName()); |
|
|
|
guestSession.setTerminal(dto.getTerminal()); |
|
|
|
// guestSession.setUuid(guestUuid);
|
|
|
|
|
|
|
|
// 生成Token
|
|
|
|
String guestJson = JSON.toJSONString(guestSession); |
|
|
|
@ -134,12 +140,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us |
|
|
|
vo.setRefreshToken(refreshToken); |
|
|
|
vo.setRefreshTokenExpiresIn(jwtProperties.getRefreshTokenExpireIn()); |
|
|
|
vo.setCustomerServiceId(customerServiceId == null ? -1 : customerServiceId); |
|
|
|
// 设置当前登录的游客用户信息
|
|
|
|
vo.setUser(guestUser); |
|
|
|
|
|
|
|
log.info("游客登录成功,userId:{}, uuid:{}", guestUser.getId(), guestUuid); |
|
|
|
log.info("游客登录成功,userId:{}, uuid:{}, ip:{}", guestUser.getId(), guestUuid, dto.getIp()); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public Long getRandomCustomerServiceId() { |
|
|
|
LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery(); |
|
|
|
// 条件:is_customer = 2 表示客服
|
|
|
|
@ -154,6 +161,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us |
|
|
|
return customerService == null ? null : customerService.getId(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public LoginVO loginCustom(LoginDTO dto) { |
|
|
|
User user = this.findUserByUserName(dto.getUserName()); |
|
|
|
|