Commit eefd5341b34057f07b603f5bc2a3d4d6e261d4bc
Merge branch 'master-jdk17' of https://gitee.com/zhijiantianya/ruoyi-vue-pro into develop-api-remove
# Conflicts: # yudao-module-ai/yudao-module-ai-biz/pom.xml
Showing
150 changed files
with
762 additions
and
1002 deletions
Too many changes.
To preserve performance only 100 of 150 files are displayed.
yudao-module-ai/pom.xml
| @@ -11,7 +11,6 @@ | @@ -11,7 +11,6 @@ | ||
| 11 | <modules> | 11 | <modules> |
| 12 | <module>yudao-module-ai-api</module> | 12 | <module>yudao-module-ai-api</module> |
| 13 | <module>yudao-module-ai-biz</module> | 13 | <module>yudao-module-ai-biz</module> |
| 14 | - <module>yudao-spring-boot-starter-ai</module> | ||
| 15 | </modules> | 14 | </modules> |
| 16 | <packaging>pom</packaging> | 15 | <packaging>pom</packaging> |
| 17 | <artifactId>yudao-module-ai</artifactId> | 16 | <artifactId>yudao-module-ai</artifactId> |
yudao-module-ai/yudao-module-ai-biz/pom.xml
| @@ -17,6 +17,10 @@ | @@ -17,6 +17,10 @@ | ||
| 17 | 国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek | 17 | 国内:通义千问、文心一言、讯飞星火、智谱 GLM、DeepSeek |
| 18 | 国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno | 18 | 国外:OpenAI、Ollama、Midjourney、StableDiffusion、Suno |
| 19 | </description> | 19 | </description> |
| 20 | + <properties> | ||
| 21 | + <spring-ai.version>1.0.0-M6</spring-ai.version> | ||
| 22 | + <tinyflow.version>1.0.2</tinyflow.version> | ||
| 23 | + </properties> | ||
| 20 | 24 | ||
| 21 | <dependencies> | 25 | <dependencies> |
| 22 | <dependency> | 26 | <dependency> |
| @@ -24,14 +28,19 @@ | @@ -24,14 +28,19 @@ | ||
| 24 | <artifactId>yudao-module-ai-api</artifactId> | 28 | <artifactId>yudao-module-ai-api</artifactId> |
| 25 | <version>${revision}</version> | 29 | <version>${revision}</version> |
| 26 | </dependency> | 30 | </dependency> |
| 27 | - | ||
| 28 | - <!-- 业务组件 --> | ||
| 29 | <dependency> | 31 | <dependency> |
| 30 | <groupId>cn.iocoder.boot</groupId> | 32 | <groupId>cn.iocoder.boot</groupId> |
| 31 | - <artifactId>yudao-spring-boot-starter-ai</artifactId> | 33 | + <artifactId>yudao-module-system-api</artifactId> |
| 34 | + <version>${revision}</version> | ||
| 35 | + </dependency> | ||
| 36 | + <dependency> | ||
| 37 | + <groupId>cn.iocoder.boot</groupId> | ||
| 38 | + <artifactId>yudao-module-infra-api</artifactId> | ||
| 32 | <version>${revision}</version> | 39 | <version>${revision}</version> |
| 33 | </dependency> | 40 | </dependency> |
| 34 | 41 | ||
| 42 | + <!-- 业务组件 --> | ||
| 43 | + | ||
| 35 | <dependency> | 44 | <dependency> |
| 36 | <groupId>cn.iocoder.boot</groupId> | 45 | <groupId>cn.iocoder.boot</groupId> |
| 37 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> | 46 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
| @@ -66,5 +75,142 @@ | @@ -66,5 +75,142 @@ | ||
| 66 | <groupId>cn.iocoder.boot</groupId> | 75 | <groupId>cn.iocoder.boot</groupId> |
| 67 | <artifactId>yudao-spring-boot-starter-excel</artifactId> | 76 | <artifactId>yudao-spring-boot-starter-excel</artifactId> |
| 68 | </dependency> | 77 | </dependency> |
| 78 | + | ||
| 79 | + <!-- Spring AI Model 模型接入 --> | ||
| 80 | + <dependency> | ||
| 81 | + <groupId>org.springframework.ai</groupId> | ||
| 82 | + <artifactId>spring-ai-openai-spring-boot-starter</artifactId> | ||
| 83 | + <version>${spring-ai.version}</version> | ||
| 84 | + </dependency> | ||
| 85 | + <dependency> | ||
| 86 | + <groupId>org.springframework.ai</groupId> | ||
| 87 | + <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId> | ||
| 88 | + <version>${spring-ai.version}</version> | ||
| 89 | + </dependency> | ||
| 90 | + <dependency> | ||
| 91 | + <groupId>org.springframework.ai</groupId> | ||
| 92 | + <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> | ||
| 93 | + <version>${spring-ai.version}</version> | ||
| 94 | + </dependency> | ||
| 95 | + <dependency> | ||
| 96 | + <groupId>org.springframework.ai</groupId> | ||
| 97 | + <artifactId>spring-ai-stability-ai-spring-boot-starter</artifactId> | ||
| 98 | + <version>${spring-ai.version}</version> | ||
| 99 | + </dependency> | ||
| 100 | + <dependency> | ||
| 101 | + <!-- 通义千问 --> | ||
| 102 | + <groupId>com.alibaba.cloud.ai</groupId> | ||
| 103 | + <artifactId>spring-ai-alibaba-starter</artifactId> | ||
| 104 | + <version>${spring-ai.version}.1</version> | ||
| 105 | + </dependency> | ||
| 106 | + <dependency> | ||
| 107 | + <!-- 文心一言 --> | ||
| 108 | + <groupId>org.springframework.ai</groupId> | ||
| 109 | + <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId> | ||
| 110 | + <version>${spring-ai.version}</version> | ||
| 111 | + </dependency> | ||
| 112 | + <dependency> | ||
| 113 | + <!-- 智谱 GLM --> | ||
| 114 | + <groupId>org.springframework.ai</groupId> | ||
| 115 | + <artifactId>spring-ai-zhipuai-spring-boot-starter</artifactId> | ||
| 116 | + <version>${spring-ai.version}</version> | ||
| 117 | + </dependency> | ||
| 118 | + <dependency> | ||
| 119 | + <groupId>org.springframework.ai</groupId> | ||
| 120 | + <artifactId>spring-ai-minimax-spring-boot-starter</artifactId> | ||
| 121 | + <version>${spring-ai.version}</version> | ||
| 122 | + </dependency> | ||
| 123 | + <dependency> | ||
| 124 | + <groupId>org.springframework.ai</groupId> | ||
| 125 | + <artifactId>spring-ai-moonshot-spring-boot-starter</artifactId> | ||
| 126 | + <version>${spring-ai.version}</version> | ||
| 127 | + </dependency> | ||
| 128 | + | ||
| 129 | + <!-- 向量存储:https://db-engines.com/en/ranking/vector+dbms --> | ||
| 130 | + <dependency> | ||
| 131 | + <!-- Qdrant:https://qdrant.tech/ --> | ||
| 132 | + <groupId>org.springframework.ai</groupId> | ||
| 133 | + <artifactId>spring-ai-qdrant-store</artifactId> | ||
| 134 | + <version>${spring-ai.version}</version> | ||
| 135 | + </dependency> | ||
| 136 | + | ||
| 137 | + <dependency> | ||
| 138 | + <!-- Redis:https://redis.io/docs/latest/develop/get-started/vector-database/ --> | ||
| 139 | + <groupId>org.springframework.ai</groupId> | ||
| 140 | + <artifactId>spring-ai-redis-store</artifactId> | ||
| 141 | + <version>${spring-ai.version}</version> | ||
| 142 | + </dependency> | ||
| 143 | + <dependency> | ||
| 144 | + <groupId>cn.iocoder.boot</groupId> | ||
| 145 | + <artifactId>yudao-spring-boot-starter-redis</artifactId> | ||
| 146 | + </dependency> | ||
| 147 | + | ||
| 148 | + <dependency> | ||
| 149 | + <!-- Milvus:https://milvus.io/ --> | ||
| 150 | + <groupId>org.springframework.ai</groupId> | ||
| 151 | + <artifactId>spring-ai-milvus-store</artifactId> | ||
| 152 | + <version>${spring-ai.version}</version> | ||
| 153 | + <exclusions> | ||
| 154 | + <!-- 解决和 logback 的日志冲突 --> | ||
| 155 | + <exclusion> | ||
| 156 | + <groupId>org.slf4j</groupId> | ||
| 157 | + <artifactId>slf4j-reload4j</artifactId> | ||
| 158 | + </exclusion> | ||
| 159 | + </exclusions> | ||
| 160 | + </dependency> | ||
| 161 | + | ||
| 162 | + <dependency> | ||
| 163 | + <!-- Tika:负责内容的解析 --> | ||
| 164 | + <groupId>org.springframework.ai</groupId> | ||
| 165 | + <artifactId>spring-ai-tika-document-reader</artifactId> | ||
| 166 | + <version>${spring-ai.version}</version> | ||
| 167 | + <!-- TODO 芋艿:boot 项目里,不引入 cloud 依赖!!!另外,这样也是为了解决启动报错的问题! --> | ||
| 168 | + <exclusions> | ||
| 169 | + <exclusion> | ||
| 170 | + <artifactId>spring-cloud-function-context</artifactId> | ||
| 171 | + <groupId>org.springframework.cloud</groupId> | ||
| 172 | + </exclusion> | ||
| 173 | + <exclusion> | ||
| 174 | + <artifactId>spring-cloud-function-core</artifactId> | ||
| 175 | + <groupId>org.springframework.cloud</groupId> | ||
| 176 | + </exclusion> | ||
| 177 | + </exclusions> | ||
| 178 | + </dependency> | ||
| 179 | + | ||
| 180 | + <!-- TinyFlow:AI 工作流 --> | ||
| 181 | + <dependency> | ||
| 182 | + <groupId>dev.tinyflow</groupId> | ||
| 183 | + <artifactId>tinyflow-java-core</artifactId> | ||
| 184 | + <version>${tinyflow.version}</version> | ||
| 185 | + <exclusions> | ||
| 186 | + <exclusion> | ||
| 187 | + <groupId>com.jfinal</groupId> | ||
| 188 | + <artifactId>enjoy</artifactId> | ||
| 189 | + </exclusion> | ||
| 190 | + <exclusion> | ||
| 191 | + <!-- 解决 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1318/ 问题 --> | ||
| 192 | + <groupId>com.agentsflex</groupId> | ||
| 193 | + <artifactId>agents-flex-store-elasticsearch</artifactId> | ||
| 194 | + </exclusion> | ||
| 195 | + <exclusion> | ||
| 196 | + <!-- TODO @芋艿:暂时移除 groovy,和 iot 冲突 --> | ||
| 197 | + <groupId>org.codehaus.groovy</groupId> | ||
| 198 | + <artifactId>groovy-all</artifactId> | ||
| 199 | + </exclusion> | ||
| 200 | + <!-- 解决和 logback 的日志冲突 --> | ||
| 201 | + <exclusion> | ||
| 202 | + <groupId>org.slf4j</groupId> | ||
| 203 | + <artifactId>slf4j-simple</artifactId> | ||
| 204 | + </exclusion> | ||
| 205 | + <exclusion> | ||
| 206 | + <groupId>org.apache.logging.log4j</groupId> | ||
| 207 | + <artifactId>log4j-slf4j-impl</artifactId> | ||
| 208 | + </exclusion> | ||
| 209 | + <exclusion> | ||
| 210 | + <groupId>org.slf4j</groupId> | ||
| 211 | + <artifactId>slf4j-reload4j</artifactId> | ||
| 212 | + </exclusion> | ||
| 213 | + </exclusions> | ||
| 214 | + </dependency> | ||
| 69 | </dependencies> | 215 | </dependencies> |
| 70 | </project> | 216 | </project> |
| 71 | \ No newline at end of file | 217 | \ No newline at end of file |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java
| 1 | package cn.iocoder.yudao.module.ai.controller.admin.image; | 1 | package cn.iocoder.yudao.module.ai.controller.admin.image; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.ObjUtil; | 3 | import cn.hutool.core.util.ObjUtil; |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; |
| 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageRespVO.java
| 1 | package cn.iocoder.yudao.module.ai.controller.admin.image.vo; | 1 | package cn.iocoder.yudao.module.ai.controller.admin.image.vo; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; |
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/vo/model/AiModelSaveReqVO.java
| 1 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; | 1 | package cn.iocoder.yudao.module.ai.controller.admin.model.vo.model; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; |
| 4 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | ||
| 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | import cn.iocoder.yudao.framework.common.validation.InEnum; | 6 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 7 | import io.swagger.v3.oas.annotations.media.Schema; | 7 | import io.swagger.v3.oas.annotations.media.Schema; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java
| 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.image; | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.image; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 5 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; | 6 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 6 | import cn.iocoder.yudao.module.ai.enums.image.AiImageStatusEnum; | 7 | import cn.iocoder.yudao.module.ai.enums.image.AiImageStatusEnum; |
| @@ -49,7 +50,7 @@ public class AiImageDO extends BaseDO { | @@ -49,7 +50,7 @@ public class AiImageDO extends BaseDO { | ||
| 49 | /** | 50 | /** |
| 50 | * 平台 | 51 | * 平台 |
| 51 | * | 52 | * |
| 52 | - * 枚举 {@link cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum} | 53 | + * 枚举 {@link AiPlatformEnum} |
| 53 | */ | 54 | */ |
| 54 | private String platform; | 55 | private String platform; |
| 55 | /** | 56 | /** |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/mindmap/AiMindMapDO.java
| 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.mindmap; | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.mindmap; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; | 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 6 | import com.baomidou.mybatisplus.annotation.KeySequence; | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiApiKeyDO.java
| 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.model; | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.model; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 5 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 6 | import com.baomidou.mybatisplus.annotation.KeySequence; | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/model/AiModelDO.java
| 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.model; | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.model; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; |
| 4 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | ||
| 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 5 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 7 | import com.baomidou.mybatisplus.annotation.KeySequence; | 7 | import com.baomidou.mybatisplus.annotation.KeySequence; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/music/AiMusicDO.java
| 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.music; | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.music; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | import cn.iocoder.yudao.module.ai.enums.music.AiMusicGenerateModeEnum; | 5 | import cn.iocoder.yudao.module.ai.enums.music.AiMusicGenerateModeEnum; |
| 6 | import cn.iocoder.yudao.module.ai.enums.music.AiMusicStatusEnum; | 6 | import cn.iocoder.yudao.module.ai.enums.music.AiMusicStatusEnum; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/write/AiWriteDO.java
| 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.write; | 1 | package cn.iocoder.yudao.module.ai.dal.dataobject.write; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; | 5 | import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO; |
| 6 | import cn.iocoder.yudao.module.ai.enums.DictTypeConstants; | 6 | import cn.iocoder.yudao.module.ai.enums.DictTypeConstants; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiModelTypeEnum.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/enums/model/AiModelTypeEnum.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/enums/AiPlatformEnum.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/enums/model/AiPlatformEnum.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.enums; | 1 | +package cn.iocoder.yudao.module.ai.enums.model; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; | 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; |
| 4 | import lombok.AllArgsConstructor; | 4 | import lombok.AllArgsConstructor; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/enums/package-info.java
0 → 100644
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiAutoConfiguration.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java
| 1 | -package cn.iocoder.yudao.framework.ai.config; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.config; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.StrUtil; | 3 | import cn.hutool.core.util.StrUtil; |
| 4 | import cn.hutool.extra.spring.SpringUtil; | 4 | import cn.hutool.extra.spring.SpringUtil; |
| 5 | -import cn.iocoder.yudao.framework.ai.core.factory.AiModelFactory; | ||
| 6 | -import cn.iocoder.yudao.framework.ai.core.factory.AiModelFactoryImpl; | ||
| 7 | -import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel; | ||
| 8 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | ||
| 9 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | ||
| 10 | -import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; | ||
| 11 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 12 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | ||
| 13 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | ||
| 14 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | ||
| 15 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.AiModelFactory; |
| 6 | +import cn.iocoder.yudao.module.ai.framework.ai.core.AiModelFactoryImpl; | ||
| 7 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel; | ||
| 8 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | ||
| 9 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; | ||
| 10 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel; | ||
| 11 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 12 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | ||
| 13 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | ||
| 14 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | ||
| 15 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel; | ||
| 16 | import lombok.extern.slf4j.Slf4j; | 16 | import lombok.extern.slf4j.Slf4j; |
| 17 | import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusServiceClientProperties; | 17 | import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusServiceClientProperties; |
| 18 | import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusVectorStoreProperties; | 18 | import org.springframework.ai.autoconfigure.vectorstore.milvus.MilvusVectorStoreProperties; |
| @@ -26,24 +26,24 @@ import org.springframework.ai.openai.OpenAiChatOptions; | @@ -26,24 +26,24 @@ import org.springframework.ai.openai.OpenAiChatOptions; | ||
| 26 | import org.springframework.ai.openai.api.OpenAiApi; | 26 | import org.springframework.ai.openai.api.OpenAiApi; |
| 27 | import org.springframework.ai.tokenizer.JTokkitTokenCountEstimator; | 27 | import org.springframework.ai.tokenizer.JTokkitTokenCountEstimator; |
| 28 | import org.springframework.ai.tokenizer.TokenCountEstimator; | 28 | import org.springframework.ai.tokenizer.TokenCountEstimator; |
| 29 | -import org.springframework.boot.autoconfigure.AutoConfiguration; | ||
| 30 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; | 29 | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| 31 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 30 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 32 | import org.springframework.context.annotation.Bean; | 31 | import org.springframework.context.annotation.Bean; |
| 32 | +import org.springframework.context.annotation.Configuration; | ||
| 33 | 33 | ||
| 34 | /** | 34 | /** |
| 35 | * 芋道 AI 自动配置 | 35 | * 芋道 AI 自动配置 |
| 36 | * | 36 | * |
| 37 | * @author fansili | 37 | * @author fansili |
| 38 | */ | 38 | */ |
| 39 | -@AutoConfiguration | 39 | +@Configuration |
| 40 | @EnableConfigurationProperties({ YudaoAiProperties.class, | 40 | @EnableConfigurationProperties({ YudaoAiProperties.class, |
| 41 | QdrantVectorStoreProperties.class, // 解析 Qdrant 配置 | 41 | QdrantVectorStoreProperties.class, // 解析 Qdrant 配置 |
| 42 | RedisVectorStoreProperties.class, // 解析 Redis 配置 | 42 | RedisVectorStoreProperties.class, // 解析 Redis 配置 |
| 43 | MilvusVectorStoreProperties.class, MilvusServiceClientProperties.class // 解析 Milvus 配置 | 43 | MilvusVectorStoreProperties.class, MilvusServiceClientProperties.class // 解析 Milvus 配置 |
| 44 | }) | 44 | }) |
| 45 | @Slf4j | 45 | @Slf4j |
| 46 | -public class YudaoAiAutoConfiguration { | 46 | +public class AiAutoConfiguration { |
| 47 | 47 | ||
| 48 | @Bean | 48 | @Bean |
| 49 | public AiModelFactory aiModelFactory() { | 49 | public AiModelFactory aiModelFactory() { |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/config/YudaoAiProperties.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java
| 1 | -package cn.iocoder.yudao.framework.ai.config; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.config; |
| 2 | 2 | ||
| 3 | import lombok.Data; | 3 | import lombok.Data; |
| 4 | import org.springframework.boot.context.properties.ConfigurationProperties; | 4 | import org.springframework.boot.context.properties.ConfigurationProperties; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiModelFactory.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactory.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.factory; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 5 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | ||
| 6 | import org.springframework.ai.chat.model.ChatModel; | 6 | import org.springframework.ai.chat.model.ChatModel; |
| 7 | import org.springframework.ai.embedding.EmbeddingModel; | 7 | import org.springframework.ai.embedding.EmbeddingModel; |
| 8 | import org.springframework.ai.image.ImageModel; | 8 | import org.springframework.ai.image.ImageModel; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/factory/AiModelFactoryImpl.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactoryImpl.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.factory; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.io.FileUtil; | 3 | import cn.hutool.core.io.FileUtil; |
| 4 | import cn.hutool.core.lang.Assert; | 4 | import cn.hutool.core.lang.Assert; |
| @@ -8,20 +8,20 @@ import cn.hutool.core.util.ArrayUtil; | @@ -8,20 +8,20 @@ import cn.hutool.core.util.ArrayUtil; | ||
| 8 | import cn.hutool.core.util.RuntimeUtil; | 8 | import cn.hutool.core.util.RuntimeUtil; |
| 9 | import cn.hutool.core.util.StrUtil; | 9 | import cn.hutool.core.util.StrUtil; |
| 10 | import cn.hutool.extra.spring.SpringUtil; | 10 | import cn.hutool.extra.spring.SpringUtil; |
| 11 | -import cn.iocoder.yudao.framework.ai.config.YudaoAiAutoConfiguration; | ||
| 12 | -import cn.iocoder.yudao.framework.ai.config.YudaoAiProperties; | ||
| 13 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 14 | -import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel; | ||
| 15 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | ||
| 16 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | ||
| 17 | -import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; | ||
| 18 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 19 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | ||
| 20 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | ||
| 21 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | ||
| 22 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | ||
| 23 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | ||
| 24 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | 11 | +import cn.iocoder.yudao.module.ai.framework.ai.config.AiAutoConfiguration; |
| 12 | +import cn.iocoder.yudao.module.ai.framework.ai.config.YudaoAiProperties; | ||
| 13 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | ||
| 14 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel; | ||
| 15 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | ||
| 16 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; | ||
| 17 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel; | ||
| 18 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 19 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | ||
| 20 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | ||
| 21 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | ||
| 22 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | ||
| 23 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | ||
| 24 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel; | ||
| 25 | import cn.iocoder.yudao.framework.common.util.spring.SpringUtils; | 25 | import cn.iocoder.yudao.framework.common.util.spring.SpringUtils; |
| 26 | import com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeAutoConfiguration; | 26 | import com.alibaba.cloud.ai.autoconfigure.dashscope.DashScopeAutoConfiguration; |
| 27 | import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; | 27 | import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; |
| @@ -361,39 +361,39 @@ public class AiModelFactoryImpl implements AiModelFactory { | @@ -361,39 +361,39 @@ public class AiModelFactoryImpl implements AiModelFactory { | ||
| 361 | } | 361 | } |
| 362 | 362 | ||
| 363 | /** | 363 | /** |
| 364 | - * 可参考 {@link YudaoAiAutoConfiguration#deepSeekChatModel(YudaoAiProperties)} | 364 | + * 可参考 {@link AiAutoConfiguration#deepSeekChatModel(YudaoAiProperties)} |
| 365 | */ | 365 | */ |
| 366 | private static DeepSeekChatModel buildDeepSeekChatModel(String apiKey) { | 366 | private static DeepSeekChatModel buildDeepSeekChatModel(String apiKey) { |
| 367 | YudaoAiProperties.DeepSeekProperties properties = new YudaoAiProperties.DeepSeekProperties() | 367 | YudaoAiProperties.DeepSeekProperties properties = new YudaoAiProperties.DeepSeekProperties() |
| 368 | .setApiKey(apiKey); | 368 | .setApiKey(apiKey); |
| 369 | - return new YudaoAiAutoConfiguration().buildDeepSeekChatModel(properties); | 369 | + return new AiAutoConfiguration().buildDeepSeekChatModel(properties); |
| 370 | } | 370 | } |
| 371 | 371 | ||
| 372 | /** | 372 | /** |
| 373 | - * 可参考 {@link YudaoAiAutoConfiguration#douBaoChatClient(YudaoAiProperties)} | 373 | + * 可参考 {@link AiAutoConfiguration#douBaoChatClient(YudaoAiProperties)} |
| 374 | */ | 374 | */ |
| 375 | private ChatModel buildDouBaoChatModel(String apiKey) { | 375 | private ChatModel buildDouBaoChatModel(String apiKey) { |
| 376 | YudaoAiProperties.DouBaoProperties properties = new YudaoAiProperties.DouBaoProperties() | 376 | YudaoAiProperties.DouBaoProperties properties = new YudaoAiProperties.DouBaoProperties() |
| 377 | .setApiKey(apiKey); | 377 | .setApiKey(apiKey); |
| 378 | - return new YudaoAiAutoConfiguration().buildDouBaoChatClient(properties); | 378 | + return new AiAutoConfiguration().buildDouBaoChatClient(properties); |
| 379 | } | 379 | } |
| 380 | 380 | ||
| 381 | /** | 381 | /** |
| 382 | - * 可参考 {@link YudaoAiAutoConfiguration#hunYuanChatClient(YudaoAiProperties)} | 382 | + * 可参考 {@link AiAutoConfiguration#hunYuanChatClient(YudaoAiProperties)} |
| 383 | */ | 383 | */ |
| 384 | private ChatModel buildHunYuanChatModel(String apiKey, String url) { | 384 | private ChatModel buildHunYuanChatModel(String apiKey, String url) { |
| 385 | YudaoAiProperties.HunYuanProperties properties = new YudaoAiProperties.HunYuanProperties() | 385 | YudaoAiProperties.HunYuanProperties properties = new YudaoAiProperties.HunYuanProperties() |
| 386 | .setBaseUrl(url).setApiKey(apiKey); | 386 | .setBaseUrl(url).setApiKey(apiKey); |
| 387 | - return new YudaoAiAutoConfiguration().buildHunYuanChatClient(properties); | 387 | + return new AiAutoConfiguration().buildHunYuanChatClient(properties); |
| 388 | } | 388 | } |
| 389 | 389 | ||
| 390 | /** | 390 | /** |
| 391 | - * 可参考 {@link YudaoAiAutoConfiguration#siliconFlowChatClient(YudaoAiProperties)} | 391 | + * 可参考 {@link AiAutoConfiguration#siliconFlowChatClient(YudaoAiProperties)} |
| 392 | */ | 392 | */ |
| 393 | private ChatModel buildSiliconFlowChatModel(String apiKey) { | 393 | private ChatModel buildSiliconFlowChatModel(String apiKey) { |
| 394 | YudaoAiProperties.SiliconFlowProperties properties = new YudaoAiProperties.SiliconFlowProperties() | 394 | YudaoAiProperties.SiliconFlowProperties properties = new YudaoAiProperties.SiliconFlowProperties() |
| 395 | .setApiKey(apiKey); | 395 | .setApiKey(apiKey); |
| 396 | - return new YudaoAiAutoConfiguration().buildSiliconFlowChatClient(properties); | 396 | + return new AiAutoConfiguration().buildSiliconFlowChatClient(properties); |
| 397 | } | 397 | } |
| 398 | 398 | ||
| 399 | /** | 399 | /** |
| @@ -436,23 +436,23 @@ public class AiModelFactoryImpl implements AiModelFactory { | @@ -436,23 +436,23 @@ public class AiModelFactoryImpl implements AiModelFactory { | ||
| 436 | } | 436 | } |
| 437 | 437 | ||
| 438 | /** | 438 | /** |
| 439 | - * 可参考 {@link YudaoAiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)} | 439 | + * 可参考 {@link AiAutoConfiguration#xingHuoChatClient(YudaoAiProperties)} |
| 440 | */ | 440 | */ |
| 441 | private static XingHuoChatModel buildXingHuoChatModel(String key) { | 441 | private static XingHuoChatModel buildXingHuoChatModel(String key) { |
| 442 | List<String> keys = StrUtil.split(key, '|'); | 442 | List<String> keys = StrUtil.split(key, '|'); |
| 443 | Assert.equals(keys.size(), 2, "XingHuoChatClient 的密钥需要 (appKey|secretKey) 格式"); | 443 | Assert.equals(keys.size(), 2, "XingHuoChatClient 的密钥需要 (appKey|secretKey) 格式"); |
| 444 | YudaoAiProperties.XingHuoProperties properties = new YudaoAiProperties.XingHuoProperties() | 444 | YudaoAiProperties.XingHuoProperties properties = new YudaoAiProperties.XingHuoProperties() |
| 445 | .setAppKey(keys.get(0)).setSecretKey(keys.get(1)); | 445 | .setAppKey(keys.get(0)).setSecretKey(keys.get(1)); |
| 446 | - return new YudaoAiAutoConfiguration().buildXingHuoChatClient(properties); | 446 | + return new AiAutoConfiguration().buildXingHuoChatClient(properties); |
| 447 | } | 447 | } |
| 448 | 448 | ||
| 449 | /** | 449 | /** |
| 450 | - * 可参考 {@link YudaoAiAutoConfiguration#baiChuanChatClient(YudaoAiProperties)} | 450 | + * 可参考 {@link AiAutoConfiguration#baiChuanChatClient(YudaoAiProperties)} |
| 451 | */ | 451 | */ |
| 452 | private BaiChuanChatModel buildBaiChuanChatModel(String apiKey) { | 452 | private BaiChuanChatModel buildBaiChuanChatModel(String apiKey) { |
| 453 | YudaoAiProperties.BaiChuanProperties properties = new YudaoAiProperties.BaiChuanProperties() | 453 | YudaoAiProperties.BaiChuanProperties properties = new YudaoAiProperties.BaiChuanProperties() |
| 454 | .setApiKey(apiKey); | 454 | .setApiKey(apiKey); |
| 455 | - return new YudaoAiAutoConfiguration().buildBaiChuanChatClient(properties); | 455 | + return new AiAutoConfiguration().buildBaiChuanChatClient(properties); |
| 456 | } | 456 | } |
| 457 | 457 | ||
| 458 | /** | 458 | /** |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/baichuan/BaiChuanChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/baichuan/BaiChuanChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/deepseek/DeepSeekChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/deepseek/DeepSeekChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/doubao/DouBaoChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/doubao/DouBaoChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/hunyuan/HunYuanChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/hunyuan/HunYuanChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/midjourney/api/MidjourneyApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/midjourney/api/MidjourneyApi.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.model.midjourney.api; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.StrUtil; | 3 | import cn.hutool.core.util.StrUtil; |
| 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowApiConstants.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowApiConstants.java
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | -package cn.iocoder.yudao.framework.ai.core.model.siliconflow; | 17 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow; |
| 18 | 18 | ||
| 19 | /** | 19 | /** |
| 20 | * SiliconFlow API 枚举类 | 20 | * SiliconFlow API 枚举类 |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowImageApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageApi.java
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | -package cn.iocoder.yudao.framework.ai.core.model.siliconflow; | 17 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow; |
| 18 | 18 | ||
| 19 | import com.fasterxml.jackson.annotation.JsonInclude; | 19 | import com.fasterxml.jackson.annotation.JsonInclude; |
| 20 | import com.fasterxml.jackson.annotation.JsonProperty; | 20 | import com.fasterxml.jackson.annotation.JsonProperty; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | * limitations under the License. | 14 | * limitations under the License. |
| 15 | */ | 15 | */ |
| 16 | 16 | ||
| 17 | -package cn.iocoder.yudao.framework.ai.core.model.siliconflow; | 17 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow; |
| 18 | 18 | ||
| 19 | import io.micrometer.observation.ObservationRegistry; | 19 | import io.micrometer.observation.ObservationRegistry; |
| 20 | import lombok.Setter; | 20 | import lombok.Setter; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/siliconflow/SiliconFlowImageOptions.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageOptions.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.model.siliconflow; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow; |
| 2 | 2 | ||
| 3 | import com.fasterxml.jackson.annotation.JsonProperty; | 3 | import com.fasterxml.jackson.annotation.JsonProperty; |
| 4 | import lombok.AllArgsConstructor; | 4 | import lombok.AllArgsConstructor; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/suno/api/SunoApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/suno/api/SunoApi.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.model.suno.api; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.text.StrPool; | 4 | import cn.hutool.core.text.StrPool; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/wenduoduo/api/WenDuoDuoPptApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/wenduoduo/api/WenDuoDuoPptApi.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.model.wenduoduo.api; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.wenduoduo.api; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 3 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 4 | import com.fasterxml.jackson.annotation.JsonFormat; | 4 | import com.fasterxml.jackson.annotation.JsonFormat; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/XingHuoChatModel.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/XingHuoChatModel.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/model/xinghuo/api/XunFeiPptApi.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/xinghuo/api/XunFeiPptApi.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/package-info.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/package-info.java
| @@ -10,4 +10,4 @@ | @@ -10,4 +10,4 @@ | ||
| 10 | * 6. midjourney 包:Midjourney API,对接 https://github.com/novicezk/midjourney-proxy 实现 | 10 | * 6. midjourney 包:Midjourney API,对接 https://github.com/novicezk/midjourney-proxy 实现 |
| 11 | * 7. suno 包:Suno API,对接 https://github.com/gcui-art/suno-api 实现 | 11 | * 7. suno 包:Suno API,对接 https://github.com/gcui-art/suno-api 实现 |
| 12 | */ | 12 | */ |
| 13 | -package cn.iocoder.yudao.framework.ai; | ||
| 14 | \ No newline at end of file | 13 | \ No newline at end of file |
| 14 | +package cn.iocoder.yudao.module.ai.framework.ai; | ||
| 15 | \ No newline at end of file | 15 | \ No newline at end of file |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java
| @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil; | @@ -4,7 +4,7 @@ import cn.hutool.core.collection.CollUtil; | ||
| 4 | import cn.hutool.core.lang.Assert; | 4 | import cn.hutool.core.lang.Assert; |
| 5 | import cn.hutool.core.util.ObjUtil; | 5 | import cn.hutool.core.util.ObjUtil; |
| 6 | import cn.hutool.core.util.ObjectUtil; | 6 | import cn.hutool.core.util.ObjectUtil; |
| 7 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | 7 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; |
| 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 10 | import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO; | 10 | import cn.iocoder.yudao.module.ai.controller.admin.chat.vo.conversation.AiChatConversationCreateMyReqVO; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java
| @@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.ai.service.chat; | @@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.ai.service.chat; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.util.ObjUtil; | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 7 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | 6 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 7 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | ||
| 8 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 8 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 9 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 9 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 10 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 10 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java
| 1 | package cn.iocoder.yudao.module.ai.service.image; | 1 | package cn.iocoder.yudao.module.ai.service.image; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; |
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; | 5 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; |
| 6 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyActionReqVO; | 6 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyActionReqVO; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
| @@ -9,9 +9,9 @@ import cn.hutool.core.util.ObjUtil; | @@ -9,9 +9,9 @@ import cn.hutool.core.util.ObjUtil; | ||
| 9 | import cn.hutool.core.util.StrUtil; | 9 | import cn.hutool.core.util.StrUtil; |
| 10 | import cn.hutool.extra.spring.SpringUtil; | 10 | import cn.hutool.extra.spring.SpringUtil; |
| 11 | import cn.hutool.http.HttpUtil; | 11 | import cn.hutool.http.HttpUtil; |
| 12 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 13 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 14 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | 12 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 13 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 14 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | ||
| 15 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 15 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 16 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 16 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 17 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDrawReqVO; | 17 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDrawReqVO; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/mindmap/AiMindMapServiceImpl.java
| @@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.ai.service.mindmap; | @@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.ai.service.mindmap; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.util.ObjUtil; | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | ||
| 7 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 8 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | 6 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; |
| 7 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | ||
| 8 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | ||
| 9 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 9 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 11 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiModelService.java
| 1 | package cn.iocoder.yudao.module.ai.service.model; | 1 | package cn.iocoder.yudao.module.ai.service.model; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | ||
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelPageReqVO; | 6 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelPageReqVO; |
| 7 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelSaveReqVO; | 7 | import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelSaveReqVO; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiModelServiceImpl.java
| 1 | package cn.iocoder.yudao.module.ai.service.model; | 1 | package cn.iocoder.yudao.module.ai.service.model; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.factory.AiModelFactory; | ||
| 5 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 6 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | 3 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.AiModelFactory; | ||
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; | ||
| 6 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; | ||
| 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 7 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 9 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/model/tool/UserProfileQueryToolFunction.java
| 1 | package cn.iocoder.yudao.module.ai.service.model.tool; | 1 | package cn.iocoder.yudao.module.ai.service.model.tool; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | 3 | +import cn.iocoder.yudao.module.ai.util.AiUtils; |
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | import cn.iocoder.yudao.framework.security.core.LoginUser; | 5 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| 6 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; | 6 | import cn.iocoder.yudao.framework.tenant.core.util.TenantUtils; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/music/AiMusicServiceImpl.java
| @@ -6,7 +6,7 @@ import cn.hutool.core.util.ObjUtil; | @@ -6,7 +6,7 @@ import cn.hutool.core.util.ObjUtil; | ||
| 6 | import cn.hutool.core.util.ObjectUtil; | 6 | import cn.hutool.core.util.ObjectUtil; |
| 7 | import cn.hutool.core.util.StrUtil; | 7 | import cn.hutool.core.util.StrUtil; |
| 8 | import cn.hutool.http.HttpUtil; | 8 | import cn.hutool.http.HttpUtil; |
| 9 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | 9 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; |
| 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | import cn.iocoder.yudao.module.ai.controller.admin.music.vo.AiMusicPageReqVO; | 11 | import cn.iocoder.yudao.module.ai.controller.admin.music.vo.AiMusicPageReqVO; |
| 12 | import cn.iocoder.yudao.module.ai.controller.admin.music.vo.AiMusicUpdateMyReqVO; | 12 | import cn.iocoder.yudao.module.ai.controller.admin.music.vo.AiMusicUpdateMyReqVO; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java
| @@ -3,9 +3,10 @@ package cn.iocoder.yudao.module.ai.service.write; | @@ -3,9 +3,10 @@ package cn.iocoder.yudao.module.ai.service.write; | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | import cn.hutool.core.util.ObjUtil; | 4 | import cn.hutool.core.util.ObjUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | -import cn.iocoder.yudao.framework.ai.core.enums.AiModelTypeEnum; | ||
| 7 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | ||
| 8 | -import cn.iocoder.yudao.framework.ai.core.util.AiUtils; | 6 | +import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils; |
| 7 | +import cn.iocoder.yudao.module.ai.enums.model.AiModelTypeEnum; | ||
| 8 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; | ||
| 9 | +import cn.iocoder.yudao.module.ai.util.AiUtils; | ||
| 9 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 10 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 12 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/core/util/AiUtils.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java
| 1 | -package cn.iocoder.yudao.framework.ai.core.util; | 1 | +package cn.iocoder.yudao.module.ai.util; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.ObjUtil; | 3 | import cn.hutool.core.util.ObjUtil; |
| 4 | import cn.hutool.core.util.StrUtil; | 4 | import cn.hutool.core.util.StrUtil; |
| 5 | -import cn.iocoder.yudao.framework.ai.core.enums.AiPlatformEnum; | 5 | +import cn.iocoder.yudao.module.ai.enums.model.AiPlatformEnum; |
| 6 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | 6 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 7 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; | 7 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 8 | import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions; | 8 | import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/AzureOpenAIChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/AzureOpenAIChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | import com.azure.ai.openai.OpenAIClientBuilder; | 3 | import com.azure.ai.openai.OpenAIClientBuilder; |
| 4 | import com.azure.core.credential.AzureKeyCredential; | 4 | import com.azure.core.credential.AzureKeyCredential; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/BaiChuanChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.baichuan.BaiChuanChatModel; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.baichuan.BaiChuanChatModel; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; | ||
| 5 | import org.junit.jupiter.api.Disabled; | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | import org.junit.jupiter.api.Test; | 6 | import org.junit.jupiter.api.Test; |
| 7 | import org.springframework.ai.chat.messages.Message; | 7 | import org.springframework.ai.chat.messages.Message; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/CozeChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/CozeChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/DeepSeekChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.deepseek.DeepSeekChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.deepseek.DeepSeekChatModel; |
| 4 | import org.junit.jupiter.api.Disabled; | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | import org.springframework.ai.chat.messages.Message; | 6 | import org.springframework.ai.chat.messages.Message; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/DifyChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DifyChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/DouBaoChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DouBaoChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; |
| 4 | import org.junit.jupiter.api.Disabled; | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | import org.springframework.ai.chat.messages.Message; | 6 | import org.springframework.ai.chat.messages.Message; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/FastGPTChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/FastGPTChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/HunYuanChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/HunYuanChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.hunyuan.HunYuanChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.hunyuan.HunYuanChatModel; |
| 4 | import org.junit.jupiter.api.Disabled; | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | import org.springframework.ai.chat.messages.Message; | 6 | import org.springframework.ai.chat.messages.Message; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/LlamaChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/LlamaChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/MiniMaxChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MiniMaxChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/MoonshotChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/OllamaChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OllamaChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/OpenAIChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OpenAIChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/SiliconFlowChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/SiliconFlowChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowApiConstants; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowChatModel; | ||
| 5 | import org.junit.jupiter.api.Disabled; | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | import org.junit.jupiter.api.Test; | 6 | import org.junit.jupiter.api.Test; |
| 7 | import org.springframework.ai.chat.messages.Message; | 7 | import org.springframework.ai.chat.messages.Message; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/TongYiChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/TongYiChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; | 3 | import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; |
| 4 | import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel; | 4 | import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/XingHuoChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/XingHuoChatModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.chat; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.chat; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.XingHuoChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.XingHuoChatModel; |
| 4 | import org.junit.jupiter.api.Disabled; | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | import org.springframework.ai.chat.messages.Message; | 6 | import org.springframework.ai.chat.messages.Message; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/YiYanChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/chat/ZhiPuAiChatModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/ZhiPuAiChatModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/MidjourneyApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/MidjourneyApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.midjourney.api.MidjourneyApi; |
| 4 | import org.junit.jupiter.api.Disabled; | 4 | import org.junit.jupiter.api.Disabled; |
| 5 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 6 | 6 |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/OpenAiImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/QianFanImageTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/QianFanImageTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; |
| 2 | 2 | ||
| 3 | import org.junit.jupiter.api.Disabled; | 3 | import org.junit.jupiter.api.Disabled; |
| 4 | import org.junit.jupiter.api.Test; | 4 | import org.junit.jupiter.api.Test; |
| @@ -8,7 +8,7 @@ import org.springframework.ai.qianfan.QianFanImageModel; | @@ -8,7 +8,7 @@ import org.springframework.ai.qianfan.QianFanImageModel; | ||
| 8 | import org.springframework.ai.qianfan.QianFanImageOptions; | 8 | import org.springframework.ai.qianfan.QianFanImageOptions; |
| 9 | import org.springframework.ai.qianfan.api.QianFanImageApi; | 9 | import org.springframework.ai.qianfan.api.QianFanImageApi; |
| 10 | 10 | ||
| 11 | -import static cn.iocoder.yudao.framework.ai.image.StabilityAiImageModelTests.viewImage; | 11 | +import static cn.iocoder.yudao.module.ai.framework.ai.core.model.image.StabilityAiImageModelTests.viewImage; |
| 12 | 12 | ||
| 13 | // TODO @芋艿:百度千帆 API 提供了 V2 版本,目前 Spring AI 不兼容,可关键 <https://github.com/spring-projects/spring-ai/issues/2179> 进展 | 13 | // TODO @芋艿:百度千帆 API 提供了 V2 版本,目前 Spring AI 不兼容,可关键 <https://github.com/spring-projects/spring-ai/issues/2179> 进展 |
| 14 | 14 |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/SiliconFlowImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/SiliconFlowImageModelTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageApi; | ||
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | ||
| 5 | -import cn.iocoder.yudao.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageApi; |
| 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageModel; | ||
| 5 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.siliconflow.SiliconFlowImageOptions; | ||
| 6 | import org.junit.jupiter.api.Disabled; | 6 | import org.junit.jupiter.api.Disabled; |
| 7 | import org.junit.jupiter.api.Test; | 7 | import org.junit.jupiter.api.Test; |
| 8 | import org.springframework.ai.image.ImagePrompt; | 8 | import org.springframework.ai.image.ImagePrompt; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/StabilityAiImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/StabilityAiImageModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/TongYiImagesModelTest.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/TongYiImagesModelTest.java
| 1 | -package cn.iocoder.yudao.framework.ai.image; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.image; |
| 2 | 2 | ||
| 3 | import com.alibaba.cloud.ai.dashscope.api.DashScopeImageApi; | 3 | import com.alibaba.cloud.ai.dashscope.api.DashScopeImageApi; |
| 4 | import com.alibaba.cloud.ai.dashscope.image.DashScopeImageModel; | 4 | import com.alibaba.cloud.ai.dashscope.image.DashScopeImageModel; |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/image/ZhiPuAiImageModelTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/ZhiPuAiImageModelTests.java
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/mcp/DouBaoMcpTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/mcp/DouBaoMcpTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.mcp; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.mcp; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.doubao.DouBaoChatModel; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.doubao.DouBaoChatModel; |
| 4 | +import org.junit.jupiter.api.Disabled; | ||
| 4 | import org.junit.jupiter.api.Test; | 5 | import org.junit.jupiter.api.Test; |
| 5 | import org.springframework.ai.chat.client.ChatClient; | 6 | import org.springframework.ai.chat.client.ChatClient; |
| 6 | import org.springframework.ai.openai.OpenAiChatModel; | 7 | import org.springframework.ai.openai.OpenAiChatModel; |
| @@ -9,6 +10,7 @@ import org.springframework.ai.openai.api.OpenAiApi; | @@ -9,6 +10,7 @@ import org.springframework.ai.openai.api.OpenAiApi; | ||
| 9 | import org.springframework.ai.tool.annotation.Tool; | 10 | import org.springframework.ai.tool.annotation.Tool; |
| 10 | import org.springframework.ai.tool.method.MethodToolCallbackProvider; | 11 | import org.springframework.ai.tool.method.MethodToolCallbackProvider; |
| 11 | 12 | ||
| 13 | +@Disabled | ||
| 12 | public class DouBaoMcpTests { | 14 | public class DouBaoMcpTests { |
| 13 | 15 | ||
| 14 | private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder() | 16 | private final OpenAiChatModel openAiChatModel = OpenAiChatModel.builder() |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/music/SunoApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/music/SunoApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.music; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.music; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.ListUtil; | 3 | import cn.hutool.core.collection.ListUtil; |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.suno.api.SunoApi; | 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.suno.api.SunoApi; |
| 5 | import org.junit.jupiter.api.Disabled; | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | import org.junit.jupiter.api.Test; | 6 | import org.junit.jupiter.api.Test; |
| 7 | 7 |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/ppt/wdd/WenDuoDuoPptApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/wdd/WenDuoDuoPptApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.ppt.wdd; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.ppt.wdd; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.ai.core.model.wenduoduo.api.WenDuoDuoPptApi; | 3 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.wenduoduo.api.WenDuoDuoPptApi; |
| 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 5 | import org.junit.jupiter.api.Disabled; | 5 | import org.junit.jupiter.api.Disabled; |
| 6 | import org.junit.jupiter.api.Test; | 6 | import org.junit.jupiter.api.Test; |
| @@ -14,6 +14,7 @@ import java.util.Objects; | @@ -14,6 +14,7 @@ import java.util.Objects; | ||
| 14 | * | 14 | * |
| 15 | * @author xiaoxin | 15 | * @author xiaoxin |
| 16 | */ | 16 | */ |
| 17 | +@Disabled | ||
| 17 | public class WenDuoDuoPptApiTests { | 18 | public class WenDuoDuoPptApiTests { |
| 18 | 19 | ||
| 19 | private final String token = ""; // API Token | 20 | private final String token = ""; // API Token |
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/ppt/xunfei/XunFeiPptApiTests.java renamed to yudao-module-ai/yudao-module-ai-biz/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/xunfei/XunFeiPptApiTests.java
| 1 | -package cn.iocoder.yudao.framework.ai.ppt.xunfei; | 1 | +package cn.iocoder.yudao.module.ai.framework.ai.core.model.ppt.xunfei; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.io.FileUtil; | 3 | import cn.hutool.core.io.FileUtil; |
| 4 | -import cn.iocoder.yudao.framework.ai.core.model.xinghuo.api.XunFeiPptApi; | 4 | +import cn.iocoder.yudao.module.ai.framework.ai.core.model.xinghuo.api.XunFeiPptApi; |
| 5 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 5 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 6 | import org.junit.jupiter.api.Disabled; | 6 | import org.junit.jupiter.api.Disabled; |
| 7 | import org.junit.jupiter.api.Test; | 7 | import org.junit.jupiter.api.Test; |
yudao-module-ai/yudao-spring-boot-starter-ai/pom.xml deleted
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<project xmlns="http://maven.apache.org/POM/4.0.0" | ||
| 3 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 4 | - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
| 5 | - <parent> | ||
| 6 | - <groupId>cn.iocoder.boot</groupId> | ||
| 7 | - <artifactId>yudao-module-ai</artifactId> | ||
| 8 | - <version>${revision}</version> | ||
| 9 | - </parent> | ||
| 10 | - <modelVersion>4.0.0</modelVersion> | ||
| 11 | - <artifactId>yudao-spring-boot-starter-ai</artifactId> | ||
| 12 | - <packaging>jar</packaging> | ||
| 13 | - | ||
| 14 | - <name>${project.artifactId}</name> | ||
| 15 | - <description>AI 大模型拓展,接入国内外大模型</description> | ||
| 16 | - <properties> | ||
| 17 | - <spring-ai.version>1.0.0-M6</spring-ai.version> | ||
| 18 | - <tinyflow.version>1.0.2</tinyflow.version> | ||
| 19 | - </properties> | ||
| 20 | - | ||
| 21 | - <dependencies> | ||
| 22 | - <dependency> | ||
| 23 | - <groupId>cn.iocoder.boot</groupId> | ||
| 24 | - <artifactId>yudao-common</artifactId> | ||
| 25 | - </dependency> | ||
| 26 | - | ||
| 27 | - <!-- 业务组件 --> | ||
| 28 | - <dependency> | ||
| 29 | - <groupId>cn.iocoder.boot</groupId> | ||
| 30 | - <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> | ||
| 31 | - </dependency> | ||
| 32 | - | ||
| 33 | - <!-- Web 相关 --> | ||
| 34 | - <dependency> | ||
| 35 | - <groupId>cn.iocoder.boot</groupId> | ||
| 36 | - <artifactId>yudao-spring-boot-starter-security</artifactId> | ||
| 37 | - </dependency> | ||
| 38 | - | ||
| 39 | - <!-- Spring AI Model 模型接入 --> | ||
| 40 | - <dependency> | ||
| 41 | - <groupId>org.springframework.ai</groupId> | ||
| 42 | - <artifactId>spring-ai-openai-spring-boot-starter</artifactId> | ||
| 43 | - <version>${spring-ai.version}</version> | ||
| 44 | - </dependency> | ||
| 45 | - <dependency> | ||
| 46 | - <groupId>org.springframework.ai</groupId> | ||
| 47 | - <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId> | ||
| 48 | - <version>${spring-ai.version}</version> | ||
| 49 | - </dependency> | ||
| 50 | - <dependency> | ||
| 51 | - <groupId>org.springframework.ai</groupId> | ||
| 52 | - <artifactId>spring-ai-ollama-spring-boot-starter</artifactId> | ||
| 53 | - <version>${spring-ai.version}</version> | ||
| 54 | - </dependency> | ||
| 55 | - <dependency> | ||
| 56 | - <groupId>org.springframework.ai</groupId> | ||
| 57 | - <artifactId>spring-ai-stability-ai-spring-boot-starter</artifactId> | ||
| 58 | - <version>${spring-ai.version}</version> | ||
| 59 | - </dependency> | ||
| 60 | - <dependency> | ||
| 61 | - <!-- 通义千问 --> | ||
| 62 | - <groupId>com.alibaba.cloud.ai</groupId> | ||
| 63 | - <artifactId>spring-ai-alibaba-starter</artifactId> | ||
| 64 | - <version>${spring-ai.version}.1</version> | ||
| 65 | - </dependency> | ||
| 66 | - <dependency> | ||
| 67 | - <!-- 文心一言 --> | ||
| 68 | - <groupId>org.springframework.ai</groupId> | ||
| 69 | - <artifactId>spring-ai-qianfan-spring-boot-starter</artifactId> | ||
| 70 | - <version>${spring-ai.version}</version> | ||
| 71 | - </dependency> | ||
| 72 | - <dependency> | ||
| 73 | - <!-- 智谱 GLM --> | ||
| 74 | - <groupId>org.springframework.ai</groupId> | ||
| 75 | - <artifactId>spring-ai-zhipuai-spring-boot-starter</artifactId> | ||
| 76 | - <version>${spring-ai.version}</version> | ||
| 77 | - </dependency> | ||
| 78 | - <dependency> | ||
| 79 | - <groupId>org.springframework.ai</groupId> | ||
| 80 | - <artifactId>spring-ai-minimax-spring-boot-starter</artifactId> | ||
| 81 | - <version>${spring-ai.version}</version> | ||
| 82 | - </dependency> | ||
| 83 | - <dependency> | ||
| 84 | - <groupId>org.springframework.ai</groupId> | ||
| 85 | - <artifactId>spring-ai-moonshot-spring-boot-starter</artifactId> | ||
| 86 | - <version>${spring-ai.version}</version> | ||
| 87 | - </dependency> | ||
| 88 | - | ||
| 89 | - <!-- 向量存储:https://db-engines.com/en/ranking/vector+dbms --> | ||
| 90 | - <dependency> | ||
| 91 | - <!-- Qdrant:https://qdrant.tech/ --> | ||
| 92 | - <groupId>org.springframework.ai</groupId> | ||
| 93 | - <artifactId>spring-ai-qdrant-store</artifactId> | ||
| 94 | - <version>${spring-ai.version}</version> | ||
| 95 | - </dependency> | ||
| 96 | - | ||
| 97 | - <dependency> | ||
| 98 | - <!-- Redis:https://redis.io/docs/latest/develop/get-started/vector-database/ --> | ||
| 99 | - <groupId>org.springframework.ai</groupId> | ||
| 100 | - <artifactId>spring-ai-redis-store</artifactId> | ||
| 101 | - <version>${spring-ai.version}</version> | ||
| 102 | - </dependency> | ||
| 103 | - <dependency> | ||
| 104 | - <groupId>cn.iocoder.boot</groupId> | ||
| 105 | - <artifactId>yudao-spring-boot-starter-redis</artifactId> | ||
| 106 | - </dependency> | ||
| 107 | - | ||
| 108 | - <dependency> | ||
| 109 | - <!-- Milvus:https://milvus.io/ --> | ||
| 110 | - <groupId>org.springframework.ai</groupId> | ||
| 111 | - <artifactId>spring-ai-milvus-store</artifactId> | ||
| 112 | - <version>${spring-ai.version}</version> | ||
| 113 | - <exclusions> | ||
| 114 | - <!-- 解决和 logback 的日志冲突 --> | ||
| 115 | - <exclusion> | ||
| 116 | - <groupId>org.slf4j</groupId> | ||
| 117 | - <artifactId>slf4j-reload4j</artifactId> | ||
| 118 | - </exclusion> | ||
| 119 | - </exclusions> | ||
| 120 | - </dependency> | ||
| 121 | - | ||
| 122 | - <dependency> | ||
| 123 | - <!-- Tika:负责内容的解析 --> | ||
| 124 | - <groupId>org.springframework.ai</groupId> | ||
| 125 | - <artifactId>spring-ai-tika-document-reader</artifactId> | ||
| 126 | - <version>${spring-ai.version}</version> | ||
| 127 | - <!-- TODO 芋艿:boot 项目里,不引入 cloud 依赖!!!另外,这样也是为了解决启动报错的问题! --> | ||
| 128 | - <exclusions> | ||
| 129 | - <exclusion> | ||
| 130 | - <artifactId>spring-cloud-function-context</artifactId> | ||
| 131 | - <groupId>org.springframework.cloud</groupId> | ||
| 132 | - </exclusion> | ||
| 133 | - <exclusion> | ||
| 134 | - <artifactId>spring-cloud-function-core</artifactId> | ||
| 135 | - <groupId>org.springframework.cloud</groupId> | ||
| 136 | - </exclusion> | ||
| 137 | - </exclusions> | ||
| 138 | - </dependency> | ||
| 139 | - | ||
| 140 | - <!-- TinyFlow:AI 工作流 --> | ||
| 141 | - <dependency> | ||
| 142 | - <groupId>dev.tinyflow</groupId> | ||
| 143 | - <artifactId>tinyflow-java-core</artifactId> | ||
| 144 | - <version>${tinyflow.version}</version> | ||
| 145 | - <exclusions> | ||
| 146 | - <exclusion> | ||
| 147 | - <groupId>com.jfinal</groupId> | ||
| 148 | - <artifactId>enjoy</artifactId> | ||
| 149 | - </exclusion> | ||
| 150 | - <exclusion> | ||
| 151 | - <!-- 解决 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1318/ 问题 --> | ||
| 152 | - <groupId>com.agentsflex</groupId> | ||
| 153 | - <artifactId>agents-flex-store-elasticsearch</artifactId> | ||
| 154 | - </exclusion> | ||
| 155 | - <exclusion> | ||
| 156 | - <!-- TODO @芋艿:暂时移除 groovy,和 iot 冲突 --> | ||
| 157 | - <groupId>org.codehaus.groovy</groupId> | ||
| 158 | - <artifactId>groovy-all</artifactId> | ||
| 159 | - </exclusion> | ||
| 160 | - <!-- 解决和 logback 的日志冲突 --> | ||
| 161 | - <exclusion> | ||
| 162 | - <groupId>org.slf4j</groupId> | ||
| 163 | - <artifactId>slf4j-simple</artifactId> | ||
| 164 | - </exclusion> | ||
| 165 | - <exclusion> | ||
| 166 | - <groupId>org.apache.logging.log4j</groupId> | ||
| 167 | - <artifactId>log4j-slf4j-impl</artifactId> | ||
| 168 | - </exclusion> | ||
| 169 | - <exclusion> | ||
| 170 | - <groupId>org.slf4j</groupId> | ||
| 171 | - <artifactId>slf4j-reload4j</artifactId> | ||
| 172 | - </exclusion> | ||
| 173 | - </exclusions> | ||
| 174 | - </dependency> | ||
| 175 | - | ||
| 176 | - <!-- Test 测试相关 --> | ||
| 177 | - <dependency> | ||
| 178 | - <groupId>org.springframework.boot</groupId> | ||
| 179 | - <artifactId>spring-boot-starter-test</artifactId> | ||
| 180 | - <scope>test</scope> | ||
| 181 | - </dependency> | ||
| 182 | - </dependencies> | ||
| 183 | - | ||
| 184 | -</project> | ||
| 185 | \ No newline at end of file | 0 | \ No newline at end of file |
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted
yudao-module-pay/pom.xml
| @@ -13,7 +13,6 @@ | @@ -13,7 +13,6 @@ | ||
| 13 | <modules> | 13 | <modules> |
| 14 | <module>yudao-module-pay-api</module> | 14 | <module>yudao-module-pay-api</module> |
| 15 | <module>yudao-module-pay-biz</module> | 15 | <module>yudao-module-pay-biz</module> |
| 16 | - <module>yudao-spring-boot-starter-biz-pay</module> | ||
| 17 | </modules> | 16 | </modules> |
| 18 | 17 | ||
| 19 | <name>${project.artifactId}</name> | 18 | <name>${project.artifactId}</name> |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/PayChannelEnum.java
| 1 | package cn.iocoder.yudao.module.pay.enums; | 1 | package cn.iocoder.yudao.module.pay.enums; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.util.ArrayUtil; | ||
| 4 | +import cn.hutool.core.util.StrUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; | 5 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; |
| 4 | import lombok.AllArgsConstructor; | 6 | import lombok.AllArgsConstructor; |
| 5 | import lombok.Getter; | 7 | import lombok.Getter; |
| @@ -27,6 +29,7 @@ public enum PayChannelEnum implements ArrayValuable<String> { | @@ -27,6 +29,7 @@ public enum PayChannelEnum implements ArrayValuable<String> { | ||
| 27 | ALIPAY_APP("alipay_app", "支付宝App 支付"), | 29 | ALIPAY_APP("alipay_app", "支付宝App 支付"), |
| 28 | ALIPAY_QR("alipay_qr", "支付宝扫码支付"), | 30 | ALIPAY_QR("alipay_qr", "支付宝扫码支付"), |
| 29 | ALIPAY_BAR("alipay_bar", "支付宝条码支付"), | 31 | ALIPAY_BAR("alipay_bar", "支付宝条码支付"), |
| 32 | + | ||
| 30 | MOCK("mock", "模拟支付"), | 33 | MOCK("mock", "模拟支付"), |
| 31 | 34 | ||
| 32 | WALLET("wallet", "钱包支付"); | 35 | WALLET("wallet", "钱包支付"); |
| @@ -49,4 +52,16 @@ public enum PayChannelEnum implements ArrayValuable<String> { | @@ -49,4 +52,16 @@ public enum PayChannelEnum implements ArrayValuable<String> { | ||
| 49 | return ARRAYS; | 52 | return ARRAYS; |
| 50 | } | 53 | } |
| 51 | 54 | ||
| 55 | + public static PayChannelEnum getByCode(String code) { | ||
| 56 | + return ArrayUtil.firstMatch(o -> o.getCode().equals(code), values()); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + public static boolean isAlipay(String channelCode) { | ||
| 60 | + return StrUtil.startWith(channelCode, "alipay_"); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + public static boolean isWeixin(String channelCode) { | ||
| 64 | + return StrUtil.startWith(channelCode, "wx_"); | ||
| 65 | + } | ||
| 66 | + | ||
| 52 | } | 67 | } |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/order/PayOrderStatusEnum.java
| @@ -51,6 +51,16 @@ public enum PayOrderStatusEnum implements ArrayValuable<Integer> { | @@ -51,6 +51,16 @@ public enum PayOrderStatusEnum implements ArrayValuable<Integer> { | ||
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | /** | 53 | /** |
| 54 | + * 判断是否已退款 | ||
| 55 | + * | ||
| 56 | + * @param status 状态 | ||
| 57 | + * @return 是否已退款 | ||
| 58 | + */ | ||
| 59 | + public static boolean isRefund(Integer status) { | ||
| 60 | + return Objects.equals(status, REFUND.getStatus()); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + /** | ||
| 54 | * 判断是否支付成功或者已退款 | 64 | * 判断是否支付成功或者已退款 |
| 55 | * | 65 | * |
| 56 | * @param status 状态 | 66 | * @param status 状态 |
yudao-module-pay/yudao-module-pay-api/src/main/java/cn/iocoder/yudao/module/pay/enums/transfer/PayTransferStatusEnum.java
| @@ -40,7 +40,7 @@ public enum PayTransferStatusEnum { | @@ -40,7 +40,7 @@ public enum PayTransferStatusEnum { | ||
| 40 | return Objects.equals(status, WAITING.getStatus()); | 40 | return Objects.equals(status, WAITING.getStatus()); |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | - public static boolean isProgressing(Integer status) { | 43 | + public static boolean isProcessing(Integer status) { |
| 44 | return Objects.equals(status, PROCESSING.getStatus()); | 44 | return Objects.equals(status, PROCESSING.getStatus()); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| @@ -51,7 +51,7 @@ public enum PayTransferStatusEnum { | @@ -51,7 +51,7 @@ public enum PayTransferStatusEnum { | ||
| 51 | * @return 是否 | 51 | * @return 是否 |
| 52 | */ | 52 | */ |
| 53 | public static boolean isWaitingOrProcessing(Integer status) { | 53 | public static boolean isWaitingOrProcessing(Integer status) { |
| 54 | - return isWaiting(status) || isProgressing(status); | 54 | + return isWaiting(status) || isProcessing(status); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | /** | 57 | /** |
yudao-module-pay/yudao-module-pay-biz/pom.xml
| @@ -32,11 +32,6 @@ | @@ -32,11 +32,6 @@ | ||
| 32 | <!-- 业务组件 --> | 32 | <!-- 业务组件 --> |
| 33 | <dependency> | 33 | <dependency> |
| 34 | <groupId>cn.iocoder.boot</groupId> | 34 | <groupId>cn.iocoder.boot</groupId> |
| 35 | - <artifactId>yudao-spring-boot-starter-biz-pay</artifactId> | ||
| 36 | - <version>${revision}</version> | ||
| 37 | - </dependency> | ||
| 38 | - <dependency> | ||
| 39 | - <groupId>cn.iocoder.boot</groupId> | ||
| 40 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> | 35 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
| 41 | </dependency> | 36 | </dependency> |
| 42 | 37 | ||
| @@ -75,6 +70,24 @@ | @@ -75,6 +70,24 @@ | ||
| 75 | <groupId>cn.iocoder.boot</groupId> | 70 | <groupId>cn.iocoder.boot</groupId> |
| 76 | <artifactId>yudao-spring-boot-starter-excel</artifactId> | 71 | <artifactId>yudao-spring-boot-starter-excel</artifactId> |
| 77 | </dependency> | 72 | </dependency> |
| 73 | + | ||
| 74 | + <!-- 三方云服务相关 --> | ||
| 75 | + <dependency> | ||
| 76 | + <groupId>com.alipay.sdk</groupId> | ||
| 77 | + <artifactId>alipay-sdk-java</artifactId> | ||
| 78 | + <version>4.35.79.ALL</version> | ||
| 79 | + <exclusions> | ||
| 80 | + <exclusion> | ||
| 81 | + <groupId>org.bouncycastle</groupId> | ||
| 82 | + <artifactId>bcprov-jdk15on</artifactId> | ||
| 83 | + </exclusion> | ||
| 84 | + </exclusions> | ||
| 85 | + </dependency> | ||
| 86 | + <dependency> | ||
| 87 | + <groupId>com.github.binarywang</groupId> | ||
| 88 | + <artifactId>weixin-java-pay</artifactId> | ||
| 89 | + </dependency> | ||
| 90 | + | ||
| 78 | </dependencies> | 91 | </dependencies> |
| 79 | 92 | ||
| 80 | </project> | 93 | </project> |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/api/transfer/PayTransferApiImpl.java
| 1 | package cn.iocoder.yudao.module.pay.api.transfer; | 1 | package cn.iocoder.yudao.module.pay.api.transfer; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 3 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.impl.weixin.WxPayClientConfig; | 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; |
| 5 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; | 5 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; |
| 6 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; | 6 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; |
| 7 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferRespDTO; | 7 | import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferRespDTO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/notify/PayNotifyController.java
| @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; | @@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.PayClient; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 9 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClient; |
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 9 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 11 | import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; | 11 | import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore; |
| 12 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskDetailRespVO; | 12 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskDetailRespVO; |
| 13 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskPageReqVO; | 13 | import cn.iocoder.yudao.module.pay.controller.admin.notify.vo.PayNotifyTaskPageReqVO; |
| @@ -156,7 +156,7 @@ public class PayNotifyController { | @@ -156,7 +156,7 @@ public class PayNotifyController { | ||
| 156 | } | 156 | } |
| 157 | // 拼接返回 | 157 | // 拼接返回 |
| 158 | Map<Long, PayAppDO> apps = appService.getAppMap(convertList(pageResult.getList(), PayNotifyTaskDO::getAppId)); | 158 | Map<Long, PayAppDO> apps = appService.getAppMap(convertList(pageResult.getList(), PayNotifyTaskDO::getAppId)); |
| 159 | - | 159 | + |
| 160 | // 转换对象 | 160 | // 转换对象 |
| 161 | return success(BeanUtils.toBean(pageResult, PayNotifyTaskRespVO.class, order -> { | 161 | return success(BeanUtils.toBean(pageResult, PayNotifyTaskRespVO.class, order -> { |
| 162 | PayAppDO app = apps.get(order.getAppId()); | 162 | PayAppDO app = apps.get(order.getAppId()); |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/order/PayOrderController.java
| @@ -6,15 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | @@ -6,15 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 7 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 8 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | 8 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 9 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 10 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; | 9 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; |
| 11 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; | 10 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; |
| 12 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 11 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 13 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; | 12 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; |
| 14 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; | 13 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderExtensionDO; |
| 15 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; | 14 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; |
| 15 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 16 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 16 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 17 | -import cn.iocoder.yudao.module.pay.framework.pay.core.WalletPayClient; | 17 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.wallet.WalletPayClient; |
| 18 | import cn.iocoder.yudao.module.pay.service.app.PayAppService; | 18 | import cn.iocoder.yudao.module.pay.service.app.PayAppService; |
| 19 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; | 19 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; |
| 20 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; | 20 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/controller/app/order/AppPayOrderController.java
| @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.pay.controller.app.order; | @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.pay.controller.app.order; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 6 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderRespVO; | 5 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderRespVO; |
| 7 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderSubmitRespVO; | 6 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.PayOrderSubmitRespVO; |
| 8 | import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitReqVO; | 7 | import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitReqVO; |
| @@ -10,8 +9,9 @@ import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitResp | @@ -10,8 +9,9 @@ import cn.iocoder.yudao.module.pay.controller.app.order.vo.AppPayOrderSubmitResp | ||
| 10 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; | 9 | import cn.iocoder.yudao.module.pay.convert.order.PayOrderConvert; |
| 11 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; | 10 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; |
| 12 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; | 11 | import cn.iocoder.yudao.module.pay.dal.dataobject.wallet.PayWalletDO; |
| 12 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 13 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 13 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 14 | -import cn.iocoder.yudao.module.pay.framework.pay.core.WalletPayClient; | 14 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.wallet.WalletPayClient; |
| 15 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; | 15 | import cn.iocoder.yudao.module.pay.service.order.PayOrderService; |
| 16 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; | 16 | import cn.iocoder.yudao.module.pay.service.wallet.PayWalletService; |
| 17 | import com.google.common.collect.Maps; | 17 | import com.google.common.collect.Maps; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/convert/order/PayOrderConvert.java
| @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.convert.order; | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.pay.convert.order; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 4 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 5 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; | 5 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; |
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; |
| 7 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; | 7 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderCreateReqDTO; |
| 8 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; | 8 | import cn.iocoder.yudao.module.pay.api.order.dto.PayOrderRespDTO; |
| 9 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; | 9 | import cn.iocoder.yudao.module.pay.controller.admin.order.vo.*; |
| @@ -67,7 +67,7 @@ public interface PayOrderConvert { | @@ -67,7 +67,7 @@ public interface PayOrderConvert { | ||
| 67 | PayOrderUnifiedReqDTO convert2(PayOrderSubmitReqVO reqVO, String userIp); | 67 | PayOrderUnifiedReqDTO convert2(PayOrderSubmitReqVO reqVO, String userIp); |
| 68 | 68 | ||
| 69 | @Mapping(source = "order.status", target = "status") | 69 | @Mapping(source = "order.status", target = "status") |
| 70 | - PayOrderSubmitRespVO convert(PayOrderDO order, cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO respDTO); | 70 | + PayOrderSubmitRespVO convert(PayOrderDO order, cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO respDTO); |
| 71 | 71 | ||
| 72 | AppPayOrderSubmitRespVO convert3(PayOrderSubmitRespVO bean); | 72 | AppPayOrderSubmitRespVO convert3(PayOrderSubmitRespVO bean); |
| 73 | 73 |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/channel/PayChannelDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.channel; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.channel; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.util.StrUtil; | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.PayClientConfig; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 5 | +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 6 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientConfig; | ||
| 6 | import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; | 8 | import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 9 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 10 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.NonePayClientConfig; | ||
| 11 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayAppPayClient; | ||
| 12 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.alipay.AlipayPayClientConfig; | ||
| 13 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; | ||
| 8 | import com.baomidou.mybatisplus.annotation.KeySequence; | 14 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | import com.baomidou.mybatisplus.annotation.TableField; | 15 | import com.baomidou.mybatisplus.annotation.TableField; |
| 10 | import com.baomidou.mybatisplus.annotation.TableName; | 16 | import com.baomidou.mybatisplus.annotation.TableName; |
| 17 | +import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler; | ||
| 11 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | 18 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 19 | +import com.fasterxml.jackson.core.type.TypeReference; | ||
| 12 | import lombok.*; | 20 | import lombok.*; |
| 13 | 21 | ||
| 22 | +import java.lang.reflect.Field; | ||
| 23 | + | ||
| 14 | /** | 24 | /** |
| 15 | * 支付渠道 DO | 25 | * 支付渠道 DO |
| 16 | * 一个应用下,会有多种支付渠道,例如说微信支付、支付宝支付等等 | 26 | * 一个应用下,会有多种支付渠道,例如说微信支付、支付宝支付等等 |
| @@ -63,7 +73,46 @@ public class PayChannelDO extends TenantBaseDO { | @@ -63,7 +73,46 @@ public class PayChannelDO extends TenantBaseDO { | ||
| 63 | /** | 73 | /** |
| 64 | * 支付渠道配置 | 74 | * 支付渠道配置 |
| 65 | */ | 75 | */ |
| 66 | - @TableField(typeHandler = JacksonTypeHandler.class) | 76 | + @TableField(typeHandler = PayClientConfigTypeHandler.class) |
| 67 | private PayClientConfig config; | 77 | private PayClientConfig config; |
| 68 | 78 | ||
| 79 | + public static class PayClientConfigTypeHandler extends AbstractJsonTypeHandler<Object> { | ||
| 80 | + | ||
| 81 | + public PayClientConfigTypeHandler(Class<?> type) { | ||
| 82 | + super(type); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + public PayClientConfigTypeHandler(Class<?> type, Field field) { | ||
| 86 | + super(type, field); | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + @Override | ||
| 90 | + public Object parse(String json) { | ||
| 91 | + PayClientConfig config = JsonUtils.parseObjectQuietly(json, new TypeReference<>() {}); | ||
| 92 | + if (config != null) { | ||
| 93 | + return config; | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + // 兼容老版本的包路径 | ||
| 97 | + String className = JsonUtils.parseObject(json, "@class", String.class); | ||
| 98 | + className = StrUtil.subAfter(className, ".", true); | ||
| 99 | + switch (className) { | ||
| 100 | + case "AlipayPayClientConfig": | ||
| 101 | + return JsonUtils.parseObject2(json, AlipayPayClientConfig.class); | ||
| 102 | + case "WxPayClientConfig": | ||
| 103 | + return JsonUtils.parseObject2(json, WxPayClientConfig.class); | ||
| 104 | + case "NonePayClientConfig": | ||
| 105 | + return JsonUtils.parseObject2(json, NonePayClientConfig.class); | ||
| 106 | + default: | ||
| 107 | + throw new IllegalArgumentException("未知的 PayClientConfig 类型:" + json); | ||
| 108 | + } | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + @Override | ||
| 112 | + public String toJson(Object obj) { | ||
| 113 | + return JsonUtils.toJsonString(obj); | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + } | ||
| 117 | + | ||
| 69 | } | 118 | } |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 5 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 4 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 5 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 6 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; | ||
| 7 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 7 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 8 | import com.baomidou.mybatisplus.annotation.KeySequence; | 8 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | import com.baomidou.mybatisplus.annotation.TableName; | 9 | import com.baomidou.mybatisplus.annotation.TableName; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/order/PayOrderExtensionDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; |
| 4 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 4 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 5 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; | 5 | import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 6 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/refund/PayRefundDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.refund; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.refund; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 4 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 8 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; | 8 | import cn.iocoder.yudao.module.pay.dal.dataobject.order.PayOrderDO; |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/dal/dataobject/transfer/PayTransferDO.java
| 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.transfer; | 1 | package cn.iocoder.yudao.module.pay.dal.dataobject.transfer; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferStatusRespEnum; | 4 | +import cn.iocoder.yudao.module.pay.enums.PayChannelEnum; |
| 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; | 5 | import cn.iocoder.yudao.module.pay.dal.dataobject.app.PayAppDO; |
| 7 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; | 6 | import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; |
| 7 | +import cn.iocoder.yudao.module.pay.enums.transfer.PayTransferStatusEnum; | ||
| 8 | import com.baomidou.mybatisplus.annotation.KeySequence; | 8 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 9 | import com.baomidou.mybatisplus.annotation.TableField; | 9 | import com.baomidou.mybatisplus.annotation.TableField; |
| 10 | import com.baomidou.mybatisplus.annotation.TableId; | 10 | import com.baomidou.mybatisplus.annotation.TableId; |
| @@ -89,7 +89,7 @@ public class PayTransferDO extends BaseDO { | @@ -89,7 +89,7 @@ public class PayTransferDO extends BaseDO { | ||
| 89 | /** | 89 | /** |
| 90 | * 转账状态 | 90 | * 转账状态 |
| 91 | * | 91 | * |
| 92 | - * 枚举 {@link PayTransferStatusRespEnum} | 92 | + * 枚举 {@link PayTransferStatusEnum} |
| 93 | */ | 93 | */ |
| 94 | private Integer status; | 94 | private Integer status; |
| 95 | 95 |
yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/config/PayConfiguration.java
| 1 | package cn.iocoder.yudao.module.pay.framework.pay.config; | 1 | package cn.iocoder.yudao.module.pay.framework.pay.config; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.PayClientFactory; | ||
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.PayClientFactoryImpl; | ||
| 3 | import org.springframework.boot.context.properties.EnableConfigurationProperties; | 5 | import org.springframework.boot.context.properties.EnableConfigurationProperties; |
| 6 | +import org.springframework.context.annotation.Bean; | ||
| 4 | import org.springframework.context.annotation.Configuration; | 7 | import org.springframework.context.annotation.Configuration; |
| 5 | 8 | ||
| 6 | @Configuration(proxyBeanMethods = false) | 9 | @Configuration(proxyBeanMethods = false) |
| 7 | @EnableConfigurationProperties(PayProperties.class) | 10 | @EnableConfigurationProperties(PayProperties.class) |
| 8 | public class PayConfiguration { | 11 | public class PayConfiguration { |
| 12 | + | ||
| 13 | + @Bean | ||
| 14 | + public PayClientFactory payClientFactory() { | ||
| 15 | + return new PayClientFactoryImpl(); | ||
| 16 | + } | ||
| 17 | + | ||
| 9 | } | 18 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/PayClient.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClient.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | -import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 7 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 8 | -import cn.iocoder.yudao.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client; |
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderRespDTO; | ||
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order.PayOrderUnifiedReqDTO; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundRespDTO; | ||
| 6 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO; | ||
| 7 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferRespDTO; | ||
| 8 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer.PayTransferUnifiedReqDTO; | ||
| 9 | 9 | ||
| 10 | import java.util.Map; | 10 | import java.util.Map; |
| 11 | 11 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/PayClientConfig.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClientConfig.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client; |
| 2 | 2 | ||
| 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; | 3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| 4 | import com.fasterxml.jackson.annotation.JsonTypeInfo; | 4 | import com.fasterxml.jackson.annotation.JsonTypeInfo; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/PayClientFactory.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/PayClientFactory.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client; | ||
| 2 | - | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.channel.PayChannelEnum; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client; |
| 4 | 2 | ||
| 5 | /** | 3 | /** |
| 6 | * 支付客户端的工厂接口 | 4 | * 支付客户端的工厂接口 |
| @@ -27,13 +25,4 @@ public interface PayClientFactory { | @@ -27,13 +25,4 @@ public interface PayClientFactory { | ||
| 27 | */ | 25 | */ |
| 28 | <Config extends PayClientConfig> PayClient createOrUpdatePayClient(Long channelId, String channelCode, | 26 | <Config extends PayClientConfig> PayClient createOrUpdatePayClient(Long channelId, String channelCode, |
| 29 | Config config); | 27 | Config config); |
| 30 | - | ||
| 31 | - /** | ||
| 32 | - * 注册支付客户端 Class,用于模块中实现的 PayClient | ||
| 33 | - * | ||
| 34 | - * @param channel 支付渠道的编码的枚举 | ||
| 35 | - * @param payClientClass 支付客户端 class | ||
| 36 | - */ | ||
| 37 | - void registerPayClientClass(PayChannelEnum channel, Class<?> payClientClass); | ||
| 38 | - | ||
| 39 | } | 28 | } |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/order/PayOrderRespDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/order/PayOrderRespDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.order; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | ||
| 5 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderStatusRespEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 5 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; | ||
| 6 | import lombok.Data; | 6 | import lombok.Data; |
| 7 | 7 | ||
| 8 | import java.time.LocalDateTime; | 8 | import java.time.LocalDateTime; |
| @@ -18,7 +18,7 @@ public class PayOrderRespDTO { | @@ -18,7 +18,7 @@ public class PayOrderRespDTO { | ||
| 18 | /** | 18 | /** |
| 19 | * 支付状态 | 19 | * 支付状态 |
| 20 | * | 20 | * |
| 21 | - * 枚举:{@link PayOrderStatusRespEnum} | 21 | + * 枚举:{@link PayOrderStatusEnum} |
| 22 | */ | 22 | */ |
| 23 | private Integer status; | 23 | private Integer status; |
| 24 | 24 | ||
| @@ -65,7 +65,7 @@ public class PayOrderRespDTO { | @@ -65,7 +65,7 @@ public class PayOrderRespDTO { | ||
| 65 | * 调用渠道的错误码 | 65 | * 调用渠道的错误码 |
| 66 | * | 66 | * |
| 67 | * 注意:这里返回的是业务异常,而是不系统异常。 | 67 | * 注意:这里返回的是业务异常,而是不系统异常。 |
| 68 | - * 如果是系统异常,则会抛出 {@link PayException} | 68 | + * 如果是系统异常,则会抛出 {@link PayClientException} |
| 69 | */ | 69 | */ |
| 70 | private String channelErrorCode; | 70 | private String channelErrorCode; |
| 71 | /** | 71 | /** |
| @@ -82,7 +82,7 @@ public class PayOrderRespDTO { | @@ -82,7 +82,7 @@ public class PayOrderRespDTO { | ||
| 82 | public static PayOrderRespDTO waitingOf(String displayMode, String displayContent, | 82 | public static PayOrderRespDTO waitingOf(String displayMode, String displayContent, |
| 83 | String outTradeNo, Object rawData) { | 83 | String outTradeNo, Object rawData) { |
| 84 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); | 84 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); |
| 85 | - respDTO.status = PayOrderStatusRespEnum.WAITING.getStatus(); | 85 | + respDTO.status = PayOrderStatusEnum.WAITING.getStatus(); |
| 86 | respDTO.displayMode = displayMode; | 86 | respDTO.displayMode = displayMode; |
| 87 | respDTO.displayContent = displayContent; | 87 | respDTO.displayContent = displayContent; |
| 88 | // 相对通用的字段 | 88 | // 相对通用的字段 |
| @@ -97,7 +97,7 @@ public class PayOrderRespDTO { | @@ -97,7 +97,7 @@ public class PayOrderRespDTO { | ||
| 97 | public static PayOrderRespDTO successOf(String channelOrderNo, String channelUserId, LocalDateTime successTime, | 97 | public static PayOrderRespDTO successOf(String channelOrderNo, String channelUserId, LocalDateTime successTime, |
| 98 | String outTradeNo, Object rawData) { | 98 | String outTradeNo, Object rawData) { |
| 99 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); | 99 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); |
| 100 | - respDTO.status = PayOrderStatusRespEnum.SUCCESS.getStatus(); | 100 | + respDTO.status = PayOrderStatusEnum.SUCCESS.getStatus(); |
| 101 | respDTO.channelOrderNo = channelOrderNo; | 101 | respDTO.channelOrderNo = channelOrderNo; |
| 102 | respDTO.channelUserId = channelUserId; | 102 | respDTO.channelUserId = channelUserId; |
| 103 | respDTO.successTime = successTime; | 103 | respDTO.successTime = successTime; |
| @@ -129,7 +129,7 @@ public class PayOrderRespDTO { | @@ -129,7 +129,7 @@ public class PayOrderRespDTO { | ||
| 129 | public static PayOrderRespDTO closedOf(String channelErrorCode, String channelErrorMsg, | 129 | public static PayOrderRespDTO closedOf(String channelErrorCode, String channelErrorMsg, |
| 130 | String outTradeNo, Object rawData) { | 130 | String outTradeNo, Object rawData) { |
| 131 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); | 131 | PayOrderRespDTO respDTO = new PayOrderRespDTO(); |
| 132 | - respDTO.status = PayOrderStatusRespEnum.CLOSED.getStatus(); | 132 | + respDTO.status = PayOrderStatusEnum.CLOSED.getStatus(); |
| 133 | respDTO.channelErrorCode = channelErrorCode; | 133 | respDTO.channelErrorCode = channelErrorCode; |
| 134 | respDTO.channelErrorMsg = channelErrorMsg; | 134 | respDTO.channelErrorMsg = channelErrorMsg; |
| 135 | // 相对通用的字段 | 135 | // 相对通用的字段 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/order/PayOrderUnifiedReqDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.order; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.order.PayOrderDisplayModeEnum; | 3 | +import cn.iocoder.yudao.module.pay.framework.pay.core.enums.PayOrderDisplayModeEnum; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | import org.hibernate.validator.constraints.Length; | 5 | import org.hibernate.validator.constraints.Length; |
| 6 | import org.hibernate.validator.constraints.URL; | 6 | import org.hibernate.validator.constraints.URL; |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/refund/PayRefundRespDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/refund/PayRefundRespDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.refund; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.refund; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.client.exception.PayException; | ||
| 4 | -import cn.iocoder.yudao.framework.pay.core.enums.refund.PayRefundStatusRespEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum; |
| 4 | +import cn.iocoder.yudao.module.pay.framework.pay.core.client.exception.PayClientException; | ||
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| 7 | import java.time.LocalDateTime; | 7 | import java.time.LocalDateTime; |
| @@ -17,7 +17,7 @@ public class PayRefundRespDTO { | @@ -17,7 +17,7 @@ public class PayRefundRespDTO { | ||
| 17 | /** | 17 | /** |
| 18 | * 退款状态 | 18 | * 退款状态 |
| 19 | * | 19 | * |
| 20 | - * 枚举 {@link PayRefundStatusRespEnum} | 20 | + * 枚举 {@link PayRefundStatusEnum} |
| 21 | */ | 21 | */ |
| 22 | private Integer status; | 22 | private Integer status; |
| 23 | 23 | ||
| @@ -49,7 +49,7 @@ public class PayRefundRespDTO { | @@ -49,7 +49,7 @@ public class PayRefundRespDTO { | ||
| 49 | * 调用渠道的错误码 | 49 | * 调用渠道的错误码 |
| 50 | * | 50 | * |
| 51 | * 注意:这里返回的是业务异常,而是不系统异常。 | 51 | * 注意:这里返回的是业务异常,而是不系统异常。 |
| 52 | - * 如果是系统异常,则会抛出 {@link PayException} | 52 | + * 如果是系统异常,则会抛出 {@link PayClientException} |
| 53 | */ | 53 | */ |
| 54 | private String channelErrorCode; | 54 | private String channelErrorCode; |
| 55 | /** | 55 | /** |
| @@ -66,7 +66,7 @@ public class PayRefundRespDTO { | @@ -66,7 +66,7 @@ public class PayRefundRespDTO { | ||
| 66 | public static PayRefundRespDTO waitingOf(String channelRefundNo, | 66 | public static PayRefundRespDTO waitingOf(String channelRefundNo, |
| 67 | String outRefundNo, Object rawData) { | 67 | String outRefundNo, Object rawData) { |
| 68 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); | 68 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); |
| 69 | - respDTO.status = PayRefundStatusRespEnum.WAITING.getStatus(); | 69 | + respDTO.status = PayRefundStatusEnum.WAITING.getStatus(); |
| 70 | respDTO.channelRefundNo = channelRefundNo; | 70 | respDTO.channelRefundNo = channelRefundNo; |
| 71 | // 相对通用的字段 | 71 | // 相对通用的字段 |
| 72 | respDTO.outRefundNo = outRefundNo; | 72 | respDTO.outRefundNo = outRefundNo; |
| @@ -80,7 +80,7 @@ public class PayRefundRespDTO { | @@ -80,7 +80,7 @@ public class PayRefundRespDTO { | ||
| 80 | public static PayRefundRespDTO successOf(String channelRefundNo, LocalDateTime successTime, | 80 | public static PayRefundRespDTO successOf(String channelRefundNo, LocalDateTime successTime, |
| 81 | String outRefundNo, Object rawData) { | 81 | String outRefundNo, Object rawData) { |
| 82 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); | 82 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); |
| 83 | - respDTO.status = PayRefundStatusRespEnum.SUCCESS.getStatus(); | 83 | + respDTO.status = PayRefundStatusEnum.SUCCESS.getStatus(); |
| 84 | respDTO.channelRefundNo = channelRefundNo; | 84 | respDTO.channelRefundNo = channelRefundNo; |
| 85 | respDTO.successTime = successTime; | 85 | respDTO.successTime = successTime; |
| 86 | // 相对通用的字段 | 86 | // 相对通用的字段 |
| @@ -103,7 +103,7 @@ public class PayRefundRespDTO { | @@ -103,7 +103,7 @@ public class PayRefundRespDTO { | ||
| 103 | public static PayRefundRespDTO failureOf(String channelErrorCode, String channelErrorMsg, | 103 | public static PayRefundRespDTO failureOf(String channelErrorCode, String channelErrorMsg, |
| 104 | String outRefundNo, Object rawData) { | 104 | String outRefundNo, Object rawData) { |
| 105 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); | 105 | PayRefundRespDTO respDTO = new PayRefundRespDTO(); |
| 106 | - respDTO.status = PayRefundStatusRespEnum.FAILURE.getStatus(); | 106 | + respDTO.status = PayRefundStatusEnum.FAILURE.getStatus(); |
| 107 | respDTO.channelErrorCode = channelErrorCode; | 107 | respDTO.channelErrorCode = channelErrorCode; |
| 108 | respDTO.channelErrorMsg = channelErrorMsg; | 108 | respDTO.channelErrorMsg = channelErrorMsg; |
| 109 | // 相对通用的字段 | 109 | // 相对通用的字段 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/refund/PayRefundUnifiedReqDTO.java
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/transfer/PayTransferRespDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/transfer/PayTransferRespDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.transfer; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.pay.core.enums.transfer.PayTransferStatusRespEnum; | 3 | +import cn.iocoder.yudao.module.pay.enums.transfer.PayTransferStatusEnum; |
| 4 | import lombok.Data; | 4 | import lombok.Data; |
| 5 | 5 | ||
| 6 | import java.time.LocalDateTime; | 6 | import java.time.LocalDateTime; |
| @@ -16,7 +16,7 @@ public class PayTransferRespDTO { | @@ -16,7 +16,7 @@ public class PayTransferRespDTO { | ||
| 16 | /** | 16 | /** |
| 17 | * 转账状态 | 17 | * 转账状态 |
| 18 | * | 18 | * |
| 19 | - * 关联 {@link PayTransferStatusRespEnum#getStatus()} | 19 | + * 关联 {@link PayTransferStatusEnum} |
| 20 | */ | 20 | */ |
| 21 | private Integer status; | 21 | private Integer status; |
| 22 | 22 | ||
| @@ -63,7 +63,7 @@ public class PayTransferRespDTO { | @@ -63,7 +63,7 @@ public class PayTransferRespDTO { | ||
| 63 | public static PayTransferRespDTO waitingOf(String channelTransferNo, | 63 | public static PayTransferRespDTO waitingOf(String channelTransferNo, |
| 64 | String outTransferNo, Object rawData) { | 64 | String outTransferNo, Object rawData) { |
| 65 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 65 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 66 | - respDTO.status = PayTransferStatusRespEnum.WAITING.getStatus(); | 66 | + respDTO.status = PayTransferStatusEnum.WAITING.getStatus(); |
| 67 | respDTO.channelTransferNo = channelTransferNo; | 67 | respDTO.channelTransferNo = channelTransferNo; |
| 68 | respDTO.outTransferNo = outTransferNo; | 68 | respDTO.outTransferNo = outTransferNo; |
| 69 | respDTO.rawData = rawData; | 69 | respDTO.rawData = rawData; |
| @@ -76,7 +76,7 @@ public class PayTransferRespDTO { | @@ -76,7 +76,7 @@ public class PayTransferRespDTO { | ||
| 76 | public static PayTransferRespDTO processingOf(String channelTransferNo, | 76 | public static PayTransferRespDTO processingOf(String channelTransferNo, |
| 77 | String outTransferNo, Object rawData) { | 77 | String outTransferNo, Object rawData) { |
| 78 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 78 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 79 | - respDTO.status = PayTransferStatusRespEnum.PROCESSING.getStatus(); | 79 | + respDTO.status = PayTransferStatusEnum.PROCESSING.getStatus(); |
| 80 | respDTO.channelTransferNo = channelTransferNo; | 80 | respDTO.channelTransferNo = channelTransferNo; |
| 81 | respDTO.outTransferNo = outTransferNo; | 81 | respDTO.outTransferNo = outTransferNo; |
| 82 | respDTO.rawData = rawData; | 82 | respDTO.rawData = rawData; |
| @@ -89,7 +89,7 @@ public class PayTransferRespDTO { | @@ -89,7 +89,7 @@ public class PayTransferRespDTO { | ||
| 89 | public static PayTransferRespDTO closedOf(String channelErrorCode, String channelErrorMsg, | 89 | public static PayTransferRespDTO closedOf(String channelErrorCode, String channelErrorMsg, |
| 90 | String outTransferNo, Object rawData) { | 90 | String outTransferNo, Object rawData) { |
| 91 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 91 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 92 | - respDTO.status = PayTransferStatusRespEnum.CLOSED.getStatus(); | 92 | + respDTO.status = PayTransferStatusEnum.CLOSED.getStatus(); |
| 93 | respDTO.channelErrorCode = channelErrorCode; | 93 | respDTO.channelErrorCode = channelErrorCode; |
| 94 | respDTO.channelErrorMsg = channelErrorMsg; | 94 | respDTO.channelErrorMsg = channelErrorMsg; |
| 95 | // 相对通用的字段 | 95 | // 相对通用的字段 |
| @@ -104,7 +104,7 @@ public class PayTransferRespDTO { | @@ -104,7 +104,7 @@ public class PayTransferRespDTO { | ||
| 104 | public static PayTransferRespDTO successOf(String channelTransferNo, LocalDateTime successTime, | 104 | public static PayTransferRespDTO successOf(String channelTransferNo, LocalDateTime successTime, |
| 105 | String outTransferNo, Object rawData) { | 105 | String outTransferNo, Object rawData) { |
| 106 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); | 106 | PayTransferRespDTO respDTO = new PayTransferRespDTO(); |
| 107 | - respDTO.status = PayTransferStatusRespEnum.SUCCESS.getStatus(); | 107 | + respDTO.status = PayTransferStatusEnum.SUCCESS.getStatus(); |
| 108 | respDTO.channelTransferNo = channelTransferNo; | 108 | respDTO.channelTransferNo = channelTransferNo; |
| 109 | respDTO.successTime = successTime; | 109 | respDTO.successTime = successTime; |
| 110 | // 相对通用的字段 | 110 | // 相对通用的字段 |
yudao-module-pay/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java renamed to yudao-module-pay/yudao-module-pay-biz/src/main/java/cn/iocoder/yudao/module/pay/framework/pay/core/client/dto/transfer/PayTransferUnifiedReqDTO.java
| 1 | -package cn.iocoder.yudao.framework.pay.core.client.dto.transfer; | 1 | +package cn.iocoder.yudao.module.pay.framework.pay.core.client.dto.transfer; |
| 2 | 2 | ||
| 3 | import jakarta.validation.constraints.Min; | 3 | import jakarta.validation.constraints.Min; |
| 4 | import jakarta.validation.constraints.NotEmpty; | 4 | import jakarta.validation.constraints.NotEmpty; |