loginByWxMiniAppPhone(@RequestBody @Valid WxMiniAppPhoneLoginDTO loginDto) {
- AuthenticationToken token = authService.loginByWxMiniAppPhone(loginDto);
- return Result.success(token);
- }
-
@Operation(summary = "退出登录")
@DeleteMapping("/logout")
@Log(value = "退出登录", module = LogModuleEnum.LOGIN)
diff --git a/src/main/java/com/youlai/boot/auth/model/dto/WxMiniAppCodeLoginDTO.java b/src/main/java/com/youlai/boot/auth/model/dto/WxMiniAppCodeLoginDTO.java
deleted file mode 100644
index ff58242f..00000000
--- a/src/main/java/com/youlai/boot/auth/model/dto/WxMiniAppCodeLoginDTO.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.youlai.boot.auth.model.dto;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import jakarta.validation.constraints.NotBlank;
-
-/**
- *微信小程序Code登录请求参数
- */
-@Schema(description = "微信小程序Code登录请求参数")
-@Data
-public class WxMiniAppCodeLoginDTO {
-
- @Schema(description = "微信小程序登录时获取的code", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotBlank(message = "code不能为空")
- private String code;
-
-}
-
-
diff --git a/src/main/java/com/youlai/boot/auth/model/dto/WxMiniAppPhoneLoginDTO.java b/src/main/java/com/youlai/boot/auth/model/dto/WxMiniAppPhoneLoginDTO.java
deleted file mode 100644
index 8dafaa1e..00000000
--- a/src/main/java/com/youlai/boot/auth/model/dto/WxMiniAppPhoneLoginDTO.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.youlai.boot.auth.model.dto;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import jakarta.validation.constraints.NotBlank;
-
-/**
- * 微信小程序手机号登录请求参数
- */
-@Schema(description = "微信小程序手机号登录请求参数")
-@Data
-public class WxMiniAppPhoneLoginDTO {
-
- @Schema(description = "微信小程序登录时获取的code", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotBlank(message = "code不能为空")
- private String code;
-
- @Schema(description = "包括敏感数据在内的完整用户信息的加密数据")
- private String encryptedData;
-
- @Schema(description = "加密算法的初始向量")
- private String iv;
-
-}
-
-
diff --git a/src/main/java/com/youlai/boot/auth/service/AuthService.java b/src/main/java/com/youlai/boot/auth/service/AuthService.java
index 2b1cb2b4..8a7d47cb 100644
--- a/src/main/java/com/youlai/boot/auth/service/AuthService.java
+++ b/src/main/java/com/youlai/boot/auth/service/AuthService.java
@@ -1,9 +1,7 @@
package com.youlai.boot.auth.service;
import com.youlai.boot.auth.model.vo.CaptchaVO;
-import com.youlai.boot.auth.model.dto.WxMiniAppPhoneLoginDTO;
import com.youlai.boot.security.model.AuthenticationToken;
-import com.youlai.boot.auth.model.dto.WxMiniAppCodeLoginDTO;
/**
* 认证服务接口
@@ -42,30 +40,6 @@ public interface AuthService {
*/
AuthenticationToken refreshToken(String refreshToken);
- /**
- * 微信小程序登录
- *
- * @param code 微信登录code
- * @return 登录结果
- */
- AuthenticationToken loginByWechat(String code);
-
- /**
- * 微信小程序Code登录
- *
- * @param loginDto 登录参数
- * @return 访问令牌
- */
- AuthenticationToken loginByWxMiniAppCode(WxMiniAppCodeLoginDTO loginDto);
-
- /**
- * 微信小程序手机号登录
- *
- * @param loginDto 登录参数
- * @return 访问令牌
- */
- AuthenticationToken loginByWxMiniAppPhone(WxMiniAppPhoneLoginDTO loginDto);
-
/**
* 发送短信验证码
*
diff --git a/src/main/java/com/youlai/boot/auth/service/impl/AuthServiceImpl.java b/src/main/java/com/youlai/boot/auth/service/impl/AuthServiceImpl.java
index 66d7cd1d..44ad2260 100644
--- a/src/main/java/com/youlai/boot/auth/service/impl/AuthServiceImpl.java
+++ b/src/main/java/com/youlai/boot/auth/service/impl/AuthServiceImpl.java
@@ -5,8 +5,6 @@ import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
-import com.youlai.boot.auth.model.dto.WxMiniAppCodeLoginDTO;
-import com.youlai.boot.auth.model.dto.WxMiniAppPhoneLoginDTO;
import com.youlai.boot.auth.model.vo.CaptchaVO;
import com.youlai.boot.auth.service.AuthService;
import com.youlai.boot.common.constant.RedisConstants;
@@ -17,8 +15,6 @@ import com.youlai.boot.platform.sms.enums.SmsTypeEnum;
import com.youlai.boot.platform.sms.service.SmsService;
import com.youlai.boot.security.model.AuthenticationToken;
import com.youlai.boot.security.model.SmsAuthenticationToken;
-import com.youlai.boot.security.model.WxMiniAppCodeAuthenticationToken;
-import com.youlai.boot.security.model.WxMiniAppPhoneAuthenticationToken;
import com.youlai.boot.security.token.TokenManager;
import com.youlai.boot.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
@@ -84,27 +80,6 @@ public class AuthServiceImpl implements AuthService {
return authenticationTokenResponse;
}
- /**
- * 微信一键授权登录
- *
- * @param code 微信登录code
- * @return 访问令牌
- */
- @Override
- public AuthenticationToken loginByWechat(String code) {
- // 1. 创建用户微信认证的令牌(未认证)
- WxMiniAppCodeAuthenticationToken authenticationToken = new WxMiniAppCodeAuthenticationToken(code);
-
- // 2. 执行认证(认证中)
- Authentication authentication = authenticationManager.authenticate(authenticationToken);
-
- // 3. 认证成功后生成 JWT 令牌,并存入 Security 上下文,供登录日志 AOP 使用(已认证)
- AuthenticationToken token = tokenManager.generateToken(authentication);
- SecurityContextHolder.getContext().setAuthentication(authentication);
-
- return token;
- }
-
/**
* 发送登录短信验证码
*
@@ -224,50 +199,4 @@ public class AuthServiceImpl implements AuthService {
return tokenManager.refreshToken(refreshToken);
}
- /**
- * 微信小程序Code登录
- *
- * @param loginDto 登录参数
- * @return 访问令牌
- */
- @Override
- public AuthenticationToken loginByWxMiniAppCode(WxMiniAppCodeLoginDTO loginDto) {
- // 1. 创建微信小程序认证令牌(未认证)
- WxMiniAppCodeAuthenticationToken authenticationToken = new WxMiniAppCodeAuthenticationToken(loginDto.getCode());
-
- // 2. 执行认证(认证中)
- Authentication authentication = authenticationManager.authenticate(authenticationToken);
-
- // 3. 认证成功后生成 JWT 令牌,并存入 Security 上下文,供登录日志 AOP 使用(已认证)
- AuthenticationToken token = tokenManager.generateToken(authentication);
- SecurityContextHolder.getContext().setAuthentication(authentication);
-
- return token;
- }
-
- /**
- * 微信小程序手机号登录
- *
- * @param loginDto 登录参数
- * @return 访问令牌
- */
- @Override
- public AuthenticationToken loginByWxMiniAppPhone(WxMiniAppPhoneLoginDTO loginDto) {
- // 创建微信小程序手机号认证Token
- WxMiniAppPhoneAuthenticationToken authenticationToken = new WxMiniAppPhoneAuthenticationToken(
- loginDto.getCode(),
- loginDto.getEncryptedData(),
- loginDto.getIv()
- );
-
- // 执行认证
- Authentication authentication = authenticationManager.authenticate(authenticationToken);
-
- // 认证成功后生成JWT令牌,并存入Security上下文
- AuthenticationToken token = tokenManager.generateToken(authentication);
- SecurityContextHolder.getContext().setAuthentication(authentication);
-
- return token;
- }
-
}
diff --git a/src/main/java/com/youlai/boot/config/SecurityConfig.java b/src/main/java/com/youlai/boot/config/SecurityConfig.java
index bab3ccaa..fe3539ce 100644
--- a/src/main/java/com/youlai/boot/config/SecurityConfig.java
+++ b/src/main/java/com/youlai/boot/config/SecurityConfig.java
@@ -1,6 +1,5 @@
package com.youlai.boot.config;
-import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.util.ArrayUtil;
import com.youlai.boot.config.property.SecurityProperties;
@@ -10,8 +9,6 @@ import com.youlai.boot.security.filter.TokenAuthenticationFilter;
import com.youlai.boot.security.handler.MyAccessDeniedHandler;
import com.youlai.boot.security.handler.MyAuthenticationEntryPoint;
import com.youlai.boot.security.provider.SmsAuthenticationProvider;
-import com.youlai.boot.security.provider.WxMiniAppCodeAuthenticationProvider;
-import com.youlai.boot.security.provider.WxMiniAppPhoneAuthenticationProvider;
import com.youlai.boot.security.token.TokenManager;
import com.youlai.boot.security.service.SysUserDetailsService;
import com.youlai.boot.system.service.ConfigService;
@@ -50,7 +47,6 @@ public class SecurityConfig {
private final PasswordEncoder passwordEncoder;
private final TokenManager tokenManager;
- private final WxMaService wxMaService;
private final UserService userService;
private final SysUserDetailsService userDetailsService;
@@ -124,22 +120,6 @@ public class SecurityConfig {
return daoAuthenticationProvider;
}
- /**
- * 微信小程序Code认证Provider
- */
- @Bean
- public WxMiniAppCodeAuthenticationProvider wxMiniAppCodeAuthenticationProvider() {
- return new WxMiniAppCodeAuthenticationProvider(userService, wxMaService);
- }
-
- /**
- * 微信小程序手机号认证Provider
- */
- @Bean
- public WxMiniAppPhoneAuthenticationProvider wxMiniAppPhoneAuthenticationProvider() {
- return new WxMiniAppPhoneAuthenticationProvider(userService, wxMaService);
- }
-
/**
* 短信验证码认证 Provider
*/
@@ -154,14 +134,10 @@ public class SecurityConfig {
@Bean
public AuthenticationManager authenticationManager(
DaoAuthenticationProvider daoAuthenticationProvider,
- WxMiniAppCodeAuthenticationProvider wxMiniAppCodeAuthenticationProvider,
- WxMiniAppPhoneAuthenticationProvider wxMiniAppPhoneAuthenticationProvider,
SmsAuthenticationProvider smsAuthenticationProvider
) {
return new ProviderManager(
daoAuthenticationProvider,
- wxMiniAppCodeAuthenticationProvider,
- wxMiniAppPhoneAuthenticationProvider,
smsAuthenticationProvider
);
}
diff --git a/src/main/java/com/youlai/boot/config/WxMiniAppConfig.java b/src/main/java/com/youlai/boot/config/WxMiniAppConfig.java
deleted file mode 100644
index bbce096c..00000000
--- a/src/main/java/com/youlai/boot/config/WxMiniAppConfig.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.youlai.boot.config;
-
-import cn.binarywang.wx.miniapp.api.WxMaService;
-import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
-import cn.binarywang.wx.miniapp.config.WxMaConfig;
-import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
-import lombok.Setter;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * 配置微信 appId 和 appSecret
- *
- * @author wangtao
- * @since 2024/11/26 17:28
- */
-@Setter
-@ConfigurationProperties(prefix = "wx.miniapp")
-@Configuration
-public class WxMiniAppConfig {
-
- private String appId;
-
- private String appSecret;
-
- @Bean
- public WxMaConfig wxMaConfig() {
- WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
- config.setAppid(appId);
- config.setSecret(appSecret);
- return config;
- }
-
- @Bean
- public WxMaService wxMaService(WxMaConfig wxMaConfig) {
- WxMaService service = new WxMaServiceImpl();
- service.setWxMaConfig(wxMaConfig);
- return service;
- }
-}
diff --git a/src/main/java/com/youlai/boot/platform/ai/config/SpringAiConfig.java b/src/main/java/com/youlai/boot/platform/ai/config/SpringAiConfig.java
deleted file mode 100644
index 699f3140..00000000
--- a/src/main/java/com/youlai/boot/platform/ai/config/SpringAiConfig.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.youlai.boot.platform.ai.config;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.ai.chat.client.ChatClient;
-import org.springframework.ai.openai.OpenAiChatModel;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import com.youlai.boot.platform.ai.tools.UserTools;
-
-/**
- * Spring AI 配置类
- *
- * 使用 Spring AI 自动配置,支持:
- * - OpenAI
- * - 通义千问(DashScope 兼容 OpenAI 协议)
- * - DeepSeek(兼容 OpenAI 协议)
- * - 其他兼容 OpenAI 协议的模型
- *
- * 配置方式:
- * spring.ai.openai.api-key: xxx
- * spring.ai.openai.base-url: xxx
- * spring.ai.openai.chat.options.model: xxx
- *
- * @author Ray.Hao
- * @since 3.0.0
- */
-@Slf4j
-@Configuration
-@ConditionalOnProperty(prefix = "spring.ai.openai.chat", name = "enabled", havingValue = "true", matchIfMissing = false)
-public class SpringAiConfig {
-
- /**
- * 创建 ChatClient(Spring AI 核心客户端)
- *
- * OpenAiChatModel 由 Spring AI 自动配置创建
- * 根据 spring.ai.openai.* 配置自动初始化
- */
- @Bean
- public ChatClient chatClient(OpenAiChatModel chatModel, UserTools userTools) {
- log.info("✅ Spring AI ChatClient 初始化成功");
- log.info("📋 当前配置 - 模型: {}", chatModel.getDefaultOptions().getModel());
- // 将 UserTools 注册为默认工具,所有调用都可使用
- return ChatClient.builder(chatModel)
- .defaultTools(userTools)
- .build();
- }
-}
-
diff --git a/src/main/java/com/youlai/boot/platform/ai/controller/AiAssistantController.java b/src/main/java/com/youlai/boot/platform/ai/controller/AiAssistantController.java
deleted file mode 100644
index 792ae741..00000000
--- a/src/main/java/com/youlai/boot/platform/ai/controller/AiAssistantController.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package com.youlai.boot.platform.ai.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.youlai.boot.core.web.PageResult;
-import com.youlai.boot.core.web.Result;
-import com.youlai.boot.platform.ai.model.dto.AiExecuteRequestDTO;
-import com.youlai.boot.platform.ai.model.dto.AiParseRequestDTO;
-import com.youlai.boot.platform.ai.model.dto.AiParseResponseDTO;
-import com.youlai.boot.platform.ai.model.query.AiAssistantQuery;
-import com.youlai.boot.platform.ai.model.vo.AiAssistantRecordVO;
-import com.youlai.boot.platform.ai.service.AiAssistantRecordService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.servlet.http.HttpServletRequest;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * AI 助手控制器
- *
- * 负责 AI 命令的解析、执行与记录查询。
- *
- * @author Ray.Hao
- * @since 3.0.0
- */
-@Tag(name = "13.AI 助手接口")
-@RestController
-@RequestMapping("/api/v1/ai/assistant")
-@RequiredArgsConstructor
-@Slf4j
-public class AiAssistantController {
-
- private final AiAssistantRecordService aiAssistantRecordService;
-
- @Operation(summary = "解析自然语言命令")
- @PostMapping("/parse")
- public Result parseCommand(
- @RequestBody AiParseRequestDTO request,
- HttpServletRequest httpRequest
- ) {
- log.info("收到 AI 命令解析请求: {}", request.getCommand());
- try {
- AiParseResponseDTO response = aiAssistantRecordService.parseCommand(request, httpRequest);
- return Result.success(response);
- } catch (Exception e) {
- log.error("命令解析失败", e);
- return Result.success(AiParseResponseDTO.builder()
- .success(false)
- .error(e.getMessage())
- .build());
- }
- }
-
- @Operation(summary = "执行已解析的命令")
- @PostMapping("/execute")
- public Result