From 12c53c6a626cbe4d9c016e39faa86a46c0475e9b Mon Sep 17 00:00:00 2001 From: vertoryao <vertoryao@outlook.com> Date: Tue, 22 Apr 2025 17:18:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(dify):=20=E9=9B=86=E6=88=90=20Dify=20?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 application.yml 中添加 Dify 服务相关配置 - 删除 PageDto 类 - 更新 pom.xml,升级 mybatis-plus 版本并添加 dify-spring-boot-starter 依赖 - 调整 SpringSecurityConfig 中的请求匹配规则 --- pom.xml | 13 +++++++--- .../security/SpringSecurityConfig.java | 3 ++- .../edu/dify/modules/message/dto/PageDto.java | 24 ------------------- .../dify/modules/system/utils/TreeUtil.java | 8 +++---- src/main/resources/application.yml | 10 +++++++- .../resources/mappers/system/UserMapper.xml | 4 +--- 6 files changed, 26 insertions(+), 36 deletions(-) delete mode 100644 src/main/java/com/zsc/edu/dify/modules/message/dto/PageDto.java diff --git a/pom.xml b/pom.xml index 1f1bdf6..6cae0c1 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>3.4.0</version> + <version>3.4.4</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.zsc.edu</groupId> @@ -28,8 +28,9 @@ </scm> <properties> <java.version>17</java.version> - <mybatis-plus.version>3.5.9</mybatis-plus.version> + <mybatis-plus.version>3.5.11</mybatis-plus.version> <mapstruct.version>1.6.2</mapstruct.version> + <fastjson.version>2.0.53</fastjson.version> </properties> <dependencies> <!-- <dependency>--> @@ -37,6 +38,12 @@ <!-- <artifactId>spring-boot-starter-data-mongodb</artifactId>--> <!-- </dependency>--> + <dependency> + <groupId>io.github.guoshiqiufeng.dify</groupId> + <artifactId>dify-spring-boot-starter</artifactId> + <version>0.9.0</version> + </dependency> + <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> @@ -150,7 +157,7 @@ <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> - <version>2.0.21</version> + <version>${fastjson.version}</version> </dependency> <dependency> diff --git a/src/main/java/com/zsc/edu/dify/framework/security/SpringSecurityConfig.java b/src/main/java/com/zsc/edu/dify/framework/security/SpringSecurityConfig.java index 1d6bbde..09181d8 100644 --- a/src/main/java/com/zsc/edu/dify/framework/security/SpringSecurityConfig.java +++ b/src/main/java/com/zsc/edu/dify/framework/security/SpringSecurityConfig.java @@ -81,6 +81,7 @@ public class SpringSecurityConfig { .requestMatchers(HttpMethod.GET, "/api/rest/user/menu","/api/rest/user/register","/api/rest/user/send-email").permitAll() .requestMatchers(HttpMethod.POST, "/api/rest/user/login","/api/rest/user/register").permitAll() .requestMatchers("/api/rest/user/me").permitAll() + .requestMatchers("/v1/**").permitAll() .requestMatchers("/api/**").authenticated() ) // 不用注解,直接通过判断路径实现动态访问权限 @@ -137,7 +138,7 @@ public class SpringSecurityConfig { .rememberMe(rememberMe -> rememberMe .userDetailsService(userDetailsService) .tokenRepository(persistentTokenRepository())) - .csrf(csrf -> csrf.ignoringRequestMatchers("/api/internal/**", "/api/rest/user/logout","/api/rest/user/register")) + .csrf(csrf -> csrf.ignoringRequestMatchers("v1/**","/api/internal/**", "/api/rest/user/logout","/api/rest/user/register")) .sessionManagement(session -> session .maximumSessions(3) .sessionRegistry(sessionRegistry) diff --git a/src/main/java/com/zsc/edu/dify/modules/message/dto/PageDto.java b/src/main/java/com/zsc/edu/dify/modules/message/dto/PageDto.java deleted file mode 100644 index cfa36fa..0000000 --- a/src/main/java/com/zsc/edu/dify/modules/message/dto/PageDto.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zsc.edu.dify.modules.message.dto; - -import lombok.Data; - -import java.util.List; - -/** - * @author zhuang - */ -@Data -public class PageDto<T> { - /** - * 总条数 - */ - private Long total; - /** - * 总页数 - */ - private Integer pages; - /** - * 集合 - */ - private List<T> list; -} \ No newline at end of file diff --git a/src/main/java/com/zsc/edu/dify/modules/system/utils/TreeUtil.java b/src/main/java/com/zsc/edu/dify/modules/system/utils/TreeUtil.java index 37257a9..75fe5cc 100644 --- a/src/main/java/com/zsc/edu/dify/modules/system/utils/TreeUtil.java +++ b/src/main/java/com/zsc/edu/dify/modules/system/utils/TreeUtil.java @@ -5,10 +5,10 @@ import java.util.function.*; import java.util.stream.Collectors; /** - * @Description: 树操作方法工具类 - * @Copyright: Copyright (c) 赵侠客 - * @Date: 2024-07-22 10:42 - * @Version: 1.0 + * @ Description: 树操作方法工具类 + * @ Copyright: Copyright (c) 赵侠客 + * @ Date: 2024-07-22 10:42 + * @ Version: 1.0 */ public class TreeUtil { /** diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6f638a7..3a5dfa4 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,4 +3,12 @@ spring: active: dev docker: compose: - enabled: false \ No newline at end of file + enabled: false + +dify: + url: http://47.112.173.8:6800/ # 请替换为实际的 Dify 服务地址 + server: + email: vertoryao@outlook.com # 请替换为实际的 Dify 服务邮箱,若不需要调用 server相关接口可不填 + password: admin123 # 请替换为实际的 Dify 服务密码,若不需要调用 server相关接口可不填 + dataset: + api-key: dataset-kN5WTJ8jR877YfN1A34JceVg # 请替换为实际的知识库api-key, 若不需要调用知识库可不填 \ No newline at end of file diff --git a/src/main/resources/mappers/system/UserMapper.xml b/src/main/resources/mappers/system/UserMapper.xml index 5966f89..72f1c00 100644 --- a/src/main/resources/mappers/system/UserMapper.xml +++ b/src/main/resources/mappers/system/UserMapper.xml @@ -37,9 +37,7 @@ <result column="address" jdbcType="VARCHAR" property="address"/> <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/> </resultMap> - <sql id="Base_Column_List"> - id, username, password, email, phone, create_time - </sql> + <sql id="Base_Column_List">id, username, password, email, phone, create_time</sql> <select id="selectByUsername" parameterType="java.lang.String" resultMap="UserMap"> select su.*, sr.name as role_name, sr.data_scope, sd.name as dept_name from sys_user su