feat: 微信公众号模块
This commit is contained in:
@@ -22,5 +22,7 @@ public interface AuthUserDomainService {
|
||||
Object update(AuthUserBO authUserBO);
|
||||
|
||||
Object delete(AuthUserBO authUserBO);
|
||||
|
||||
Object doLogin(String validCode);
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package com.landaiqing.auth.domain.service.impl;
|
||||
|
||||
import cn.dev33.satoken.secure.SaSecureUtil;
|
||||
import cn.dev33.satoken.stp.SaTokenInfo;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.google.gson.Gson;
|
||||
import com.landaiqing.auth.common.enums.AuthUserStatusEnum;
|
||||
import com.landaiqing.auth.common.enums.IsDeletedFlagEnum;
|
||||
@@ -13,6 +15,7 @@ import com.landaiqing.auth.infra.basic.entity.*;
|
||||
import com.landaiqing.auth.infra.basic.service.*;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -47,12 +50,26 @@ public class AuthUserDomainServiceImpl implements AuthUserDomainService {
|
||||
|
||||
private String salt="landaiqing";
|
||||
|
||||
private static final String LOGIN_PREFIX = "loginCode";
|
||||
|
||||
@Override
|
||||
@SneakyThrows
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean register(AuthUserBO authUserBO) {
|
||||
//校验用户是否存在
|
||||
AuthUser existAuthUser = new AuthUser();
|
||||
existAuthUser.setUserName(authUserBO.getUserName());
|
||||
List<AuthUser> existUser = authUserService.queryByCondition(existAuthUser);
|
||||
if (existUser.size() > 0) {
|
||||
return true;
|
||||
}
|
||||
AuthUser authUser = AuthUserBOConverter.INSTANCE.convertBOToEntity(authUserBO);
|
||||
authUser.setPassword(SaSecureUtil.md5BySalt(authUser.getPassword(),salt));
|
||||
if (StringUtils.isNotBlank(authUser.getPassword())) {
|
||||
authUser.setPassword(SaSecureUtil.md5BySalt(authUser.getPassword(), salt));
|
||||
}
|
||||
if (StringUtils.isBlank(authUser.getAvatar())) {
|
||||
authUser.setAvatar("http://117.72.10.84:9000/user/icon/微信图片_20231203153718(1).png");
|
||||
}
|
||||
authUser.setStatus(AuthUserStatusEnum.OPEN.getCode());
|
||||
authUser.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
|
||||
Integer count = authUserService.insert(authUser);
|
||||
@@ -103,4 +120,19 @@ public class AuthUserDomainServiceImpl implements AuthUserDomainService {
|
||||
Integer count = authUserService.update(authUser);
|
||||
return count > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SaTokenInfo doLogin(String validCode) {
|
||||
String loginKey = redisUtil.buildKey(LOGIN_PREFIX, validCode);
|
||||
String openId = redisUtil.get(loginKey);
|
||||
if (StringUtils.isBlank(openId)) {
|
||||
return null;
|
||||
}
|
||||
AuthUserBO authUserBO = new AuthUserBO();
|
||||
authUserBO.setUserName(openId);
|
||||
this.register(authUserBO);
|
||||
StpUtil.login(openId);
|
||||
SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
|
||||
return tokenInfo;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user