feat: 微信公众号模块

This commit is contained in:
2024-02-21 19:49:13 +08:00
parent 9be9287a3e
commit 903d87efd3
19 changed files with 731 additions and 7 deletions

View File

@@ -22,5 +22,7 @@ public interface AuthUserDomainService {
Object update(AuthUserBO authUserBO);
Object delete(AuthUserBO authUserBO);
Object doLogin(String validCode);
}

View File

@@ -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;
}
}