chore: 移除微信授权登录和AI 模块
This commit is contained in:
@@ -53,18 +53,6 @@ public interface UserMapper extends BaseMapper<User> {
|
||||
return getAuthInfoByUsername(username);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据微信openid获取用户认证信息
|
||||
*
|
||||
* @param openid 微信openid
|
||||
* @return 认证信息
|
||||
*/
|
||||
UserAuthInfo getAuthInfoByOpenId(String openid);
|
||||
|
||||
default UserAuthInfo getAuthCredentialsByOpenId(String openid) {
|
||||
return getAuthInfoByOpenId(openid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机号获取用户认证信息
|
||||
*
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.youlai.boot.system.model.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.youlai.boot.common.base.BaseEntity;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
@@ -74,9 +72,4 @@ public class User extends BaseEntity {
|
||||
* 是否删除(0-否 1-是)
|
||||
*/
|
||||
private Integer isDeleted;
|
||||
|
||||
/**
|
||||
* 微信 OpenID
|
||||
*/
|
||||
private String openid;
|
||||
}
|
||||
@@ -56,7 +56,4 @@ public class UserForm {
|
||||
@NotEmpty(message = "用户角色不能为空")
|
||||
private List<Long> roleIds;
|
||||
|
||||
@Schema(description="微信openId")
|
||||
private String openId;
|
||||
|
||||
}
|
||||
|
||||
@@ -181,26 +181,6 @@ public interface UserService extends IService<User> {
|
||||
*/
|
||||
List<Option<String>> listUserOptions();
|
||||
|
||||
/**
|
||||
* 根据 openid 获取用户认证信息
|
||||
*
|
||||
* @param openId 用户名
|
||||
* @return {@link UserAuthInfo}
|
||||
*/
|
||||
|
||||
UserAuthInfo getAuthInfoByOpenId(String openId);
|
||||
|
||||
default UserAuthInfo getAuthCredentialsByOpenId(String openId) {
|
||||
return getAuthInfoByOpenId(openId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据微信 OpenID 注册或绑定用户
|
||||
*
|
||||
* @param openId 微信 OpenID
|
||||
*/
|
||||
boolean registerOrBindWechatUser(String openId);
|
||||
|
||||
/**
|
||||
* 根据手机号获取用户认证信息
|
||||
*
|
||||
@@ -213,22 +193,4 @@ public interface UserService extends IService<User> {
|
||||
return getAuthInfoByMobile(mobile);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机号和OpenID注册用户
|
||||
*
|
||||
* @param mobile 手机号
|
||||
* @param openId 微信OpenID
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean registerUserByMobileAndOpenId(String mobile, String openId);
|
||||
|
||||
/**
|
||||
* 绑定用户微信OpenID
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param openId 微信OpenID
|
||||
* @return 是否成功
|
||||
*/
|
||||
boolean bindUserOpenId(Long userId, String openId);
|
||||
|
||||
}
|
||||
|
||||
@@ -222,28 +222,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
return userAuthInfo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据OpenID获取用户认证信息
|
||||
*
|
||||
* @param openId 微信OpenID
|
||||
* @return 用户认证信息
|
||||
*/
|
||||
@Override
|
||||
public UserAuthInfo getAuthInfoByOpenId(String openId) {
|
||||
if (StrUtil.isBlank(openId)) {
|
||||
return null;
|
||||
}
|
||||
UserAuthInfo userAuthInfo = this.baseMapper.getAuthInfoByOpenId(openId);
|
||||
if (userAuthInfo != null) {
|
||||
Set<String> roles = userAuthInfo.getRoles();
|
||||
// 获取最大范围的数据权限
|
||||
Integer dataScope = roleService.getMaximumDataScope(roles);
|
||||
userAuthInfo.setDataScope(dataScope);
|
||||
}
|
||||
return userAuthInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机号获取用户认证信息
|
||||
*
|
||||
@@ -265,137 +243,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
return userAuthInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 注册或绑定微信用户
|
||||
*
|
||||
* @param openId 微信OpenID
|
||||
* @return 是否成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean registerOrBindWechatUser(String openId) {
|
||||
if (StrUtil.isBlank(openId)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 查询是否已存在该openId的用户
|
||||
User existUser = this.getOne(
|
||||
new LambdaQueryWrapper<User>()
|
||||
.eq(User::getOpenid, openId)
|
||||
);
|
||||
|
||||
if (existUser != null) {
|
||||
// 用户已存在,不需要注册
|
||||
return true;
|
||||
}
|
||||
|
||||
// 创建新用户
|
||||
User newUser = new User();
|
||||
newUser.setNickname("微信用户"); // 默认昵称
|
||||
newUser.setUsername(openId); // TODO 后续替换为手机号
|
||||
newUser.setOpenid(openId);
|
||||
newUser.setGender(0); // 保密
|
||||
newUser.setUpdateBy(SecurityUtils.getUserId());
|
||||
newUser.setPassword(SystemConstants.DEFAULT_PASSWORD);
|
||||
newUser.setCreateTime(LocalDateTime.now());
|
||||
newUser.setUpdateTime(LocalDateTime.now());
|
||||
this.save(newUser);
|
||||
// 为了默认系统管理员角色,这里按需调整,实际情况绑定已存在的系统用户,另一种情况是给默认游客角色,然后由系统管理员设置用户的角色
|
||||
UserRole userRole = new UserRole();
|
||||
userRole.setUserId(newUser.getId());
|
||||
userRole.setRoleId(1L); // TODO 系统管理员
|
||||
userRoleService.save(userRole);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据手机号和OpenID注册用户
|
||||
*
|
||||
* @param mobile 手机号
|
||||
* @param openId 微信OpenID
|
||||
* @return 是否成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean registerUserByMobileAndOpenId(String mobile, String openId) {
|
||||
if (StrUtil.isBlank(mobile) || StrUtil.isBlank(openId)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 先查询是否已存在手机号对应的用户
|
||||
User existingUser = this.getOne(
|
||||
new LambdaQueryWrapper<User>()
|
||||
.eq(User::getMobile, mobile)
|
||||
);
|
||||
|
||||
if (existingUser != null) {
|
||||
// 如果存在用户但没绑定openId,则绑定openId
|
||||
if (StrUtil.isBlank(existingUser.getOpenid())) {
|
||||
return bindUserOpenId(existingUser.getId(), openId);
|
||||
}
|
||||
// 如果已经绑定了其他openId,则判断是否需要更新
|
||||
else if (!openId.equals(existingUser.getOpenid())) {
|
||||
return bindUserOpenId(existingUser.getId(), openId);
|
||||
}
|
||||
// 如果已经绑定了相同的openId,则不需要任何操作
|
||||
return true;
|
||||
}
|
||||
|
||||
// 不存在用户,创建新用户
|
||||
User newUser = new User();
|
||||
newUser.setMobile(mobile);
|
||||
newUser.setOpenid(openId);
|
||||
newUser.setUsername(mobile); // 使用手机号作为用户名
|
||||
newUser.setNickname("微信用户_" + mobile.substring(mobile.length() - 4)); // 使用手机号后4位作为昵称
|
||||
newUser.setPassword(SystemConstants.DEFAULT_PASSWORD); // 使用加密的openId作为初始密码
|
||||
newUser.setGender(0); // 保密
|
||||
newUser.setCreateTime(LocalDateTime.now());
|
||||
newUser.setUpdateTime(LocalDateTime.now());
|
||||
this.save(newUser);
|
||||
// 为了默认系统管理员角色,这里按需调整,实际情况绑定已存在的系统用户,另一种情况是给默认游客角色,然后由系统管理员设置用户的角色
|
||||
UserRole userRole = new UserRole();
|
||||
userRole.setUserId(newUser.getId());
|
||||
userRole.setRoleId(1L); // TODO 系统管理员
|
||||
userRoleService.save(userRole);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定用户微信OpenID
|
||||
*
|
||||
* @param userId 用户ID
|
||||
* @param openId 微信OpenID
|
||||
* @return 是否成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean bindUserOpenId(Long userId, String openId) {
|
||||
if (userId == null || StrUtil.isBlank(openId)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 检查是否已有其他用户绑定了此openId
|
||||
User existingUser = this.getOne(
|
||||
new LambdaQueryWrapper<User>()
|
||||
.eq(User::getOpenid, openId)
|
||||
.ne(User::getId, userId)
|
||||
);
|
||||
|
||||
if (existingUser != null) {
|
||||
log.warn("OpenID {} 已被用户 {} 绑定,无法为用户 {} 绑定", openId, existingUser.getId(), userId);
|
||||
return false;
|
||||
}
|
||||
|
||||
// 更新用户openId
|
||||
boolean updated = this.update(
|
||||
new LambdaUpdateWrapper<User>()
|
||||
.eq(User::getId, userId)
|
||||
.set(User::getOpenid, openId)
|
||||
.set(User::getUpdateTime, LocalDateTime.now())
|
||||
);
|
||||
return updated ;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取导出用户列表
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user