From d2755f00bc2a6507f122f79d54ee009e2cdd26b3 Mon Sep 17 00:00:00 2001 From: ageerle <ageerle@163.com> Date: 星期二, 08 四月 2025 16:48:06 +0800 Subject: [PATCH] feat: 测试版本提交 --- ruoyi-modules-api/ruoyi-device-api/pom.xml | 21 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java | 1 ruoyi-modules-api/ruoyi-system-api/pom.xml | 20 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatMessageMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/PayController.java | 664 +++++++++++----------- ruoyi-modules-api/ruoyi-knowledge-api/pom.xml | 20 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java | 5 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java | 1 ruoyi-modules-api/pom.xml | 61 ++ ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java | 8 ruoyi-modules/ruoyi-system/src/main/resources/logback-plus.xml | 0 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIApplication.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java | 8 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java | 6 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatConfigController.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatPluginMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatMessageController.java | 3 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java | 17 ruoyi-modules/ruoyi-system/src/main/resources/application.yml | 0 ruoyi-modules/ruoyi-system/src/main/resources/spy.properties | 0 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatConfigMapper.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java | 8 ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_en_US.properties | 0 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/AuthController.java | 16 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/CaptchaController.java | 13 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/KnowledgeController.java | 184 ++++++ ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_zh_CN.properties | 0 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java | 4 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java | 16 ruoyi-modules/ruoyi-system/src/main/resources/ip2region.xdb | 0 ruoyi-modules-api/ruoyi-weixin-api/pom.xml | 21 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java | 6 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java | 16 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatGptsMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIServletInitializer.java | 2 ruoyi-modules/ruoyi-system/src/main/resources/banner.txt | 0 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java | 5 pom.xml | 8 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java | 16 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java | 16 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatPluginController.java | 3 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java | 7 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatTokenMapper.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java | 1 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/VoiceController.java | 1 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/IndexController.java | 2 ruoyi-modules-api/ruoyi-chat-api/pom.xml | 22 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java | 4 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java | 6 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java | 16 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java | 16 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/PptServiceImpl.java | 4 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java | 14 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java | 5 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVisitorUsageController.java | 3 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatStoreController.java | 4 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CaptchaVo.java | 25 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVisitorUsageMapper.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/WeChatController.java | 162 ++-- ruoyi-modules/ruoyi-system/pom.xml | 4 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/handler/wxcp/MsgHandler.java | 6 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/SSEEventSourceListener.java | 3 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java | 6 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/CoverServiceImpl.java | 1 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVoucherMapper.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java | 1 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java | 6 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java | 6 ruoyi-modules/ruoyi-system/src/main/resources/application-prod.yml | 0 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java | 5 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java | 23 ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatConfigMapper.xml | 2 ruoyi-modules/ruoyi-device/pom.xml | 21 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java | 7 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVoucherController.java | 3 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java | 9 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatCostService.java | 4 ruoyi-modules/ruoyi-weixin/pom.xml | 21 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java | 9 ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages.properties | 0 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java | 2 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatAppStoreMapper.java | 2 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java | 47 + /dev/null | 7 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java | 6 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java | 4 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java | 16 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatGptsController.java | 3 97 files changed, 1,154 insertions(+), 587 deletions(-) diff --git a/pom.xml b/pom.xml index d8f6728..d8d596c 100644 --- a/pom.xml +++ b/pom.xml @@ -344,10 +344,16 @@ </dependencyManagement> <modules> - <module>ruoyi-admin</module> <module>ruoyi-common</module> <module>ruoyi-modules</module> + <module>ruoyi-modules-api</module> + <module>ruoyi-modules-api</module> + <module>ruoyi-modules-api/ruoyi-device-api</module> + <module>ruoyi-modules-api/ruoyi-weixin-api</module> + <module>ruoyi-modules/ruoyi-weixin</module> + <module>ruoyi-modules/ruoyi-device</module> </modules> + <packaging>pom</packaging> <build> diff --git a/ruoyi-admin/Dockerfile b/ruoyi-admin/Dockerfile deleted file mode 100644 index bf14c4e..0000000 --- a/ruoyi-admin/Dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -#鍩虹闀滃儚 -FROM findepi/graalvm:java17-native - -# 璁剧疆鐜鍙橀噺 -ENV LANG C.UTF-8 -ENV LANGUAGE C.UTF-8 -ENV LC_ALL C.UTF-8 -ENV SERVER_PORT=6039 - -MAINTAINER ageerle - -RUN mkdir -p /ruoyi/server/logs \ - /ruoyi/server/temp \ - /ruoyi/skywalking/agent - - -#宸ヤ綔绌洪棿 -WORKDIR /ruoyi/server - - - -EXPOSE ${SERVER_PORT} - -ADD ./target/ruoyi-admin.jar ./app.jar - - -ENTRYPOINT ["java", \ - "-Djava.security.egd=file:/dev/./urandom", \ - "-Dserver.port=${SERVER_PORT}", \ - # 搴旂敤鍚嶇О 濡傛灉鎯冲尯鍒嗛泦缇よ妭鐐圭洃鎺� 鏀规垚涓嶅悓鐨勫悕绉板嵆鍙� -# "-Dskywalking.agent.service_name=ruoyi-server", \ -# "-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar", \ - "-jar", "app.jar"] - - diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml deleted file mode 100644 index 5ad40cd..0000000 --- a/ruoyi-admin/pom.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <parent> - <artifactId>ruoyi-ai</artifactId> - <groupId>org.ruoyi</groupId> - <version>${revision}</version> - <relativePath>../pom.xml</relativePath> - </parent> - <modelVersion>4.0.0</modelVersion> - <packaging>jar</packaging> - <artifactId>ruoyi-admin</artifactId> - - <description> - web鏈嶅姟鍏ュ彛 - </description> - - <dependencies> - - <!-- Mysql椹卞姩鍖� --> - <dependency> - <groupId>com.mysql</groupId> - <artifactId>mysql-connector-j</artifactId> - </dependency> - - <!-- Oracle --> - <dependency> - <groupId>com.oracle.database.jdbc</groupId> - <artifactId>ojdbc8</artifactId> - </dependency> - - <!-- PostgreSql --> - <dependency> - <groupId>org.postgresql</groupId> - <artifactId>postgresql</artifactId> - </dependency> - - <!-- SqlServer --> - <dependency> - <groupId>com.microsoft.sqlserver</groupId> - <artifactId>mssql-jdbc</artifactId> - </dependency> - - <dependency> - <groupId>org.ruoyi</groupId> - <artifactId>ruoyi-common-doc</artifactId> - </dependency> - - <dependency> - <groupId>org.ruoyi</groupId> - <artifactId>ruoyi-system</artifactId> - </dependency> - - <dependency> - <groupId>org.ruoyi</groupId> - <artifactId>ruoyi-chat</artifactId> - </dependency> - - <dependency> - <groupId>org.ruoyi</groupId> - <artifactId>ruoyi-knowledge</artifactId> - </dependency> - - <dependency> - <groupId>org.ruoyi</groupId> - <artifactId>ruoyi-generator</artifactId> - </dependency> - - <!-- demo妯″潡 --> - <dependency> - <groupId>org.ruoyi</groupId> - <artifactId>ruoyi-demo</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-test</artifactId> - <scope>test</scope> - </dependency> - - <!-- 娣诲姞thumbnailator渚濊禆 --> - <dependency> - <groupId>net.coobird</groupId> - <artifactId>thumbnailator</artifactId> - <version>0.4.11</version> - </dependency> - <dependency> - <groupId>io.github.ollama4j</groupId> - <artifactId>ollama4j</artifactId> - <version>1.0.79</version> - <scope>compile</scope> - </dependency> - - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <version>${spring-boot.version}</version> - <executions> - <execution> - <goals> - <goal>repackage</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <version>${maven-jar-plugin.version}</version> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-war-plugin</artifactId> - <version>${maven-war-plugin.version}</version> - <configuration> - <failOnMissingWebXml>false</failOnMissingWebXml> - <warName>${project.artifactId}</warName> - </configuration> - </plugin> - </plugins> - </build> - -</project> diff --git a/ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java b/ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java deleted file mode 100644 index e399e88..0000000 --- a/ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java +++ /dev/null @@ -1,184 +0,0 @@ -package org.ruoyi.controller; - -import cn.dev33.satoken.stp.StpUtil; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; -import lombok.RequiredArgsConstructor; -import org.ruoyi.common.chat.domain.request.ChatRequest; -import org.ruoyi.common.chat.entity.chat.Message; -import org.ruoyi.common.core.domain.R; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.excel.utils.ExcelUtil; -import org.ruoyi.common.log.annotation.Log; -import org.ruoyi.common.log.enums.BusinessType; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.common.satoken.utils.LoginHelper; -import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.knowledge.chain.vectorstore.VectorStore; -import org.ruoyi.knowledge.domain.bo.KnowledgeAttachBo; -import org.ruoyi.knowledge.domain.bo.KnowledgeFragmentBo; -import org.ruoyi.knowledge.domain.bo.KnowledgeInfoBo; -import org.ruoyi.knowledge.domain.req.KnowledgeInfoUploadRequest; -import org.ruoyi.knowledge.domain.vo.KnowledgeAttachVo; -import org.ruoyi.knowledge.domain.vo.KnowledgeFragmentVo; -import org.ruoyi.knowledge.domain.vo.KnowledgeInfoVo; -import org.ruoyi.knowledge.service.EmbeddingService; -import org.ruoyi.knowledge.service.IKnowledgeAttachService; -import org.ruoyi.knowledge.service.IKnowledgeFragmentService; -import org.ruoyi.knowledge.service.IKnowledgeInfoService; -import org.ruoyi.system.service.ISseService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; - -import java.util.List; - - -/** - * 鐭ヨ瘑搴� - * - * @author Lion Li - * @date 2024-10-21 - */ -@Validated -@RequiredArgsConstructor -@RestController -@RequestMapping("/knowledge") -public class KnowledgeController extends BaseController { - - private final IKnowledgeInfoService knowledgeInfoService; - - private final VectorStore vectorStore; - - private final IKnowledgeAttachService attachService; - - private final IKnowledgeFragmentService fragmentService; - - private final EmbeddingService embeddingService; - - private final ISseService sseService; - - /** - * 鐭ヨ瘑搴撳璇� - */ - @PostMapping("/send") - public SseEmitter send(@RequestBody @Valid ChatRequest chatRequest, HttpServletRequest request) { - List<Message> messages = chatRequest.getMessages(); - // 鑾峰彇鐭ヨ瘑搴撲俊鎭� - Message message = messages.get(messages.size() - 1); - StringBuilder sb = new StringBuilder(message.getContent().toString()); - List<String> nearestList; - List<Double> queryVector = embeddingService.getQueryVector(message.getContent().toString(), chatRequest.getKid()); - nearestList = vectorStore.nearest(queryVector, chatRequest.getKid()); - for (String prompt : nearestList) { - sb.append("\n####").append(prompt); - } - sb.append( (nearestList.size() > 0 ? "\n\n娉ㄦ剰锛氬洖绛旈棶棰樻椂锛岄』涓ユ牸鏍规嵁鎴戠粰浣犵殑绯荤粺涓婁笅鏂囧唴瀹瑰師鏂囪繘琛屽洖绛旓紝璇蜂笉瑕佽嚜宸卞彂鎸�,鍥炵瓟鏃朵繚鎸佸師鏉ユ枃鏈殑娈佃惤灞傜骇" : "")); - message.setContent(sb.toString()); - return sseService.sseChat(chatRequest, request); - } - - /** - * 鏍规嵁鐢ㄦ埛淇℃伅鏌ヨ鏈湴鐭ヨ瘑搴� - */ - @GetMapping("/list") - public TableDataInfo<KnowledgeInfoVo> list(KnowledgeInfoBo bo, PageQuery pageQuery) { - if(!StpUtil.isLogin()){ - return null; - } - bo.setUid(LoginHelper.getUserId()); - return knowledgeInfoService.queryPageList(bo, pageQuery); - } - - /** - * 鏂板鐭ヨ瘑搴� - */ - @Log(title = "鐭ヨ瘑搴�", businessType = BusinessType.INSERT) - @PostMapping("/save") - public R<Void> save(@Validated(AddGroup.class) @RequestBody KnowledgeInfoBo bo) { - knowledgeInfoService.saveOne(bo); - return R.ok(); - } - - /** - * 鍒犻櫎鐭ヨ瘑搴� - */ - @PostMapping("/remove/{id}") - public R<String> remove(@PathVariable String id){ - knowledgeInfoService.removeKnowledge(id); - return R.ok("鍒犻櫎鐭ヨ瘑搴撴垚鍔�!"); - } - - /** - * 淇敼鐭ヨ瘑搴� - */ - @Log(title = "鐭ヨ瘑搴�", businessType = BusinessType.UPDATE) - @PostMapping("/edit") - public R<Void> edit( @RequestBody KnowledgeInfoBo bo) { - return toAjax(knowledgeInfoService.updateByBo(bo)); - } - - /** - * 瀵煎嚭鐭ヨ瘑搴撳垪琛� - */ - @Log(title = "鐭ヨ瘑搴�", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(KnowledgeInfoBo bo, HttpServletResponse response) { - List<KnowledgeInfoVo> list = knowledgeInfoService.queryList(bo); - ExcelUtil.exportExcel(list, "鐭ヨ瘑搴�", KnowledgeInfoVo.class, response); - } - - /** - * 鏌ヨ鐭ヨ瘑闄勪欢淇℃伅 - */ - @GetMapping("/detail/{kid}") - public TableDataInfo<KnowledgeAttachVo> attach(KnowledgeAttachBo bo, PageQuery pageQuery,@PathVariable String kid){ - bo.setKid(kid); - return attachService.queryPageList(bo, pageQuery); - } - - /** - * 涓婁紶鐭ヨ瘑搴撻檮浠� - */ - @PostMapping(value = "/attach/upload") - public R<String> upload(KnowledgeInfoUploadRequest request){ - knowledgeInfoService.upload(request); - return R.ok("涓婁紶鐭ヨ瘑搴撻檮浠舵垚鍔�!"); - } - - /** - * 鑾峰彇鐭ヨ瘑搴撻檮浠惰缁嗕俊鎭� - * - * @param id 涓婚敭 - */ - @GetMapping("attach/info/{id}") - public R<KnowledgeAttachVo> getAttachInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long id) { - return R.ok(attachService.queryById(id)); - } - - /** - * 鍒犻櫎鐭ヨ瘑搴撻檮浠� - * - */ - @PostMapping("attach/remove/{docId}") - public R<Void> removeAttach(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") @PathVariable String docId) { - attachService.removeKnowledgeAttach(docId); - return R.ok(); - } - - - /** - * 鏌ヨ鐭ヨ瘑鐗囨 - */ - @GetMapping("/fragment/list/{docId}") - public TableDataInfo<KnowledgeFragmentVo> fragmentList(KnowledgeFragmentBo bo, PageQuery pageQuery, @PathVariable String docId) { - bo.setDocId(docId); - return fragmentService.queryPageList(bo, pageQuery); - } - -} diff --git a/ruoyi-modules-api/pom.xml b/ruoyi-modules-api/pom.xml new file mode 100644 index 0000000..5acc710 --- /dev/null +++ b/ruoyi-modules-api/pom.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-ai</artifactId> + <version>1.0.0</version> + </parent> + + <artifactId>ruoyi-modules-api</artifactId> + <packaging>pom</packaging> + <modules> + <module>ruoyi-system-api</module> + <module>ruoyi-chat-api</module> + <module>ruoyi-knowledge-api</module> + </modules> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <dependencies> + + <!-- 绯荤粺鏍稿績妯″潡 --> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-core</artifactId> + </dependency> + + + <!-- mybaits鍩虹妯″潡 --> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-mybatis</artifactId> + </dependency> + + + <!-- 鑴辨晱妯″潡 --> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-sensitive</artifactId> + </dependency> + + + <!-- excel妯″潡--> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-excel</artifactId> + </dependency> + + + </dependencies> + + + + +</project> diff --git a/ruoyi-modules-api/ruoyi-chat-api/pom.xml b/ruoyi-modules-api/ruoyi-chat-api/pom.xml new file mode 100644 index 0000000..fde7a46 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/pom.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-modules-api</artifactId> + <version>1.0.0</version> + </parent> + + <artifactId>ruoyi-chat-api</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + + +</project> diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatAppStore.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java similarity index 95% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatAppStore.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java index b98cbea..298984c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatAppStore.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java @@ -1,10 +1,10 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import org.ruoyi.common.mybatis.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import org.ruoyi.common.mybatis.core.domain.BaseEntity; import java.io.Serial; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatConfig.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java similarity index 89% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatConfig.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java index a38b2f0..385bd2d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatConfig.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java @@ -1,13 +1,13 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; +import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.sensitive.annotation.Sensitive; import org.ruoyi.common.sensitive.core.SensitiveStrategy; -import org.ruoyi.common.tenant.core.TenantEntity; import java.io.Serial; @@ -20,7 +20,7 @@ @Data @EqualsAndHashCode(callSuper = true) @TableName("chat_config") -public class ChatConfig extends TenantEntity { +public class ChatConfig extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatGpts.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java similarity index 97% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatGpts.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java index 8734eaa..675d769 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatGpts.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatMessage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java similarity index 97% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatMessage.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java index b60a087..7ef7886 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatMessage.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableName; import jakarta.validation.constraints.NotBlank; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatPlugin.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java similarity index 83% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatPlugin.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java index 768c667..d2c8843 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatPlugin.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java @@ -1,6 +1,7 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.common.mybatis.core.domain.BaseEntity; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatToken.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java similarity index 96% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatToken.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java index 865762f..e1d04ea 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatToken.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java @@ -1,11 +1,11 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableName; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.core.validate.EditGroup; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java similarity index 97% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java index 3b20381..3883ca9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVoucher.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java similarity index 87% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVoucher.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java index ec4b631..047a108 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVoucher.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java @@ -1,12 +1,13 @@ -package org.ruoyi.system.domain; +package org.ruoyi.domain; -import com.baomidou.mybatisplus.annotation.*; -import org.ruoyi.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.math.BigDecimal; +import org.ruoyi.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.math.BigDecimal; /** * 鐢ㄦ埛鍏戞崲璁板綍瀵硅薄 chat_voucher diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatAppStoreBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java similarity index 93% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatAppStoreBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java index 5af1096..b4c0490 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatAppStoreBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java @@ -1,12 +1,13 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; -import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.system.domain.ChatAppStore; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; +import org.ruoyi.common.mybatis.core.domain.BaseEntity; +import org.ruoyi.domain.ChatAppStore; + /** * 搴旂敤甯傚満涓氬姟瀵硅薄 voice_role diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatConfigBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java similarity index 95% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatConfigBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java index fbada8b..bf2d7bb 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatConfigBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; @@ -10,7 +10,8 @@ import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.sensitive.annotation.Sensitive; import org.ruoyi.common.sensitive.core.SensitiveStrategy; -import org.ruoyi.system.domain.ChatConfig; +import org.ruoyi.domain.ChatConfig; + /** * 瀵硅瘽閰嶇疆淇℃伅 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatGptsBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java similarity index 95% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatGptsBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java index dd08528..2761467 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatGptsBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; @@ -8,7 +8,7 @@ import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.system.domain.ChatGpts; +import org.ruoyi.domain.ChatGpts; /** * gpts绠$悊涓氬姟瀵硅薄 chat_gpts diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatMessageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java similarity index 94% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatMessageBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java index 4610ab8..e66dc71 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatMessageBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; @@ -8,7 +8,8 @@ import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.system.domain.ChatMessage; +import org.ruoyi.domain.ChatMessage; + /** * 鑱婂ぉ娑堟伅涓氬姟瀵硅薄 chat_message diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatPluginBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java similarity index 87% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatPluginBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java index 141215e..1e20837 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatPluginBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java @@ -1,13 +1,15 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.core.validate.EditGroup; -import org.ruoyi.system.domain.ChatPlugin; -import org.ruoyi.common.mybatis.core.domain.BaseEntity; import io.github.linpeilie.annotations.AutoMapper; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.mybatis.core.domain.BaseEntity; +import org.ruoyi.domain.ChatPlugin; + /** * 鎻掍欢绠$悊涓氬姟瀵硅薄 chat_plugin diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVisitorUsageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java similarity index 94% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVisitorUsageBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java index 6518350..1755d2f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVisitorUsageBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotBlank; @@ -8,7 +8,8 @@ import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.system.domain.ChatVisitorUsage; +import org.ruoyi.domain.ChatVisitorUsage; + /** * 璁垮绠$悊涓氬姟瀵硅薄 chat_visitor_usage diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVoucherBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java similarity index 93% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVoucherBo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java index 98ff3c7..60983b7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/bo/ChatVoucherBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.bo; +package org.ruoyi.domain.bo; import io.github.linpeilie.annotations.AutoMapper; import jakarta.validation.constraints.NotNull; @@ -7,7 +7,8 @@ import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.system.domain.ChatVoucher; +import org.ruoyi.domain.ChatVoucher; + import java.math.BigDecimal; diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java new file mode 100644 index 0000000..b865940 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CacheListInfoVo.java @@ -0,0 +1,23 @@ +package org.ruoyi.domain.vo; + +import lombok.Data; + +import java.util.List; +import java.util.Map; +import java.util.Properties; + +/** + * 缂撳瓨鐩戞帶鍒楄〃淇℃伅 + * + * @author Michelle.Chung + */ +@Data +public class CacheListInfoVo { + + private Properties info; + + private Long dbSize; + + private List<Map<String, String>> commandStats; + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CaptchaVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CaptchaVo.java new file mode 100644 index 0000000..492d242 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/CaptchaVo.java @@ -0,0 +1,25 @@ +package org.ruoyi.domain.vo; + +import lombok.Data; + +/** + * 楠岃瘉鐮佷俊鎭� + * + * @author Michelle.Chung + */ +@Data +public class CaptchaVo { + + /** + * 鏄惁寮�鍚獙璇佺爜 + */ + private Boolean captchaEnabled = true; + + private String uuid; + + /** + * 楠岃瘉鐮佸浘鐗� + */ + private String img; + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatAppStoreVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java similarity index 92% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatAppStoreVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java index ff46912..4ae8a95 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatAppStoreVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java @@ -1,10 +1,12 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; + import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.ruoyi.system.domain.ChatAppStore; +import org.ruoyi.domain.ChatAppStore; + import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatConfigVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java similarity index 94% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatConfigVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java index 3444ed3..ba02886 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatConfigVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; @@ -6,7 +6,8 @@ import lombok.Data; import org.ruoyi.common.sensitive.annotation.Sensitive; import org.ruoyi.common.sensitive.core.SensitiveStrategy; -import org.ruoyi.system.domain.ChatConfig; +import org.ruoyi.domain.ChatConfig; + import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatGptsVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java similarity index 95% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatGptsVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java index b633179..ead5f6c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatGptsVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java @@ -1,10 +1,11 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.ruoyi.system.domain.ChatGpts; +import org.ruoyi.domain.ChatGpts; + import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatMessageVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java similarity index 95% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatMessageVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java index 641e0f7..f21e41d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatMessageVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java @@ -1,4 +1,4 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import io.github.linpeilie.annotations.AutoMapper; @@ -7,7 +7,8 @@ import lombok.Data; import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; -import org.ruoyi.system.domain.ChatMessage; +import org.ruoyi.domain.ChatMessage; + import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatPluginVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java similarity index 89% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatPluginVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java index 4e4b096..c4d41fe 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatPluginVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java @@ -1,16 +1,13 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; -import org.ruoyi.system.domain.ChatPlugin; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; - import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.ruoyi.domain.ChatPlugin; import java.io.Serial; import java.io.Serializable; -import java.util.Date; - /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatTokenVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java similarity index 95% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatTokenVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java index ce7eff4..60a3c20 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatTokenVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java @@ -1,10 +1,10 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; -import org.ruoyi.common.core.validate.AddGroup; -import org.ruoyi.common.core.validate.EditGroup; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatVisitorUsageVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java similarity index 92% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatVisitorUsageVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java index 217ae44..d85963d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatVisitorUsageVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java @@ -1,10 +1,10 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; -import org.ruoyi.system.domain.ChatVisitorUsage; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.ruoyi.domain.ChatVisitorUsage; import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatVoucherVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java similarity index 94% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatVoucherVo.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java index 0b13b59..b1462c5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/vo/ChatVoucherVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java @@ -1,11 +1,10 @@ -package org.ruoyi.system.domain.vo; +package org.ruoyi.domain.vo; -import org.ruoyi.system.domain.ChatVoucher; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; - import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.ruoyi.domain.ChatVoucher; import java.io.Serial; import java.io.Serializable; diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java new file mode 100644 index 0000000..9f14244 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatAppStore; +import org.ruoyi.domain.vo.ChatAppStoreVo; + + +/** + * 搴旂敤甯傚満Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2024-03-19 + */ +public interface ChatAppStoreMapper extends BaseMapperPlus<ChatAppStore, ChatAppStoreVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java new file mode 100644 index 0000000..8b8069a --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java @@ -0,0 +1,17 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatConfig; +import org.ruoyi.domain.vo.ChatConfigVo; + + +/** + * 瀵硅瘽閰嶇疆淇℃伅Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2024-04-13 + */ +public interface ChatConfigMapper extends BaseMapperPlus<ChatConfig, ChatConfigVo> { + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java new file mode 100644 index 0000000..1d9b0a5 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatGpts; +import org.ruoyi.domain.vo.ChatGptsVo; + + +/** + * gpts绠$悊Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2024-07-09 + */ +public interface ChatGptsMapper extends BaseMapperPlus<ChatGpts, ChatGptsVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java new file mode 100644 index 0000000..239a5a4 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatMessage; +import org.ruoyi.domain.vo.ChatMessageVo; + + +/** + * 鑱婂ぉ娑堟伅Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2023-11-26 + */ +public interface ChatMessageMapper extends BaseMapperPlus<ChatMessage, ChatMessageVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java new file mode 100644 index 0000000..e0c6456 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatPlugin; +import org.ruoyi.domain.vo.ChatPluginVo; + + +/** + * 鎻掍欢绠$悊Mapper鎺ュ彛 + * + * @author ageerle + * @date 2025-03-30 + */ +public interface ChatPluginMapper extends BaseMapperPlus<ChatPlugin, ChatPluginVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java new file mode 100644 index 0000000..894b240 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatTokenMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatToken; +import org.ruoyi.domain.vo.ChatTokenVo; + + +/** + * 鑱婂ぉ娑堟伅Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2023-11-26 + */ +public interface ChatTokenMapper extends BaseMapperPlus<ChatToken, ChatTokenVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java new file mode 100644 index 0000000..95cac45 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVisitorUsageMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatVisitorUsage; +import org.ruoyi.domain.vo.ChatVisitorUsageVo; + + +/** + * 璁垮绠$悊Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2024-07-14 + */ +public interface ChatVisitorUsageMapper extends BaseMapperPlus<ChatVisitorUsage, ChatVisitorUsageVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java new file mode 100644 index 0000000..7c85930 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatVoucher; +import org.ruoyi.domain.vo.ChatVoucherVo; + + +/** + * 鐢ㄦ埛鍏戞崲璁板綍Mapper鎺ュ彛 + * + * @author Lion Li + * @date 2024-05-03 + */ +public interface ChatVoucherMapper extends BaseMapperPlus<ChatVoucher, ChatVoucherVo> { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java new file mode 100644 index 0000000..3c5f4ef --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java @@ -0,0 +1,47 @@ +package org.ruoyi.service; + +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatAppStoreBo; +import org.ruoyi.domain.vo.ChatAppStoreVo; + + +import java.util.Collection; +import java.util.List; + +/** + * 搴旂敤甯傚満Service鎺ュ彛 + * + * @author Lion Li + * @date 2024-03-19 + */ +public interface IChatAppStoreService { + + /** + * 鏌ヨ搴旂敤甯傚満 + */ + ChatAppStoreVo queryById(Long id); + + /** + * 鏌ヨ搴旂敤甯傚満鍒楄〃 + */ + TableDataInfo<ChatAppStoreVo> queryPageList(ChatAppStoreBo bo, PageQuery pageQuery); + + /** + * 鏌ヨ搴旂敤甯傚満鍒楄〃 + */ + List<ChatAppStoreVo> queryList(ChatAppStoreBo bo); + + + /** + * 淇敼搴旂敤甯傚満 + */ + Boolean updateByBo(ChatAppStoreBo bo); + + /** + * 鏍¢獙骞舵壒閲忓垹闄ゅ簲鐢ㄥ競鍦轰俊鎭� + */ + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); + + +} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatConfigService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java similarity index 88% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatConfigService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java index 45e0067..6c77647 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatConfigService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.system.domain.bo.ChatConfigBo; -import org.ruoyi.system.domain.vo.ChatConfigVo; +import org.ruoyi.domain.bo.ChatConfigBo; +import org.ruoyi.domain.vo.ChatConfigVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatCostService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatCostService.java similarity index 87% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatCostService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatCostService.java index c117465..e5825b0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatCostService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatCostService.java @@ -1,6 +1,6 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; -import org.ruoyi.system.domain.bo.ChatMessageBo; +import org.ruoyi.domain.bo.ChatMessageBo; public interface IChatCostService { diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatGptsService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java similarity index 87% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatGptsService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java index 7f4bb36..808225d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatGptsService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; -import org.ruoyi.system.domain.vo.ChatGptsVo; -import org.ruoyi.system.domain.bo.ChatGptsBo; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatGptsBo; +import org.ruoyi.domain.vo.ChatGptsVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatMessageService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java similarity index 87% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatMessageService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java index 671cdc0..f8bef4e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatMessageService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.system.domain.bo.ChatMessageBo; -import org.ruoyi.system.domain.vo.ChatMessageVo; +import org.ruoyi.domain.bo.ChatMessageBo; +import org.ruoyi.domain.vo.ChatMessageVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatPluginService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java similarity index 83% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatPluginService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java index d198144..08ed858 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatPluginService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java @@ -1,10 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; -import org.ruoyi.system.domain.ChatPlugin; -import org.ruoyi.system.domain.vo.ChatPluginVo; -import org.ruoyi.system.domain.bo.ChatPluginBo; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatPluginBo; +import org.ruoyi.domain.vo.ChatPluginVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatTokenService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java similarity index 68% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatTokenService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java index c758a0d..7eb1b1f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatTokenService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java @@ -1,6 +1,6 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; -import org.ruoyi.system.domain.ChatToken; +import org.ruoyi.domain.ChatToken; /** * 鑱婂ぉ娑堟伅Service鎺ュ彛 @@ -13,7 +13,7 @@ /** * 鏌ヨ鐢ㄦ埛token */ - ChatToken queryByUserId(Long userId,String modelName); + ChatToken queryByUserId(Long userId, String modelName); /** * 娓呯┖鐢ㄦ埛token diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatVisitorUsageService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java similarity index 86% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatVisitorUsageService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java index 87ab91c..20c3926 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatVisitorUsageService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; -import org.ruoyi.system.domain.vo.ChatVisitorUsageVo; -import org.ruoyi.system.domain.bo.ChatVisitorUsageBo; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatVisitorUsageBo; +import org.ruoyi.domain.vo.ChatVisitorUsageVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatVoucherService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java similarity index 88% rename from ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatVoucherService.java rename to ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java index 4dfb684..2f81822 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatVoucherService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java @@ -1,9 +1,9 @@ -package org.ruoyi.system.service; +package org.ruoyi.service; -import org.ruoyi.system.domain.vo.ChatVoucherVo; -import org.ruoyi.system.domain.bo.ChatVoucherBo; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatVoucherBo; +import org.ruoyi.domain.vo.ChatVoucherVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVoucherMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatConfigMapper.xml similarity index 71% rename from ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVoucherMapper.xml rename to ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatConfigMapper.xml index e5a8022..509a739 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVoucherMapper.xml +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatConfigMapper.xml @@ -2,6 +2,6 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="org.ruoyi.system.mapper.ChatVoucherMapper"> +<mapper namespace="org.ruoyi.mapper.ChatConfigMapper"> </mapper> diff --git a/ruoyi-modules-api/ruoyi-device-api/pom.xml b/ruoyi-modules-api/ruoyi-device-api/pom.xml new file mode 100644 index 0000000..7a9cb1a --- /dev/null +++ b/ruoyi-modules-api/ruoyi-device-api/pom.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-ai</artifactId> + <version>1.0.0</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <artifactId>ruoyi-device-api</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml b/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml new file mode 100644 index 0000000..1ba1e99 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-knowledge-api/pom.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-modules-api</artifactId> + <version>1.0.0</version> + </parent> + + <artifactId>ruoyi-knowledge-api</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> diff --git a/ruoyi-modules-api/ruoyi-system-api/pom.xml b/ruoyi-modules-api/ruoyi-system-api/pom.xml new file mode 100644 index 0000000..1b45873 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-system-api/pom.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-modules-api</artifactId> + <version>1.0.0</version> + </parent> + + <artifactId>ruoyi-system-api</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> diff --git a/ruoyi-modules-api/ruoyi-weixin-api/pom.xml b/ruoyi-modules-api/ruoyi-weixin-api/pom.xml new file mode 100644 index 0000000..1d16920 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-weixin-api/pom.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-ai</artifactId> + <version>1.0.0</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <artifactId>ruoyi-weixin-api</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java index a2d1614..e6a4446 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java @@ -17,10 +17,7 @@ import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.satoken.utils.LoginHelper; -import org.ruoyi.system.domain.bo.ChatMessageBo; import org.ruoyi.system.domain.request.translation.TranslationRequest; -import org.ruoyi.system.domain.vo.ChatMessageVo; -import org.ruoyi.system.service.IChatMessageService; import org.ruoyi.system.service.ISseService; import org.springframework.core.io.Resource; import org.springframework.http.ResponseEntity; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java index d84a3ad..cb2f259 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java @@ -9,7 +9,6 @@ import org.apache.commons.lang3.math.NumberUtils; import org.ruoyi.chat.domain.InsightFace; import org.ruoyi.chat.util.MjOkHttpUtil; -import org.ruoyi.system.service.IChatCostService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java index 4d60cb6..f3628f4 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java @@ -9,7 +9,6 @@ import org.ruoyi.common.core.utils.OkHttpUtil; import org.ruoyi.system.cofing.OkHttpConfig; import org.ruoyi.system.domain.GenerateLuma; -import org.ruoyi.system.service.IChatCostService; import org.springframework.web.bind.annotation.*; /** diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java index 3723fc1..a5e9208 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java @@ -10,7 +10,6 @@ import org.ruoyi.chat.dto.*; import org.ruoyi.chat.enums.ActionType; import org.ruoyi.chat.util.MjOkHttpUtil; -import org.ruoyi.system.service.IChatCostService; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java index 0c51f30..07754fe 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java @@ -10,7 +10,6 @@ import org.ruoyi.system.cofing.OkHttpConfig; import org.ruoyi.system.domain.GenerateLyric; import org.ruoyi.system.domain.GenerateSuno; -import org.ruoyi.system.service.IChatCostService; import org.springframework.web.bind.annotation.*; @RestController diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/VoiceController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/VoiceController.java index 6ea57d6..a551cbf 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/VoiceController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/VoiceController.java @@ -7,7 +7,6 @@ import org.ruoyi.system.request.SimpleGenerateRequest; import org.ruoyi.system.response.SimpleGenerateDataResponse; import org.ruoyi.system.response.rolelist.ChatAppStoreVO; -import org.ruoyi.system.service.IChatAppStoreService; import org.springframework.web.bind.annotation.*; import java.util.List; diff --git a/ruoyi-modules/ruoyi-device/pom.xml b/ruoyi-modules/ruoyi-device/pom.xml new file mode 100644 index 0000000..ec4cbc4 --- /dev/null +++ b/ruoyi-modules/ruoyi-device/pom.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-ai</artifactId> + <version>1.0.0</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <artifactId>ruoyi-device</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index cdce824..17d37c5 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -124,6 +124,10 @@ <version>1.0.79</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-mail</artifactId> + </dependency> </dependencies> diff --git a/ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIApplication.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIApplication.java similarity index 95% rename from ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIApplication.java rename to ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIApplication.java index 2d0693c..68748bc 100644 --- a/ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIApplication.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIApplication.java @@ -1,4 +1,4 @@ -package org.ruoyi; +package org.ruoyi.system; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIServletInitializer.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIServletInitializer.java similarity index 94% rename from ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIServletInitializer.java rename to ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIServletInitializer.java index 626d7a3..16d037c 100644 --- a/ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIServletInitializer.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIServletInitializer.java @@ -1,4 +1,4 @@ -package org.ruoyi; +package org.ruoyi.system; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; diff --git a/ruoyi-admin/src/main/java/org/ruoyi/controller/AuthController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/AuthController.java similarity index 93% rename from ruoyi-admin/src/main/java/org/ruoyi/controller/AuthController.java rename to ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/AuthController.java index 1093186..9be06e6 100644 --- a/ruoyi-admin/src/main/java/org/ruoyi/controller/AuthController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/AuthController.java @@ -1,16 +1,14 @@ -package org.ruoyi.controller; +package org.ruoyi.system.controller.system; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONUtil; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; import me.chanjar.weixin.common.error.WxErrorException; import org.ruoyi.common.core.constant.Constants; import org.ruoyi.common.core.domain.R; -import org.ruoyi.common.core.domain.model.EmailLoginBody; -import org.ruoyi.common.core.domain.model.LoginBody; -import org.ruoyi.common.core.domain.model.RegisterBody; -import org.ruoyi.common.core.domain.model.SmsLoginBody; -import org.ruoyi.common.core.domain.model.VisitorLoginBody; +import org.ruoyi.common.core.domain.model.*; import org.ruoyi.common.core.utils.MapstructUtils; import org.ruoyi.common.core.utils.StreamUtils; import org.ruoyi.common.core.utils.StringUtils; @@ -18,16 +16,12 @@ import org.ruoyi.common.tenant.helper.TenantHelper; import org.ruoyi.system.domain.bo.SysTenantBo; import org.ruoyi.system.domain.vo.LoginTenantVo; +import org.ruoyi.system.domain.vo.LoginVo; import org.ruoyi.system.domain.vo.SysTenantVo; import org.ruoyi.system.domain.vo.TenantListVo; import org.ruoyi.system.service.ISysTenantService; - import org.ruoyi.system.service.SysLoginService; import org.ruoyi.system.service.SysRegisterService; -import org.ruoyi.system.domain.vo.LoginVo; - -import jakarta.servlet.http.HttpServletRequest; -import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/ruoyi-admin/src/main/java/org/ruoyi/controller/CaptchaController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/CaptchaController.java similarity index 98% rename from ruoyi-admin/src/main/java/org/ruoyi/controller/CaptchaController.java rename to ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/CaptchaController.java index 89cf243..dda65dc 100644 --- a/ruoyi-admin/src/main/java/org/ruoyi/controller/CaptchaController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/CaptchaController.java @@ -1,10 +1,14 @@ -package org.ruoyi.controller; +package org.ruoyi.system.controller.system; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.captcha.AbstractCaptcha; import cn.hutool.captcha.generator.CodeGenerator; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.ruoyi.common.core.constant.Constants; import org.ruoyi.common.core.constant.GlobalConstants; import org.ruoyi.common.core.domain.R; @@ -22,10 +26,6 @@ import org.ruoyi.common.web.enums.CaptchaType; import org.ruoyi.system.domain.request.EmailRequest; import org.ruoyi.system.domain.vo.CaptchaVo; -import jakarta.validation.Valid; -import jakarta.validation.constraints.NotBlank; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.springframework.expression.Expression; import org.springframework.expression.ExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser; @@ -36,7 +36,8 @@ import org.springframework.web.bind.annotation.RestController; import java.time.Duration; -import java.util.*; +import java.util.HashMap; +import java.util.Map; /** * 楠岃瘉鐮佹搷浣滃鐞� diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatConfigController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatConfigController.java index 045f383..a3db5ad 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatConfigController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatConfigController.java @@ -8,9 +8,6 @@ import org.ruoyi.common.core.service.ConfigService; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.system.domain.bo.ChatConfigBo; -import org.ruoyi.system.domain.vo.ChatConfigVo; -import org.ruoyi.system.service.IChatConfigService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatGptsController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatGptsController.java index 5610e86..96e5b19 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatGptsController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatGptsController.java @@ -15,9 +15,6 @@ import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.system.domain.bo.ChatGptsBo; -import org.ruoyi.system.domain.vo.ChatGptsVo; -import org.ruoyi.system.service.IChatGptsService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatMessageController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatMessageController.java index 8487e93..5d0486d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatMessageController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatMessageController.java @@ -16,9 +16,6 @@ import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.satoken.utils.LoginHelper; import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.system.domain.bo.ChatMessageBo; -import org.ruoyi.system.domain.vo.ChatMessageVo; -import org.ruoyi.system.service.IChatMessageService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatPluginController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatPluginController.java index 01f65a4..a0d9a1b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatPluginController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatPluginController.java @@ -17,9 +17,6 @@ import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.log.enums.BusinessType; -import org.ruoyi.system.domain.vo.ChatPluginVo; -import org.ruoyi.system.domain.bo.ChatPluginBo; -import org.ruoyi.system.service.IChatPluginService; import org.ruoyi.common.mybatis.core.page.TableDataInfo; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatStoreController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatStoreController.java index a5a6bb0..532fb33 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatStoreController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatStoreController.java @@ -3,10 +3,6 @@ import lombok.RequiredArgsConstructor; import org.ruoyi.common.core.domain.R; import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.system.domain.bo.ChatAppStoreBo; -import org.ruoyi.system.domain.bo.ChatMessageBo; -import org.ruoyi.system.domain.vo.ChatAppStoreVo; -import org.ruoyi.system.service.IChatAppStoreService; import org.springframework.web.bind.annotation.*; import java.util.List; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVisitorUsageController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVisitorUsageController.java index 5871128..f402278 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVisitorUsageController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVisitorUsageController.java @@ -15,9 +15,6 @@ import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.web.core.BaseController; -import org.ruoyi.system.domain.bo.ChatVisitorUsageBo; -import org.ruoyi.system.domain.vo.ChatVisitorUsageVo; -import org.ruoyi.system.service.IChatVisitorUsageService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVoucherController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVoucherController.java index cd9fae7..88cc4f4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVoucherController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/ChatVoucherController.java @@ -16,9 +16,6 @@ import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.web.core.BaseController; import org.ruoyi.common.wechat.web.utils.UUIDShortUtil; -import org.ruoyi.system.domain.bo.ChatVoucherBo; -import org.ruoyi.system.domain.vo.ChatVoucherVo; -import org.ruoyi.system.service.IChatVoucherService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; diff --git a/ruoyi-admin/src/main/java/org/ruoyi/controller/IndexController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/IndexController.java similarity index 91% rename from ruoyi-admin/src/main/java/org/ruoyi/controller/IndexController.java rename to ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/IndexController.java index ecbfe71..72b6828 100644 --- a/ruoyi-admin/src/main/java/org/ruoyi/controller/IndexController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/IndexController.java @@ -1,4 +1,4 @@ -package org.ruoyi.controller; +package org.ruoyi.system.controller.system; import cn.dev33.satoken.annotation.SaIgnore; import lombok.RequiredArgsConstructor; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/KnowledgeController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/KnowledgeController.java new file mode 100644 index 0000000..3ea10af --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/KnowledgeController.java @@ -0,0 +1,184 @@ +//package org.ruoyi.system.controller.system; +// +//import cn.dev33.satoken.stp.StpUtil; +//import jakarta.servlet.http.HttpServletRequest; +//import jakarta.servlet.http.HttpServletResponse; +//import jakarta.validation.Valid; +//import jakarta.validation.constraints.NotEmpty; +//import jakarta.validation.constraints.NotNull; +//import lombok.RequiredArgsConstructor; +//import org.ruoyi.common.chat.domain.request.ChatRequest; +//import org.ruoyi.common.chat.entity.chat.Message; +//import org.ruoyi.common.core.domain.R; +//import org.ruoyi.common.core.validate.AddGroup; +//import org.ruoyi.common.excel.utils.ExcelUtil; +//import org.ruoyi.common.log.annotation.Log; +//import org.ruoyi.common.log.enums.BusinessType; +//import org.ruoyi.common.mybatis.core.page.PageQuery; +//import org.ruoyi.common.mybatis.core.page.TableDataInfo; +//import org.ruoyi.common.satoken.utils.LoginHelper; +//import org.ruoyi.common.web.core.BaseController; +//import org.ruoyi.knowledge.chain.vectorstore.VectorStore; +//import org.ruoyi.knowledge.domain.bo.KnowledgeAttachBo; +//import org.ruoyi.knowledge.domain.bo.KnowledgeFragmentBo; +//import org.ruoyi.knowledge.domain.bo.KnowledgeInfoBo; +//import org.ruoyi.knowledge.domain.req.KnowledgeInfoUploadRequest; +//import org.ruoyi.knowledge.domain.vo.KnowledgeAttachVo; +//import org.ruoyi.knowledge.domain.vo.KnowledgeFragmentVo; +//import org.ruoyi.knowledge.domain.vo.KnowledgeInfoVo; +//import org.ruoyi.knowledge.service.EmbeddingService; +//import org.ruoyi.knowledge.service.IKnowledgeAttachService; +//import org.ruoyi.knowledge.service.IKnowledgeFragmentService; +//import org.ruoyi.knowledge.service.IKnowledgeInfoService; +//import org.ruoyi.system.service.ISseService; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.*; +//import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; +// +//import java.util.List; +// +// +///** +// * 鐭ヨ瘑搴� +// * +// * @author Lion Li +// * @date 2024-10-21 +// */ +//@Validated +//@RequiredArgsConstructor +//@RestController +//@RequestMapping("/knowledge") +//public class KnowledgeController extends BaseController { +// +// private final IKnowledgeInfoService knowledgeInfoService; +// +// private final VectorStore vectorStore; +// +// private final IKnowledgeAttachService attachService; +// +// private final IKnowledgeFragmentService fragmentService; +// +// private final EmbeddingService embeddingService; +// +// private final ISseService sseService; +// +// /** +// * 鐭ヨ瘑搴撳璇� +// */ +// @PostMapping("/send") +// public SseEmitter send(@RequestBody @Valid ChatRequest chatRequest, HttpServletRequest request) { +// List<Message> messages = chatRequest.getMessages(); +// // 鑾峰彇鐭ヨ瘑搴撲俊鎭� +// Message message = messages.get(messages.size() - 1); +// StringBuilder sb = new StringBuilder(message.getContent().toString()); +// List<String> nearestList; +// List<Double> queryVector = embeddingService.getQueryVector(message.getContent().toString(), chatRequest.getKid()); +// nearestList = vectorStore.nearest(queryVector, chatRequest.getKid()); +// for (String prompt : nearestList) { +// sb.append("\n####").append(prompt); +// } +// sb.append( (nearestList.size() > 0 ? "\n\n娉ㄦ剰锛氬洖绛旈棶棰樻椂锛岄』涓ユ牸鏍规嵁鎴戠粰浣犵殑绯荤粺涓婁笅鏂囧唴瀹瑰師鏂囪繘琛屽洖绛旓紝璇蜂笉瑕佽嚜宸卞彂鎸�,鍥炵瓟鏃朵繚鎸佸師鏉ユ枃鏈殑娈佃惤灞傜骇" : "")); +// message.setContent(sb.toString()); +// return sseService.sseChat(chatRequest, request); +// } +// +// /** +// * 鏍规嵁鐢ㄦ埛淇℃伅鏌ヨ鏈湴鐭ヨ瘑搴� +// */ +// @GetMapping("/list") +// public TableDataInfo<KnowledgeInfoVo> list(KnowledgeInfoBo bo, PageQuery pageQuery) { +// if(!StpUtil.isLogin()){ +// return null; +// } +// bo.setUid(LoginHelper.getUserId()); +// return knowledgeInfoService.queryPageList(bo, pageQuery); +// } +// +// /** +// * 鏂板鐭ヨ瘑搴� +// */ +// @Log(title = "鐭ヨ瘑搴�", businessType = BusinessType.INSERT) +// @PostMapping("/save") +// public R<Void> save(@Validated(AddGroup.class) @RequestBody KnowledgeInfoBo bo) { +// knowledgeInfoService.saveOne(bo); +// return R.ok(); +// } +// +// /** +// * 鍒犻櫎鐭ヨ瘑搴� +// */ +// @PostMapping("/remove/{id}") +// public R<String> remove(@PathVariable String id){ +// knowledgeInfoService.removeKnowledge(id); +// return R.ok("鍒犻櫎鐭ヨ瘑搴撴垚鍔�!"); +// } +// +// /** +// * 淇敼鐭ヨ瘑搴� +// */ +// @Log(title = "鐭ヨ瘑搴�", businessType = BusinessType.UPDATE) +// @PostMapping("/edit") +// public R<Void> edit( @RequestBody KnowledgeInfoBo bo) { +// return toAjax(knowledgeInfoService.updateByBo(bo)); +// } +// +// /** +// * 瀵煎嚭鐭ヨ瘑搴撳垪琛� +// */ +// @Log(title = "鐭ヨ瘑搴�", businessType = BusinessType.EXPORT) +// @PostMapping("/export") +// public void export(KnowledgeInfoBo bo, HttpServletResponse response) { +// List<KnowledgeInfoVo> list = knowledgeInfoService.queryList(bo); +// ExcelUtil.exportExcel(list, "鐭ヨ瘑搴�", KnowledgeInfoVo.class, response); +// } +// +// /** +// * 鏌ヨ鐭ヨ瘑闄勪欢淇℃伅 +// */ +// @GetMapping("/detail/{kid}") +// public TableDataInfo<KnowledgeAttachVo> attach(KnowledgeAttachBo bo, PageQuery pageQuery,@PathVariable String kid){ +// bo.setKid(kid); +// return attachService.queryPageList(bo, pageQuery); +// } +// +// /** +// * 涓婁紶鐭ヨ瘑搴撻檮浠� +// */ +// @PostMapping(value = "/attach/upload") +// public R<String> upload(KnowledgeInfoUploadRequest request){ +// knowledgeInfoService.upload(request); +// return R.ok("涓婁紶鐭ヨ瘑搴撻檮浠舵垚鍔�!"); +// } +// +// /** +// * 鑾峰彇鐭ヨ瘑搴撻檮浠惰缁嗕俊鎭� +// * +// * @param id 涓婚敭 +// */ +// @GetMapping("attach/info/{id}") +// public R<KnowledgeAttachVo> getAttachInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") +// @PathVariable Long id) { +// return R.ok(attachService.queryById(id)); +// } +// +// /** +// * 鍒犻櫎鐭ヨ瘑搴撻檮浠� +// * +// */ +// @PostMapping("attach/remove/{docId}") +// public R<Void> removeAttach(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") @PathVariable String docId) { +// attachService.removeKnowledgeAttach(docId); +// return R.ok(); +// } +// +// +// /** +// * 鏌ヨ鐭ヨ瘑鐗囨 +// */ +// @GetMapping("/fragment/list/{docId}") +// public TableDataInfo<KnowledgeFragmentVo> fragmentList(KnowledgeFragmentBo bo, PageQuery pageQuery, @PathVariable String docId) { +// bo.setDocId(docId); +// return fragmentService.queryPageList(bo, pageQuery); +// } +// +//} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/PayController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/PayController.java index 5e9d193..eef8331 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/PayController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/PayController.java @@ -1,333 +1,333 @@ -package org.ruoyi.system.controller.system; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.extra.qrcode.QrCodeUtil; -import cn.hutool.json.JSONObject; -import cn.hutool.json.JSONUtil; -import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; -import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; -import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult; -import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest; -import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; -import com.github.binarywang.wxpay.exception.WxPayException; -import com.github.binarywang.wxpay.service.WxPayService; -import com.stripe.Stripe; -import com.stripe.exception.StripeException; -import com.stripe.model.Event; -import com.stripe.model.Price; -import com.stripe.model.Product; -import com.stripe.model.checkout.Session; -import com.stripe.net.Webhook; -import com.stripe.param.checkout.SessionCreateParams; -import jakarta.servlet.http.HttpServletRequest; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ruoyi.common.config.PayConfig; -import org.ruoyi.common.core.domain.R; -import org.ruoyi.common.core.exception.base.BaseException; -import org.ruoyi.common.core.service.ConfigService; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.oss.core.OssClient; -import org.ruoyi.common.oss.entity.UploadResult; -import org.ruoyi.common.oss.factory.OssFactory; -import org.ruoyi.common.response.PayResponse; -import org.ruoyi.common.service.PayService; -import org.ruoyi.common.utils.MD5Util; -import org.ruoyi.system.domain.bo.PaymentOrdersBo; -import org.ruoyi.system.domain.bo.SysUserBo; -import org.ruoyi.system.domain.request.OrderRequest; -import org.ruoyi.system.domain.vo.PaymentOrdersVo; -import org.ruoyi.system.domain.vo.SysUserVo; -import org.ruoyi.system.service.IPaymentOrdersService; -import org.ruoyi.system.service.ISysUserService; -import org.springframework.web.bind.annotation.*; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -@RequiredArgsConstructor -@RestController -@RequestMapping("/pay") -@Slf4j -public class PayController { - - private final PayService payService; - - private final ISysUserService userService; - - private final IPaymentOrdersService paymentOrdersService; - - private final PayConfig payConfig; - - private final WxPayService wxService; - - private final ConfigService configService; - - /** - * 鑾峰彇鏀粯浜岀淮鐮� - * - * @Date 2023/7/3 - * @return void - **/ - @PostMapping("/payUrl") - public R<PaymentOrdersVo> payUrl(@RequestBody OrderRequest orderRequest) { - PaymentOrdersBo payOrder = paymentOrdersService.createPayOrder(orderRequest); - PaymentOrdersVo paymentOrdersVo = new PaymentOrdersVo(); - if(!Boolean.parseBoolean(getKey("enabled"))){ - String payUrl = payService.getPayUrl(payOrder.getOrderNo(), orderRequest.getName(), Double.parseDouble(orderRequest.getMoney()), "192.168.1.6"); - byte[] bytes = QrCodeUtil.generatePng(payUrl, 300, 300); - OssClient storage = OssFactory.instance(); - UploadResult upload=storage.upload(bytes, storage.getPath("qrCode",".png"), "image/png"); - BeanUtil.copyProperties(payOrder,paymentOrdersVo); - paymentOrdersVo.setUrl(upload.getUrl()); - }else { - WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest(); - request.setTradeType("NATIVE"); - request.setBody(orderRequest.getName()); - request.setOutTradeNo(payOrder.getOrderNo()); - request.setTotalFee(BaseWxPayRequest.yuanToFen(orderRequest.getMoney())); - request.setSpbillCreateIp("127.0.0.1"); - request.setNotifyUrl(getKey("notifyUrl")); - request.setProductId(payOrder.getId().toString()); - try { - WxPayNativeOrderResult order = wxService.createOrder(request); - byte[] bytes = QrCodeUtil.generatePng(order.getCodeUrl(), 300, 300); - OssClient storage = OssFactory.instance(); - UploadResult upload = storage.upload(bytes, storage.getPath("qrCode",".png"), "image/png"); - BeanUtil.copyProperties(payOrder,paymentOrdersVo); - paymentOrdersVo.setUrl(upload.getUrl()); - } catch (WxPayException e) { - throw new BaseException("鑾峰彇寰俊鏀粯浜岀淮鐮佸彂鐢熼敊璇細{}"+e.getMessage()); - } - } - return R.ok(paymentOrdersVo); - } - - /** - * 鍥炶皟閫氱煡鍦板潃 - * - * @Date 2023/7/3 - * @param - * @return void - **/ - @GetMapping("/notifyUrl") - public String notifyUrl(PayResponse payResponse) { - // 鏍¢獙绛惧悕 - String mdString = "money=" + payResponse.getMoney() + "&name=" + payResponse.getName() + - "&out_trade_no=" + payResponse.getOut_trade_no() + "&pid=" + payConfig.getPid() + - "&trade_no=" + payResponse.getTrade_no() + "&trade_status=" + payResponse.getTrade_status() + - "&type=" + payResponse.getType() + payConfig.getKey(); - String sign = MD5Util.GetMD5Code(mdString); - if(!sign.equals(payResponse.getSign())){ - throw new BaseException("鏍¢獙绛惧悕澶辫触锛�"); - } - double money = Double.parseDouble(payResponse.getMoney()); - log.info("鏀粯璁㈠崟鍙穥}",payResponse); - PaymentOrdersBo paymentOrdersBo = new PaymentOrdersBo(); - paymentOrdersBo.setOrderNo(payResponse.getOut_trade_no()); - List<PaymentOrdersVo> paymentOrdersList = paymentOrdersService.queryList(paymentOrdersBo); - if (CollectionUtil.isEmpty(paymentOrdersList)){ - throw new BaseException("璁㈠崟涓嶅瓨鍦紒"); - } - // 璁㈠崟鐘舵�佷慨鏀逛负宸叉敮浠� - PaymentOrdersVo paymentOrdersVo = paymentOrdersList.get(0); - paymentOrdersVo.setPaymentStatus("2"); - paymentOrdersVo.setPaymentMethod(payResponse.getType()); - BeanUtil.copyProperties(paymentOrdersVo,paymentOrdersBo); - paymentOrdersService.updateByBo(paymentOrdersBo); - - SysUserVo sysUserVo = userService.selectUserById(paymentOrdersVo.getUserId()); - sysUserVo.setUserBalance(sysUserVo.getUserBalance() + money); - SysUserBo sysUserBo = new SysUserBo(); - BeanUtil.copyProperties(sysUserVo,sysUserBo); - // 璁剧疆涓轰粯璐圭敤鎴� - sysUserBo.setUserGrade("1"); - userService.updateUser(sysUserBo); - return "success"; - } - - /** - * 璺宠浆閫氱煡鍦板潃 - * - * @Date 2023/7/3 - * @param - * @return void - **/ - @GetMapping("/return_url") - public void returnUrl() { - log.info("return_url==========="); - } - - - @PostMapping("/notify/wxOrder") - public String parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException { - WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData); - // TODO 鏍规嵁鑷繁涓氬姟鍦烘櫙闇�瑕佹瀯閫犺繑鍥炲璞� - PaymentOrdersBo paymentOrdersBo = new PaymentOrdersBo(); - paymentOrdersBo.setOrderNo(notifyResult.getOutTradeNo()); - List<PaymentOrdersVo> paymentOrdersList = paymentOrdersService.queryList(paymentOrdersBo); - PaymentOrdersVo paymentOrdersVo = paymentOrdersList.get(0); - paymentOrdersVo.setPaymentStatus("2"); - paymentOrdersVo.setPaymentMethod("wx"); - BeanUtil.copyProperties(paymentOrdersVo,paymentOrdersBo); - paymentOrdersService.updateByBo(paymentOrdersBo); - SysUserVo sysUserVo = userService.selectUserById(paymentOrdersVo.getUserId()); - sysUserVo.setUserBalance(sysUserVo.getUserBalance() + convertCentsToYuan(notifyResult.getTotalFee())); - SysUserBo sysUserBo = new SysUserBo(); - BeanUtil.copyProperties(sysUserVo,sysUserBo); - // 璁剧疆涓轰粯璐圭敤鎴� - sysUserBo.setUserGrade("1"); - userService.updateUser(sysUserBo); - return WxPayNotifyResponse.success("success"); - } - - /** - * 灏嗗垎杞崲涓哄厓锛屽苟淇濈暀绮惧害銆� - * - * @param cents 鍒嗙殑閲戦锛岀被鍨嬩负Integer - * @return 杞崲鍚庣殑鍏冮噾棰濓紝绫诲瀷涓篸ouble - */ - public static double convertCentsToYuan(Integer cents) { - // 澶勭悊绌鸿緭鍏� - if (cents == null) { - throw new IllegalArgumentException("杈撳叆鐨勫垎閲戦涓嶈兘涓虹┖"); - } - - // 100鍒� = 1鍏� - BigDecimal centsBigDecimal = new BigDecimal(cents); - BigDecimal yuan = centsBigDecimal.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP); - // 杞崲涓篸ouble骞惰繑鍥� - return yuan.doubleValue(); - } - - /** - * 鑾峰彇璁㈠崟淇℃伅 - * - */ - @PostMapping("/orderInfo") - public R<PaymentOrdersVo> orderInfo(@RequestBody OrderRequest orderRequest) { - if(StringUtils.isEmpty(orderRequest.getOrderNo())){ - throw new BaseException("璁㈠崟鍙蜂笉鑳戒负绌猴紒"); - } - PaymentOrdersBo paymentOrdersBo = new PaymentOrdersBo(); - paymentOrdersBo.setOrderNo(orderRequest.getOrderNo()); - List<PaymentOrdersVo> paymentOrdersList = paymentOrdersService.queryList(paymentOrdersBo); - if (CollectionUtil.isEmpty(paymentOrdersList)){ - throw new BaseException("璁㈠崟涓嶅瓨鍦紒"); - } - PaymentOrdersVo paymentOrdersVo = paymentOrdersList.get(0); - return R.ok(paymentOrdersVo); - } - - // 鑾峰彇鏀粯閾炬帴 -// static { -// Stripe.apiKey = "sk_test_51PMMj2KcfX4oNioqXkoKpScTsgmR55xQki2tg8MEZJYc0gjhYV85t2FzDasE06eqZb0sqyYhOp3UXhcGGQLWI4A9008aq8SOnb"; +//package org.ruoyi.system.controller.system; +// +//import cn.hutool.core.bean.BeanUtil; +//import cn.hutool.core.collection.CollectionUtil; +//import cn.hutool.extra.qrcode.QrCodeUtil; +//import cn.hutool.json.JSONObject; +//import cn.hutool.json.JSONUtil; +//import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; +//import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; +//import com.github.binarywang.wxpay.bean.order.WxPayNativeOrderResult; +//import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest; +//import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; +//import com.github.binarywang.wxpay.exception.WxPayException; +//import com.github.binarywang.wxpay.service.WxPayService; +//import com.stripe.Stripe; +//import com.stripe.exception.StripeException; +//import com.stripe.model.Event; +//import com.stripe.model.Price; +//import com.stripe.model.Product; +//import com.stripe.model.checkout.Session; +//import com.stripe.net.Webhook; +//import com.stripe.param.checkout.SessionCreateParams; +//import jakarta.servlet.http.HttpServletRequest; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.ruoyi.common.config.PayConfig; +//import org.ruoyi.common.core.domain.R; +//import org.ruoyi.common.core.exception.base.BaseException; +//import org.ruoyi.common.core.service.ConfigService; +//import org.ruoyi.common.core.utils.StringUtils; +//import org.ruoyi.common.oss.core.OssClient; +//import org.ruoyi.common.oss.entity.UploadResult; +//import org.ruoyi.common.oss.factory.OssFactory; +//import org.ruoyi.common.response.PayResponse; +//import org.ruoyi.common.service.PayService; +//import org.ruoyi.common.utils.MD5Util; +//import org.ruoyi.system.domain.bo.PaymentOrdersBo; +//import org.ruoyi.system.domain.bo.SysUserBo; +//import org.ruoyi.system.domain.request.OrderRequest; +//import org.ruoyi.system.domain.vo.PaymentOrdersVo; +//import org.ruoyi.system.domain.vo.SysUserVo; +//import org.ruoyi.system.service.IPaymentOrdersService; +//import org.ruoyi.system.service.ISysUserService; +//import org.springframework.web.bind.annotation.*; +// +//import java.io.ByteArrayOutputStream; +//import java.io.InputStream; +//import java.math.BigDecimal; +//import java.math.RoundingMode; +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +// +// +//@RequiredArgsConstructor +//@RestController +//@RequestMapping("/pay") +//@Slf4j +//public class PayController { +// +// private final PayService payService; +// +// private final ISysUserService userService; +// +// private final IPaymentOrdersService paymentOrdersService; +// +// private final PayConfig payConfig; +// +// private final WxPayService wxService; +// +// private final ConfigService configService; +// +// /** +// * 鑾峰彇鏀粯浜岀淮鐮� +// * +// * @Date 2023/7/3 +// * @return void +// **/ +// @PostMapping("/payUrl") +// public R<PaymentOrdersVo> payUrl(@RequestBody OrderRequest orderRequest) { +// PaymentOrdersBo payOrder = paymentOrdersService.createPayOrder(orderRequest); +// PaymentOrdersVo paymentOrdersVo = new PaymentOrdersVo(); +// if(!Boolean.parseBoolean(getKey("enabled"))){ +// String payUrl = payService.getPayUrl(payOrder.getOrderNo(), orderRequest.getName(), Double.parseDouble(orderRequest.getMoney()), "192.168.1.6"); +// byte[] bytes = QrCodeUtil.generatePng(payUrl, 300, 300); +// OssClient storage = OssFactory.instance(); +// UploadResult upload=storage.upload(bytes, storage.getPath("qrCode",".png"), "image/png"); +// BeanUtil.copyProperties(payOrder,paymentOrdersVo); +// paymentOrdersVo.setUrl(upload.getUrl()); +// }else { +// WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest(); +// request.setTradeType("NATIVE"); +// request.setBody(orderRequest.getName()); +// request.setOutTradeNo(payOrder.getOrderNo()); +// request.setTotalFee(BaseWxPayRequest.yuanToFen(orderRequest.getMoney())); +// request.setSpbillCreateIp("127.0.0.1"); +// request.setNotifyUrl(getKey("notifyUrl")); +// request.setProductId(payOrder.getId().toString()); +// try { +// WxPayNativeOrderResult order = wxService.createOrder(request); +// byte[] bytes = QrCodeUtil.generatePng(order.getCodeUrl(), 300, 300); +// OssClient storage = OssFactory.instance(); +// UploadResult upload = storage.upload(bytes, storage.getPath("qrCode",".png"), "image/png"); +// BeanUtil.copyProperties(payOrder,paymentOrdersVo); +// paymentOrdersVo.setUrl(upload.getUrl()); +// } catch (WxPayException e) { +// throw new BaseException("鑾峰彇寰俊鏀粯浜岀淮鐮佸彂鐢熼敊璇細{}"+e.getMessage()); +// } +// } +// return R.ok(paymentOrdersVo); // } - - /** - * 鍘绘敮浠� - * 1銆佸垱寤轰骇鍝� - * 2銆佽缃环鏍� - * 3銆佸垱寤烘敮浠樹俊鎭� 寰楀埌url - * @return - */ - @PostMapping("/stripePay") - public String pay(@RequestBody OrderRequest orderRequest) throws StripeException { - - String enabled = configService.getConfigValue("stripe", "enabled"); - if(!Boolean.parseBoolean(enabled)){ - String prompt = configService.getConfigValue("stripe", "prompt"); - throw new BaseException(prompt); - } - - // 鑾峰彇鏀粯閾炬帴 - Stripe.apiKey = configService.getConfigValue("stripe", "key"); - - // 鑾峰彇閲戦瀛楃涓插苟瑙f瀽涓� double - double moneyDouble = Double.parseDouble(orderRequest.getMoney()); - - // 灏嗛噾棰濊浆鎹负浠ュ垎涓哄崟浣嶇殑鏁存暟 - int randMoney = (int) (moneyDouble * 100); - - Map<String, Object> params = new HashMap<>(); - params.put("name", orderRequest.getName()); - Product product = Product.create(params); - - Map<String, Object> recurring = new HashMap<>(); - recurring.put("interval", "month"); - Map<String, Object> params2 = new HashMap<>(); - params2.put("unit_amount", randMoney); - params2.put("currency", "usd"); - params2.put("recurring", recurring); - params2.put("product", product.getId()); - Price price = Price.create(params2); - - // 鍒涘缓鏀粯璁㈠崟 - PaymentOrdersBo payOrder = paymentOrdersService.createPayOrder(orderRequest); - - //鍒涘缓鏀粯淇℃伅 寰楀埌url - SessionCreateParams params3 = SessionCreateParams.builder() - .setMode(SessionCreateParams.Mode.SUBSCRIPTION) - .setSuccessUrl(configService.getConfigValue("stripe", "success")) - .setCancelUrl(configService.getConfigValue("stripe", "cancel")) - .addLineItem( - SessionCreateParams.LineItem.builder() - .setQuantity(1L) - .setPrice(price.getId()) - .build()).putMetadata("orderId", payOrder.getOrderNo()) - .build(); - Session session = Session.create(params3); - return session.getUrl(); - } - - /** - * 鏀粯鍥炶皟 - * - */ - @PostMapping("/stripe_events") - public R<String> stripeEvent(HttpServletRequest request) { - try { - String endpointSecret = configService.getConfigValue("stripe", "secret");//webhook绉橀挜绛惧悕 - InputStream inputStream = request.getInputStream(); - ByteArrayOutputStream output = new ByteArrayOutputStream(); - byte[] buffer = new byte[1024*4]; - int n = 0; - while (-1 != (n = inputStream.read(buffer))) { - output.write(buffer, 0, n); - } - byte[] bytes = output.toByteArray(); - String payload = new String(bytes, "UTF-8"); - String sigHeader = request.getHeader("Stripe-Signature"); - Event event = Webhook.constructEvent(payload, sigHeader, endpointSecret);//楠岀锛屽苟鑾峰彇浜嬩欢 - if("checkout.session.completed".equals(event.getType())){ - // 瑙f瀽 JSON 瀛楃涓蹭负 JSONObject - JSONObject jsonObject = JSONUtil.parseObj(event); - // 鑾峰彇 metadata 瀵硅薄 - JSONObject metadata = jsonObject.getJSONObject("data") - .getJSONObject("object") - .getJSONObject("metadata"); - - OrderRequest orderRequest = new OrderRequest(); - orderRequest.setPayType("stripe"); - orderRequest.setOrderNo(metadata.getStr("orderId")); - paymentOrdersService.updatePayOrder(orderRequest); - } - } catch (Exception e) { - System.out.println("stripe寮傛閫氱煡锛坵ebhook浜嬩欢锛�"+e); - } - return R.ok(); - } - - public String getKey(String key) { - return configService.getConfigValue("weixin", key); - } - -} - +// +// /** +// * 鍥炶皟閫氱煡鍦板潃 +// * +// * @Date 2023/7/3 +// * @param +// * @return void +// **/ +// @GetMapping("/notifyUrl") +// public String notifyUrl(PayResponse payResponse) { +// // 鏍¢獙绛惧悕 +// String mdString = "money=" + payResponse.getMoney() + "&name=" + payResponse.getName() + +// "&out_trade_no=" + payResponse.getOut_trade_no() + "&pid=" + payConfig.getPid() + +// "&trade_no=" + payResponse.getTrade_no() + "&trade_status=" + payResponse.getTrade_status() + +// "&type=" + payResponse.getType() + payConfig.getKey(); +// String sign = MD5Util.GetMD5Code(mdString); +// if(!sign.equals(payResponse.getSign())){ +// throw new BaseException("鏍¢獙绛惧悕澶辫触锛�"); +// } +// double money = Double.parseDouble(payResponse.getMoney()); +// log.info("鏀粯璁㈠崟鍙穥}",payResponse); +// PaymentOrdersBo paymentOrdersBo = new PaymentOrdersBo(); +// paymentOrdersBo.setOrderNo(payResponse.getOut_trade_no()); +// List<PaymentOrdersVo> paymentOrdersList = paymentOrdersService.queryList(paymentOrdersBo); +// if (CollectionUtil.isEmpty(paymentOrdersList)){ +// throw new BaseException("璁㈠崟涓嶅瓨鍦紒"); +// } +// // 璁㈠崟鐘舵�佷慨鏀逛负宸叉敮浠� +// PaymentOrdersVo paymentOrdersVo = paymentOrdersList.get(0); +// paymentOrdersVo.setPaymentStatus("2"); +// paymentOrdersVo.setPaymentMethod(payResponse.getType()); +// BeanUtil.copyProperties(paymentOrdersVo,paymentOrdersBo); +// paymentOrdersService.updateByBo(paymentOrdersBo); +// +// SysUserVo sysUserVo = userService.selectUserById(paymentOrdersVo.getUserId()); +// sysUserVo.setUserBalance(sysUserVo.getUserBalance() + money); +// SysUserBo sysUserBo = new SysUserBo(); +// BeanUtil.copyProperties(sysUserVo,sysUserBo); +// // 璁剧疆涓轰粯璐圭敤鎴� +// sysUserBo.setUserGrade("1"); +// userService.updateUser(sysUserBo); +// return "success"; +// } +// +// /** +// * 璺宠浆閫氱煡鍦板潃 +// * +// * @Date 2023/7/3 +// * @param +// * @return void +// **/ +// @GetMapping("/return_url") +// public void returnUrl() { +// log.info("return_url==========="); +// } +// +// +// @PostMapping("/notify/wxOrder") +// public String parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException { +// WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData); +// // TODO 鏍规嵁鑷繁涓氬姟鍦烘櫙闇�瑕佹瀯閫犺繑鍥炲璞� +// PaymentOrdersBo paymentOrdersBo = new PaymentOrdersBo(); +// paymentOrdersBo.setOrderNo(notifyResult.getOutTradeNo()); +// List<PaymentOrdersVo> paymentOrdersList = paymentOrdersService.queryList(paymentOrdersBo); +// PaymentOrdersVo paymentOrdersVo = paymentOrdersList.get(0); +// paymentOrdersVo.setPaymentStatus("2"); +// paymentOrdersVo.setPaymentMethod("wx"); +// BeanUtil.copyProperties(paymentOrdersVo,paymentOrdersBo); +// paymentOrdersService.updateByBo(paymentOrdersBo); +// SysUserVo sysUserVo = userService.selectUserById(paymentOrdersVo.getUserId()); +// sysUserVo.setUserBalance(sysUserVo.getUserBalance() + convertCentsToYuan(notifyResult.getTotalFee())); +// SysUserBo sysUserBo = new SysUserBo(); +// BeanUtil.copyProperties(sysUserVo,sysUserBo); +// // 璁剧疆涓轰粯璐圭敤鎴� +// sysUserBo.setUserGrade("1"); +// userService.updateUser(sysUserBo); +// return WxPayNotifyResponse.success("success"); +// } +// +// /** +// * 灏嗗垎杞崲涓哄厓锛屽苟淇濈暀绮惧害銆� +// * +// * @param cents 鍒嗙殑閲戦锛岀被鍨嬩负Integer +// * @return 杞崲鍚庣殑鍏冮噾棰濓紝绫诲瀷涓篸ouble +// */ +// public static double convertCentsToYuan(Integer cents) { +// // 澶勭悊绌鸿緭鍏� +// if (cents == null) { +// throw new IllegalArgumentException("杈撳叆鐨勫垎閲戦涓嶈兘涓虹┖"); +// } +// +// // 100鍒� = 1鍏� +// BigDecimal centsBigDecimal = new BigDecimal(cents); +// BigDecimal yuan = centsBigDecimal.divide(new BigDecimal(100), 2, RoundingMode.HALF_UP); +// // 杞崲涓篸ouble骞惰繑鍥� +// return yuan.doubleValue(); +// } +// +// /** +// * 鑾峰彇璁㈠崟淇℃伅 +// * +// */ +// @PostMapping("/orderInfo") +// public R<PaymentOrdersVo> orderInfo(@RequestBody OrderRequest orderRequest) { +// if(StringUtils.isEmpty(orderRequest.getOrderNo())){ +// throw new BaseException("璁㈠崟鍙蜂笉鑳戒负绌猴紒"); +// } +// PaymentOrdersBo paymentOrdersBo = new PaymentOrdersBo(); +// paymentOrdersBo.setOrderNo(orderRequest.getOrderNo()); +// List<PaymentOrdersVo> paymentOrdersList = paymentOrdersService.queryList(paymentOrdersBo); +// if (CollectionUtil.isEmpty(paymentOrdersList)){ +// throw new BaseException("璁㈠崟涓嶅瓨鍦紒"); +// } +// PaymentOrdersVo paymentOrdersVo = paymentOrdersList.get(0); +// return R.ok(paymentOrdersVo); +// } +// +// // 鑾峰彇鏀粯閾炬帴 +//// static { +//// Stripe.apiKey = "sk_test_51PMMj2KcfX4oNioqXkoKpScTsgmR55xQki2tg8MEZJYc0gjhYV85t2FzDasE06eqZb0sqyYhOp3UXhcGGQLWI4A9008aq8SOnb"; +//// } +// +// /** +// * 鍘绘敮浠� +// * 1銆佸垱寤轰骇鍝� +// * 2銆佽缃环鏍� +// * 3銆佸垱寤烘敮浠樹俊鎭� 寰楀埌url +// * @return +// */ +// @PostMapping("/stripePay") +// public String pay(@RequestBody OrderRequest orderRequest) throws StripeException { +// +// String enabled = configService.getConfigValue("stripe", "enabled"); +// if(!Boolean.parseBoolean(enabled)){ +// String prompt = configService.getConfigValue("stripe", "prompt"); +// throw new BaseException(prompt); +// } +// +// // 鑾峰彇鏀粯閾炬帴 +// Stripe.apiKey = configService.getConfigValue("stripe", "key"); +// +// // 鑾峰彇閲戦瀛楃涓插苟瑙f瀽涓� double +// double moneyDouble = Double.parseDouble(orderRequest.getMoney()); +// +// // 灏嗛噾棰濊浆鎹负浠ュ垎涓哄崟浣嶇殑鏁存暟 +// int randMoney = (int) (moneyDouble * 100); +// +// Map<String, Object> params = new HashMap<>(); +// params.put("name", orderRequest.getName()); +// Product product = Product.create(params); +// +// Map<String, Object> recurring = new HashMap<>(); +// recurring.put("interval", "month"); +// Map<String, Object> params2 = new HashMap<>(); +// params2.put("unit_amount", randMoney); +// params2.put("currency", "usd"); +// params2.put("recurring", recurring); +// params2.put("product", product.getId()); +// Price price = Price.create(params2); +// +// // 鍒涘缓鏀粯璁㈠崟 +// PaymentOrdersBo payOrder = paymentOrdersService.createPayOrder(orderRequest); +// +// //鍒涘缓鏀粯淇℃伅 寰楀埌url +// SessionCreateParams params3 = SessionCreateParams.builder() +// .setMode(SessionCreateParams.Mode.SUBSCRIPTION) +// .setSuccessUrl(configService.getConfigValue("stripe", "success")) +// .setCancelUrl(configService.getConfigValue("stripe", "cancel")) +// .addLineItem( +// SessionCreateParams.LineItem.builder() +// .setQuantity(1L) +// .setPrice(price.getId()) +// .build()).putMetadata("orderId", payOrder.getOrderNo()) +// .build(); +// Session session = Session.create(params3); +// return session.getUrl(); +// } +// +// /** +// * 鏀粯鍥炶皟 +// * +// */ +// @PostMapping("/stripe_events") +// public R<String> stripeEvent(HttpServletRequest request) { +// try { +// String endpointSecret = configService.getConfigValue("stripe", "secret");//webhook绉橀挜绛惧悕 +// InputStream inputStream = request.getInputStream(); +// ByteArrayOutputStream output = new ByteArrayOutputStream(); +// byte[] buffer = new byte[1024*4]; +// int n = 0; +// while (-1 != (n = inputStream.read(buffer))) { +// output.write(buffer, 0, n); +// } +// byte[] bytes = output.toByteArray(); +// String payload = new String(bytes, "UTF-8"); +// String sigHeader = request.getHeader("Stripe-Signature"); +// Event event = Webhook.constructEvent(payload, sigHeader, endpointSecret);//楠岀锛屽苟鑾峰彇浜嬩欢 +// if("checkout.session.completed".equals(event.getType())){ +// // 瑙f瀽 JSON 瀛楃涓蹭负 JSONObject +// JSONObject jsonObject = JSONUtil.parseObj(event); +// // 鑾峰彇 metadata 瀵硅薄 +// JSONObject metadata = jsonObject.getJSONObject("data") +// .getJSONObject("object") +// .getJSONObject("metadata"); +// +// OrderRequest orderRequest = new OrderRequest(); +// orderRequest.setPayType("stripe"); +// orderRequest.setOrderNo(metadata.getStr("orderId")); +// paymentOrdersService.updatePayOrder(orderRequest); +// } +// } catch (Exception e) { +// System.out.println("stripe寮傛閫氱煡锛坵ebhook浜嬩欢锛�"+e); +// } +// return R.ok(); +// } +// +// public String getKey(String key) { +// return configService.getConfigValue("weixin", key); +// } +// +//} +// diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/WeChatController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/WeChatController.java index a2702b2..eeaeb90 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/WeChatController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/WeChatController.java @@ -1,81 +1,81 @@ -package org.ruoyi.system.controller.system; - -import cn.dev33.satoken.annotation.SaIgnore; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ruoyi.common.core.exception.ServiceException; -import org.ruoyi.common.wechat.itchat4j.api.WechatTools; -import org.ruoyi.common.wechat.itchat4j.controller.LoginController; -import org.ruoyi.common.wechat.itchat4j.core.MsgCenter; -import org.ruoyi.common.wechat.itchat4j.face.IMsgHandlerFace; -import org.ruoyi.common.wechat.web.base.BaseException; -import org.ruoyi.system.domain.bo.WxRobConfigBo; -import org.ruoyi.system.domain.vo.WxRobConfigVo; -import org.ruoyi.system.handler.MyMsgHandler; -import org.ruoyi.system.service.ISseService; -import org.ruoyi.system.service.IWxRobConfigService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * 涓汉寰俊鎵╁睍鎺у埗鍣� - * - * @author WangLe - */ -@SaIgnore -@Slf4j -@Validated -@RequiredArgsConstructor -@RestController -public class WeChatController { - - private final ISseService sseService; - - private final IWxRobConfigService wxRobConfigService; - - /** - * 鐧诲綍绗竴姝ワ紝鑾峰彇浜岀淮鐮侀摼鎺� - * @throws BaseException - */ - @PostMapping("/getQr") - public String getQr(@RequestParam String uniqueKey) { - LoginController login = new LoginController(uniqueKey); - try { - return login.login_1(); - } catch (BaseException e) { - throw new ServiceException("鑾峰彇浜岀淮鐮佸け璐ワ細"+ e.getMessage()); - } - } - - @PostMapping("/wxLogin") - public Boolean wxLogin(@RequestParam String uniqueKey) { - LoginController login = new LoginController(uniqueKey); - return login.login_2(); - } - - @PostMapping("/wxInit") - public Boolean wxInit(@RequestParam String uniqueKey) { - LoginController login = new LoginController(uniqueKey); - // 寮�鍚秷鎭鐞嗙嚎绋� - WxRobConfigBo wxRobConfigBo = new WxRobConfigBo(); - wxRobConfigBo.setUniqueKey(uniqueKey); - List<WxRobConfigVo> wxRobConfigVos = wxRobConfigService.queryList(wxRobConfigBo); - //鏌ヨ鏈哄櫒浜哄搴旂殑鐢ㄦ埛 - start(uniqueKey,new MyMsgHandler(uniqueKey,sseService,wxRobConfigVos.get(0))); - return login.login_3(); - } - - @PostMapping("/wxLogout") - public void wxLogout(@RequestParam String uniqueKey) { - WechatTools.logout(uniqueKey); - } - - public void start(String uniqueKey,IMsgHandlerFace msgHandler) { - log.info("7.+++寮�鍚秷鎭鐞嗙嚎绋媅"+uniqueKey+"]+++"); - new Thread(() -> MsgCenter.handleMsg(uniqueKey,msgHandler)).start(); - } -} +//package org.ruoyi.system.controller.system; +// +//import cn.dev33.satoken.annotation.SaIgnore; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.ruoyi.common.core.exception.ServiceException; +//import org.ruoyi.common.wechat.itchat4j.api.WechatTools; +//import org.ruoyi.common.wechat.itchat4j.controller.LoginController; +//import org.ruoyi.common.wechat.itchat4j.core.MsgCenter; +//import org.ruoyi.common.wechat.itchat4j.face.IMsgHandlerFace; +//import org.ruoyi.common.wechat.web.base.BaseException; +//import org.ruoyi.system.domain.bo.WxRobConfigBo; +//import org.ruoyi.system.domain.vo.WxRobConfigVo; +//import org.ruoyi.system.handler.MyMsgHandler; +//import org.ruoyi.system.service.ISseService; +//import org.ruoyi.system.service.IWxRobConfigService; +//import org.springframework.validation.annotation.Validated; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestParam; +//import org.springframework.web.bind.annotation.RestController; +// +//import java.util.List; +// +///** +// * 涓汉寰俊鎵╁睍鎺у埗鍣� +// * +// * @author WangLe +// */ +//@SaIgnore +//@Slf4j +//@Validated +//@RequiredArgsConstructor +//@RestController +//public class WeChatController { +// +// private final ISseService sseService; +// +// private final IWxRobConfigService wxRobConfigService; +// +// /** +// * 鐧诲綍绗竴姝ワ紝鑾峰彇浜岀淮鐮侀摼鎺� +// * @throws BaseException +// */ +// @PostMapping("/getQr") +// public String getQr(@RequestParam String uniqueKey) { +// LoginController login = new LoginController(uniqueKey); +// try { +// return login.login_1(); +// } catch (BaseException e) { +// throw new ServiceException("鑾峰彇浜岀淮鐮佸け璐ワ細"+ e.getMessage()); +// } +// } +// +// @PostMapping("/wxLogin") +// public Boolean wxLogin(@RequestParam String uniqueKey) { +// LoginController login = new LoginController(uniqueKey); +// return login.login_2(); +// } +// +// @PostMapping("/wxInit") +// public Boolean wxInit(@RequestParam String uniqueKey) { +// LoginController login = new LoginController(uniqueKey); +// // 寮�鍚秷鎭鐞嗙嚎绋� +// WxRobConfigBo wxRobConfigBo = new WxRobConfigBo(); +// wxRobConfigBo.setUniqueKey(uniqueKey); +// List<WxRobConfigVo> wxRobConfigVos = wxRobConfigService.queryList(wxRobConfigBo); +// //鏌ヨ鏈哄櫒浜哄搴旂殑鐢ㄦ埛 +// start(uniqueKey,new MyMsgHandler(uniqueKey,sseService,wxRobConfigVos.get(0))); +// return login.login_3(); +// } +// +// @PostMapping("/wxLogout") +// public void wxLogout(@RequestParam String uniqueKey) { +// WechatTools.logout(uniqueKey); +// } +// +// public void start(String uniqueKey,IMsgHandlerFace msgHandler) { +// log.info("7.+++寮�鍚秷鎭鐞嗙嚎绋媅"+uniqueKey+"]+++"); +// new Thread(() -> MsgCenter.handleMsg(uniqueKey,msgHandler)).start(); +// } +//} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/handler/wxcp/MsgHandler.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/handler/wxcp/MsgHandler.java index 155f042..b52a628 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/handler/wxcp/MsgHandler.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/handler/wxcp/MsgHandler.java @@ -19,7 +19,7 @@ @RequiredArgsConstructor public class MsgHandler extends AbstractHandler { - private final ISseService sseService; +// private final ISseService sseService; @@ -34,8 +34,10 @@ if (!msgType.equals(WxConsts.XmlMsgType.EVENT)) { //TODO 鍙互閫夋嫨灏嗘秷鎭繚瀛樺埌鏈湴 } + //TODO 缁勮鍥炲娑堟伅 - String content = sseService.wxCpChat(wxMessage.getContent()); + String content = ""; + //sseService.wxCpChat(wxMessage.getContent()); return new TextBuilder().build(content, wxMessage, cpService); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/SSEEventSourceListener.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/SSEEventSourceListener.java index 1bbe226..92d767b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/SSEEventSourceListener.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/listener/SSEEventSourceListener.java @@ -15,11 +15,8 @@ import org.ruoyi.common.chat.utils.TikTokensUtil; import org.ruoyi.common.core.utils.SpringUtils; import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.system.domain.bo.ChatMessageBo; import org.ruoyi.system.domain.bo.SysModelBo; import org.ruoyi.system.domain.vo.SysModelVo; -import org.ruoyi.system.service.IChatCostService; -import org.ruoyi.system.service.IChatMessageService; import org.ruoyi.system.service.ISysModelService; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatAppStoreMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatAppStoreMapper.java index db27f68..a47df63 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatAppStoreMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatAppStoreMapper.java @@ -1,8 +1,6 @@ package org.ruoyi.system.mapper; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.ChatAppStore; -import org.ruoyi.system.domain.vo.ChatAppStoreVo; /** * 搴旂敤甯傚満Mapper鎺ュ彛 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatConfigMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatConfigMapper.java index d230e9a..5f76781 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatConfigMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatConfigMapper.java @@ -1,7 +1,5 @@ package org.ruoyi.system.mapper; -import org.ruoyi.system.domain.ChatConfig; -import org.ruoyi.system.domain.vo.ChatConfigVo; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatGptsMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatGptsMapper.java index 75555a6..f1f2f73 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatGptsMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatGptsMapper.java @@ -1,8 +1,6 @@ package org.ruoyi.system.mapper; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.ChatGpts; -import org.ruoyi.system.domain.vo.ChatGptsVo; /** * gpts绠$悊Mapper鎺ュ彛 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatMessageMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatMessageMapper.java index a58d611..7c4e747 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatMessageMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatMessageMapper.java @@ -1,8 +1,6 @@ package org.ruoyi.system.mapper; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.ChatMessage; -import org.ruoyi.system.domain.vo.ChatMessageVo; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatPluginMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatPluginMapper.java index 3070d15..29fb348 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatPluginMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatPluginMapper.java @@ -1,7 +1,5 @@ package org.ruoyi.system.mapper; -import org.ruoyi.system.domain.ChatPlugin; -import org.ruoyi.system.domain.vo.ChatPluginVo; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatTokenMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatTokenMapper.java index 5bd6206..aeea71e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatTokenMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatTokenMapper.java @@ -1,8 +1,6 @@ package org.ruoyi.system.mapper; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.ChatToken; -import org.ruoyi.system.domain.vo.ChatTokenVo; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVisitorUsageMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVisitorUsageMapper.java index 7b4a8fc..56424e6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVisitorUsageMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVisitorUsageMapper.java @@ -1,7 +1,5 @@ package org.ruoyi.system.mapper; -import org.ruoyi.system.domain.ChatVisitorUsage; -import org.ruoyi.system.domain.vo.ChatVisitorUsageVo; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; /** diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVoucherMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVoucherMapper.java index 490270d..d54e705 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVoucherMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/mapper/ChatVoucherMapper.java @@ -1,8 +1,6 @@ package org.ruoyi.system.mapper; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; -import org.ruoyi.system.domain.ChatVoucher; -import org.ruoyi.system.domain.vo.ChatVoucherVo; /** * 鐢ㄦ埛鍏戞崲璁板綍Mapper鎺ュ彛 diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatAppStoreService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatAppStoreService.java deleted file mode 100644 index 44b4967..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatAppStoreService.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.ruoyi.system.service; - -import org.ruoyi.system.domain.vo.ChatAppStoreVo; -import org.ruoyi.system.domain.bo.ChatAppStoreBo; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.system.request.RoleListDto; -import org.ruoyi.system.request.RoleRequest; -import org.ruoyi.system.request.SimpleGenerateRequest; -import org.ruoyi.system.response.SimpleGenerateDataResponse; -import org.ruoyi.system.response.rolelist.ChatAppStoreVO; - -import java.util.Collection; -import java.util.List; - -/** - * 搴旂敤甯傚満Service鎺ュ彛 - * - * @author Lion Li - * @date 2024-03-19 - */ -public interface IChatAppStoreService { - - /** - * 鏌ヨ搴旂敤甯傚満 - */ - ChatAppStoreVo queryById(Long id); - - /** - * 鏌ヨ搴旂敤甯傚満鍒楄〃 - */ - TableDataInfo<ChatAppStoreVo> queryPageList(ChatAppStoreBo bo, PageQuery pageQuery); - - /** - * 鏌ヨ搴旂敤甯傚満鍒楄〃 - */ - List<ChatAppStoreVo> queryList(ChatAppStoreBo bo); - - /** - * 鏂板搴旂敤甯傚満 - */ - Boolean insertByBo(RoleRequest roleRequest); - - /** - * 鐢熸垚闊抽 - */ - SimpleGenerateDataResponse simpleGenerate(SimpleGenerateRequest simpleGenerateRequest); - - /** - * 淇敼搴旂敤甯傚満 - */ - Boolean updateByBo(ChatAppStoreBo bo); - - /** - * 鏍¢獙骞舵壒閲忓垹闄ゅ簲鐢ㄥ競鍦轰俊鎭� - */ - Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); - - /** - * 鏌ヨ甯傚満瑙掕壊 - * - * @return 瑙掕壊鍒楄〃 - */ - List<ChatAppStoreVO> roleList(); - - /** - * 鏀惰棌甯傚満瑙掕壊 - * - */ - void copyRole(RoleListDto roleListDto); -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatAppStoreImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatAppStoreImpl.java deleted file mode 100644 index 25a7686..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatAppStoreImpl.java +++ /dev/null @@ -1,259 +0,0 @@ -package org.ruoyi.system.service.impl; - -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import org.ruoyi.common.core.domain.model.LoginUser; -import org.ruoyi.common.core.exception.base.BaseException; -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.common.satoken.utils.LoginHelper; -import org.ruoyi.system.domain.ChatAppStore; -import org.ruoyi.system.domain.bo.ChatAppStoreBo; -import org.ruoyi.system.domain.vo.ChatAppStoreVo; -import org.ruoyi.system.mapper.ChatAppStoreMapper; -import org.ruoyi.system.request.RoleListDto; -import org.ruoyi.system.request.RoleRequest; -import org.ruoyi.system.request.SimpleGenerateRequest; -import org.ruoyi.system.response.RoleResponse; -import org.ruoyi.system.response.SimpleGenerateDataResponse; -import org.ruoyi.system.response.SimpleGenerateResponse; -import org.ruoyi.system.response.rolelist.ContentResponse; -import org.ruoyi.system.response.rolelist.RoleListResponse; -import org.ruoyi.system.response.rolelist.ChatAppStoreVO; -import org.ruoyi.system.service.IChatCostService; -import org.ruoyi.system.service.IChatAppStoreService; -import org.ruoyi.system.util.AudioOkHttpUtil; -import org.springframework.stereotype.Service; - -import java.io.IOException; -import java.util.*; - -/** - * 搴旂敤甯傚満Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2024-03-19 - */ -@RequiredArgsConstructor -@Service -@Slf4j -public class ChatAppStoreImpl implements IChatAppStoreService { - - private final ChatAppStoreMapper baseMapper; - - private final IChatCostService chatService; - - private final AudioOkHttpUtil audioOkHttpUtil; - - /** - * 鏌ヨ搴旂敤甯傚満 - */ - @Override - public ChatAppStoreVo queryById(Long id) { - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨ搴旂敤甯傚満鍒楄〃 - */ - @Override - public TableDataInfo<ChatAppStoreVo> queryPageList(ChatAppStoreBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatAppStore> lqw = buildQueryWrapper(bo); - Page<ChatAppStoreVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ搴旂敤甯傚満鍒楄〃 - */ - @Override - public List<ChatAppStoreVo> queryList(ChatAppStoreBo bo) { - LambdaQueryWrapper<ChatAppStore> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatAppStore> buildQueryWrapper(ChatAppStoreBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatAppStore> lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getName()), ChatAppStore::getName, bo.getName()); - lqw.eq(StringUtils.isNotBlank(bo.getDescription()), ChatAppStore::getDescription, bo.getDescription()); - lqw.eq(StringUtils.isNotBlank(bo.getAvatar()), ChatAppStore::getAvatar, bo.getAvatar()); - lqw.eq(bo.getCreateBy()!=null, ChatAppStore::getCreateBy, bo.getCreateBy()); - return lqw; - } - - /** - * 鏂板搴旂敤甯傚満 - */ - @Override - public Boolean insertByBo(RoleRequest roleRequest) { - try { - String prompt = convertFileToBase64(roleRequest.getPrompt()); - roleRequest.setPrompt("data:audio/x-m4a;base64," + prompt); - - String avatar = convertFileToBase64(roleRequest.getAvatar()); - roleRequest.setAvatar("data:image/png;base64," + avatar); - - } catch (IOException e) { - log.error("杞崲base64鍑虹幇閿欒锛歿}", e.getMessage()); - } - // 鍒涘缓涓�涓猂equest瀵硅薄鏉ラ厤缃綘鐨勮姹� - String json = JSONUtil.toJsonStr(roleRequest); - Request postRequest = audioOkHttpUtil.createPostRequest("api/tts/voice", json); - String body = audioOkHttpUtil.executeRequest(postRequest); - RoleResponse bean = JSONUtil.toBean(body, RoleResponse.class); - ChatAppStore addVoiceRole = new ChatAppStore(); - addVoiceRole.setName(roleRequest.getName()); - addVoiceRole.setDescription(roleRequest.getDescription()); - addVoiceRole.setAvatar(bean.getData().getMetadata().getAvatar()); - - return baseMapper.insert(addVoiceRole) > 0; - } - - private static String convertFileToBase64(String fileUrl) throws IOException { - OkHttpClient client = new OkHttpClient(); - Request request = new Request.Builder().url(fileUrl).build(); - Response response = client.newCall(request).execute(); - if (!response.isSuccessful()) throw new IOException("Failed to download file: " + response); - byte[] fileData = response.body().bytes(); - return Base64.getEncoder().encodeToString(fileData); - } - - /** - * 淇敼搴旂敤甯傚満 - */ - @Override - public Boolean updateByBo(ChatAppStoreBo bo) { - ChatAppStore update = MapstructUtils.convert(bo, ChatAppStore.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatAppStore entity) { - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎搴旂敤甯傚満 - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if (isValid) { - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } - - /** - * 瀹炴椂鐢熸垚璇煶 - * - * @param simpleGenerateRequest 鐢熸垚璇煶瀵硅薄 - * @return 鐢熸垚鐨勮闊充俊鎭� - */ - @Override - public SimpleGenerateDataResponse simpleGenerate(SimpleGenerateRequest simpleGenerateRequest) { - double charge = calculateCharge(simpleGenerateRequest.getText()); - // 鎵i櫎璐圭敤骞朵笖淇濆瓨娑堟伅璁板綍 - chatService.taskDeduct(simpleGenerateRequest.getModel(), simpleGenerateRequest.getText(), charge); - // 鍒涘缓涓�涓猂equest瀵硅薄鏉ラ厤缃綘鐨勮姹� - String json = JSONUtil.toJsonStr(simpleGenerateRequest); - Request postRequest = audioOkHttpUtil.createPostRequest("api/tts/simple-generate", json); - String body = audioOkHttpUtil.executeRequest(postRequest); - SimpleGenerateResponse bean = JSONUtil.toBean(body, SimpleGenerateResponse.class); - return bean.getData(); - } - - /** - * 鏌ヨ甯傚満瑙掕壊 - * - * @return 瑙掕壊鍒楄〃 - */ - @Override - public List<ChatAppStoreVO> roleList() { - Request postRequest = audioOkHttpUtil.createGetRequest("api/tts/voice"); - String body = audioOkHttpUtil.executeRequest(postRequest); - RoleListResponse bean = JSONUtil.toBean(body, RoleListResponse.class); - List<ChatAppStoreVO> roleList = new ArrayList<>(); - for (ContentResponse element : bean.getData()) { - String name = element.getName(); - String description = element.getMetadata().getDescription(); - String voicesId = element.getId(); - String avatar = element.getMetadata().getAvatar(); - String previewAudio; - if (element.getMetadata().getPrompts() == null) { - // 浠嶫SON涓В鏋愬嚭鐨勬暟鎹病鏈塸rompts - previewAudio = element.getMetadata().getPreviewAudio(); - } else { - previewAudio = element.getMetadata().getPrompts().get(0).getPromptOriginAudioStorageUrl(); - } - //roleList.add(new ChatAppStoreVO()); - } - return roleList; - - } - - /** - * 鏀惰棌甯傚満瑙掕壊 - */ - @Override - public void copyRole(RoleListDto roleListDto) { - // 淇濆瓨鑷虫暟鎹簱 - ChatAppStore voiceRole = new ChatAppStore(); - voiceRole.setName(roleListDto.getName()); - voiceRole.setDescription(roleListDto.getDescription()); - voiceRole.setAvatar(roleListDto.getAvatar()); - baseMapper.insert(voiceRole); - } - - /** - * 鏍规嵁鏂囨湰闀垮害璁$畻鎵i櫎鐨勯噾棰濄�� - * - * @param text 杈撳叆鐨勬枃鏈� - * @return 鎵i櫎鐨勯噾棰� - */ - public static double calculateCharge(String text) { - if (text == null || text.isEmpty()) { - return 0.0; - } - - int length = text.length(); - double charge = 0.0; - - while (length > 0) { - if (length >= 500) { - // 瀵逛簬姣�500涓瓧绗︼紝鎵i櫎0.5鍏� - charge += (length / 500) * 0.5; - length %= 500; // 澶勭悊鍓╀綑瀛楃 - } else if (length >= 100) { - // 瀵逛簬100鍒�499涓瓧绗︼紝鎵i櫎0.2鍏� - charge += 0.2; - break; // 澶勭悊瀹屾瘯锛岄��鍑哄惊鐜� - } else { - // 瀵逛簬灏戜簬100涓瓧绗︼紝鎵i櫎0.1鍏� - charge += 0.1; - break; // 澶勭悊瀹屾瘯锛岄��鍑哄惊鐜� - } - } - return charge; - } - - public Long getUserId() { - LoginUser loginUser = LoginHelper.getLoginUser(); - if (loginUser == null) { - throw new BaseException("鐢ㄦ埛鏈櫥褰曪紒"); - } - return loginUser.getUserId(); - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java deleted file mode 100644 index 7d2c99f..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java +++ /dev/null @@ -1,159 +0,0 @@ -package org.ruoyi.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ruoyi.common.core.event.ConfigChangeEvent; -import org.ruoyi.common.core.service.ConfigService; -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.system.domain.ChatConfig; -import org.ruoyi.system.domain.bo.ChatConfigBo; -import org.ruoyi.system.domain.vo.ChatConfigVo; -import org.ruoyi.system.mapper.ChatConfigMapper; -import org.ruoyi.system.service.IChatConfigService; -import org.springframework.context.ApplicationEventPublisher; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.List; - -/** - * 瀵硅瘽閰嶇疆淇℃伅 -Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2024-04-13 - */ -@RequiredArgsConstructor -@Service -@Slf4j -public class ChatConfigServiceImpl implements IChatConfigService, ConfigService { - - private final ChatConfigMapper baseMapper; - - private final ApplicationEventPublisher eventPublisher; - - /** - * 鏌ヨ瀵硅瘽閰嶇疆淇℃伅 - - */ - @Override - public ChatConfigVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨ瀵硅瘽閰嶇疆淇℃伅鍒楄〃 - */ - @Override - public TableDataInfo<ChatConfigVo> queryPageList(ChatConfigBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); - Page<ChatConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ瀵硅瘽閰嶇疆淇℃伅鍒楄〃 - */ - @Override - public List<ChatConfigVo> queryList(ChatConfigBo bo) { - LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatConfig> buildQueryWrapper(ChatConfigBo bo) { - LambdaQueryWrapper<ChatConfig> lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getCategory()), ChatConfig::getCategory, bo.getCategory()); - lqw.like(StringUtils.isNotBlank(bo.getConfigName()), ChatConfig::getConfigName, bo.getConfigName()); - lqw.eq(StringUtils.isNotBlank(bo.getConfigValue()), ChatConfig::getConfigValue, bo.getConfigValue()); - return lqw; - } - - /** - * 鏂板瀵硅瘽閰嶇疆淇℃伅 - - */ - @Override - public Boolean insertByBo(ChatConfigBo bo) { - ChatConfig add = MapstructUtils.convert(bo, ChatConfig.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼瀵硅瘽閰嶇疆淇℃伅 - - */ - @Override - public Boolean updateByBo(ChatConfigBo bo) { - ChatConfig update = MapstructUtils.convert(bo, ChatConfig.class); - validEntityBeforeSave(update); - // 鏇存柊閰嶇疆淇℃伅(绫诲瀷鍖哄垎) - eventPublisher.publishEvent(new ConfigChangeEvent(this)); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatConfig entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎瀵硅瘽閰嶇疆淇℃伅 - - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } - - /** - * 鏍规嵁閰嶇疆绫诲瀷鍜岄厤缃甼ey鑾峰彇鍊� - * - * @param category - * @param configKey - * @return - */ - @Override - public String getConfigValue(String category,String configKey) { - ChatConfigBo bo = new ChatConfigBo(); - bo.setCategory(category); - bo.setConfigName(configKey); - LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); - ChatConfigVo chatConfigVo = baseMapper.selectVoOne(lqw); - if(chatConfigVo != null){ - return chatConfigVo.getConfigValue(); - }else { - return ""; - } - } - - /** - * 鏍规嵁閰嶇疆绫诲瀷鍜岄厤缃甼ey鑾峰彇鍊� - * - * @param category - * @return - */ - @Override - public List<ChatConfigVo> getSysConfigValue(String category) { - ChatConfigBo bo = new ChatConfigBo(); - bo.setCategory(category); - LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatCostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatCostServiceImpl.java deleted file mode 100644 index 137bea0..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatCostServiceImpl.java +++ /dev/null @@ -1,161 +0,0 @@ -package org.ruoyi.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.ruoyi.common.core.domain.model.LoginUser; -import org.ruoyi.common.core.exception.ServiceException; -import org.ruoyi.common.core.exception.base.BaseException; -import org.ruoyi.common.satoken.utils.LoginHelper; -import org.ruoyi.system.domain.ChatToken; -import org.ruoyi.system.domain.SysUser; -import org.ruoyi.system.domain.bo.ChatMessageBo; -import org.ruoyi.system.domain.bo.SysModelBo; -import org.ruoyi.system.domain.vo.SysModelVo; -import org.ruoyi.system.mapper.SysUserMapper; -import org.ruoyi.system.service.IChatCostService; -import org.ruoyi.system.service.IChatMessageService; -import org.ruoyi.system.service.IChatTokenService; -import org.ruoyi.system.service.ISysModelService; -import org.springframework.stereotype.Service; - -import java.util.List; - -/** - * @author hncboy - * @date 2023/3/22 19:41 - * 鑱婂ぉ鐩稿叧涓氬姟瀹炵幇绫� - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class ChatCostServiceImpl implements IChatCostService { - - private final SysUserMapper sysUserMapper; - - private final IChatMessageService chatMessageService; - - private final IChatTokenService chatTokenService; - - private final ISysModelService sysModelService; - - /** - * 鏍规嵁娑堣�楃殑tokens鎵i櫎浣欓 - * - * @param chatMessageBo - */ - public void deductToken(ChatMessageBo chatMessageBo) { - // 璁$畻鎬籺oken鏁� - ChatToken chatToken = chatTokenService.queryByUserId(chatMessageBo.getUserId(), chatMessageBo.getModelName()); - if (chatToken == null) { - chatToken = new ChatToken(); - chatToken.setToken(0); - } - int totalTokens = chatToken.getToken() + chatMessageBo.getTotalTokens(); - // 濡傛灉鎬籺oken鏁板ぇ浜庣瓑浜�1000,杩涜璐圭敤鎵i櫎 - if (totalTokens >= 1000) { - // 璁$畻璐圭敤 - int token1 = totalTokens / 1000; - int token2 = totalTokens % 1000; - if (token2 > 0) { - // 淇濆瓨鍓╀綑tokens - chatToken.setModelName(chatMessageBo.getModelName()); - chatToken.setUserId(chatMessageBo.getUserId()); - chatToken.setToken(token2); - chatTokenService.editToken(chatToken); - } else { - chatTokenService.resetToken(chatMessageBo.getUserId(), chatMessageBo.getModelName()); - } - // 鎵i櫎鐢ㄦ埛浣欓 - SysModelBo sysModelBo = new SysModelBo(); - sysModelBo.setModelName(chatMessageBo.getModelName()); - List<SysModelVo> sysModelList = sysModelService.queryList(sysModelBo); - double modelPrice = sysModelList.get(0).getModelPrice(); - Double numberCost = token1 * modelPrice; - deductUserBalance(chatMessageBo.getUserId(), numberCost); - chatMessageBo.setDeductCost(numberCost); - } else { - // 鎵i櫎鐢ㄦ埛浣欓 - deductUserBalance(chatMessageBo.getUserId(), 0.0); - chatMessageBo.setDeductCost(0d); - chatMessageBo.setRemark("涓嶆弧1kToken,璁″叆涓嬩竴娆�!"); - chatToken.setToken(totalTokens); - chatToken.setModelName(chatMessageBo.getModelName()); - chatToken.setUserId(chatMessageBo.getUserId()); - chatTokenService.editToken(chatToken); - } - // 淇濆瓨娑堟伅璁板綍 - chatMessageService.insertByBo(chatMessageBo); - } - - - - /** - * 浠庣敤鎴蜂綑棰濅腑鎵i櫎璐圭敤 - * - * @param userId 鐢ㄦ埛ID - * @param numberCost 瑕佹墸闄ょ殑璐圭敤 - */ - @Override - public void deductUserBalance(Long userId, Double numberCost) { - SysUser sysUser = sysUserMapper.selectById(userId); - if (sysUser == null) { - return; - } - - Double userBalance = sysUser.getUserBalance(); - if (userBalance < numberCost || userBalance == 0) { - throw new ServiceException("浣欓涓嶈冻, 璇峰厖鍊�"); - } - sysUserMapper.update(null, - new LambdaUpdateWrapper<SysUser>() - .set(SysUser::getUserBalance, Math.max(userBalance - numberCost, 0)) - .eq(SysUser::getUserId, userId)); - } - - - - /** - * 鎵i櫎浠诲姟璐圭敤 - * - */ - @Override - public void taskDeduct(String type,String prompt, double cost) { - // 鍒ゆ柇鐢ㄦ埛鏄惁浠樿垂 - checkUserGrade(); - // 鎵i櫎璐圭敤 - deductUserBalance(getUserId(), cost); - // 淇濆瓨娑堟伅璁板綍 - ChatMessageBo chatMessageBo = new ChatMessageBo(); - chatMessageBo.setUserId(getUserId()); - chatMessageBo.setModelName(type); - chatMessageBo.setContent(prompt); - chatMessageBo.setDeductCost(cost); - chatMessageBo.setTotalTokens(0); - chatMessageService.insertByBo(chatMessageBo); - } - - /** - * 鍒ゆ柇鐢ㄦ埛鏄惁浠樿垂 - */ - @Override - public void checkUserGrade() { - SysUser sysUser = sysUserMapper.selectById(getUserId()); - if("0".equals(sysUser.getUserGrade())){ - throw new BaseException("This model is currently unavailable for free users. Please make any amount of deposit to access."); - } - } - - /** - * 鑾峰彇鐢ㄦ埛Id - * - * @return - */ - public Long getUserId() { - LoginUser loginUser = LoginHelper.getLoginUser(); - if (loginUser == null) { - throw new BaseException("鐢ㄦ埛鏈櫥褰曪紒"); - } - return loginUser.getUserId(); - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatGptsServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatGptsServiceImpl.java deleted file mode 100644 index 38ca74a..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatGptsServiceImpl.java +++ /dev/null @@ -1,118 +0,0 @@ -package org.ruoyi.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.system.domain.ChatGpts; -import org.ruoyi.system.domain.bo.ChatGptsBo; -import org.ruoyi.system.domain.vo.ChatGptsVo; -import org.ruoyi.system.mapper.ChatGptsMapper; -import org.ruoyi.system.service.IChatGptsService; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -/** - * gpts绠$悊Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2024-07-09 - */ -@RequiredArgsConstructor -@Service -public class ChatGptsServiceImpl implements IChatGptsService { - - private final ChatGptsMapper baseMapper; - - /** - * 鏌ヨgpts绠$悊 - */ - @Override - public ChatGptsVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨgpts绠$悊鍒楄〃 - */ - @Override - public TableDataInfo<ChatGptsVo> queryPageList(ChatGptsBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatGpts> lqw = buildQueryWrapper(bo); - Page<ChatGptsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨgpts绠$悊鍒楄〃 - */ - @Override - public List<ChatGptsVo> queryList(ChatGptsBo bo) { - LambdaQueryWrapper<ChatGpts> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatGpts> buildQueryWrapper(ChatGptsBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatGpts> lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getGid()), ChatGpts::getGid, bo.getGid()); - lqw.like(StringUtils.isNotBlank(bo.getName()), ChatGpts::getName, bo.getName()); - lqw.eq(StringUtils.isNotBlank(bo.getLogo()), ChatGpts::getLogo, bo.getLogo()); - lqw.eq(StringUtils.isNotBlank(bo.getInfo()), ChatGpts::getInfo, bo.getInfo()); - lqw.eq(StringUtils.isNotBlank(bo.getAuthorId()), ChatGpts::getAuthorId, bo.getAuthorId()); - lqw.like(StringUtils.isNotBlank(bo.getAuthorName()), ChatGpts::getAuthorName, bo.getAuthorName()); - lqw.eq(StringUtils.isNotBlank(bo.getUseCnt()), ChatGpts::getUseCnt, bo.getUseCnt()); - lqw.eq(StringUtils.isNotBlank(bo.getBad()), ChatGpts::getBad, bo.getBad()); - lqw.eq(StringUtils.isNotBlank(bo.getType()), ChatGpts::getType, bo.getType()); - lqw.eq(StringUtils.isNotBlank(bo.getUpdateIp()), ChatGpts::getUpdateIp, bo.getUpdateIp()); - return lqw; - } - - /** - * 鏂板gpts绠$悊 - */ - @Override - public Boolean insertByBo(ChatGptsBo bo) { - ChatGpts add = MapstructUtils.convert(bo, ChatGpts.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼gpts绠$悊 - */ - @Override - public Boolean updateByBo(ChatGptsBo bo) { - ChatGpts update = MapstructUtils.convert(bo, ChatGpts.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatGpts entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎gpts绠$悊 - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatMessageServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatMessageServiceImpl.java deleted file mode 100644 index 421c6cf..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatMessageServiceImpl.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.ruoyi.system.service.impl; - -import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.RequiredArgsConstructor; -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.system.domain.ChatMessage; -import org.ruoyi.system.domain.SysUser; -import org.ruoyi.system.domain.bo.ChatMessageBo; -import org.ruoyi.system.domain.vo.ChatMessageVo; -import org.ruoyi.system.domain.vo.SysUserVo; -import org.ruoyi.system.mapper.ChatMessageMapper; -import org.ruoyi.system.mapper.SysUserMapper; -import org.ruoyi.system.service.IChatMessageService; -import org.springframework.stereotype.Service; - -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * 鑱婂ぉ娑堟伅Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2023-11-26 - */ -@RequiredArgsConstructor -@Service -public class ChatMessageServiceImpl implements IChatMessageService { - - private final ChatMessageMapper baseMapper; - - private final SysUserMapper sysUserMapper; - /** - * 鏌ヨ鑱婂ぉ娑堟伅 - */ - @Override - public ChatMessageVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨ鑱婂ぉ娑堟伅鍒楄〃 - */ - @Override - public TableDataInfo<ChatMessageVo> queryPageList(ChatMessageBo bo, PageQuery pageQuery) { - // 鏍规嵁鐢ㄦ埛鍚嶇О鏌ヨ鐢ㄦ埛 - if(StringUtils.isNotEmpty(bo.getUserName())){ - SysUserVo sysUserVo = sysUserMapper.selectUserByUserName(bo.getUserName()); - bo.setUserId(sysUserVo.getUserId()); - } - - LambdaQueryWrapper<ChatMessage> lqw = buildQueryWrapper(bo); - Page<ChatMessageVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - if(CollectionUtil.isEmpty(result.getRecords())){ - return TableDataInfo.build(result); - } - List<Long> userIds = result.getRecords().stream() - .map(ChatMessageVo::getUserId) - .collect(Collectors.toList()); - // 涓�娆℃�ф煡璇㈡墍鏈塽serName - Map<Long, String> userIdToUserNameMap = getUserNamesByUserIds(userIds); - // 璁剧疆userName - result.getRecords().forEach(chatMessageVo -> { - chatMessageVo.setUserName(userIdToUserNameMap.get(chatMessageVo.getUserId())); - }); - return TableDataInfo.build(result); - } - - private Map<Long, String> getUserNamesByUserIds(List<Long> userIds) { - // 瀹炵幇鎵归噺鏌ヨuserName鐨勯�昏緫锛屼緥濡傞�氳繃sysUserMapper鏌ヨsys_user琛� - List<SysUser> sysUsers = sysUserMapper.selectBatchIds(userIds); - return sysUsers.stream() - .collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName)); - } - - /** - * 鏌ヨ鑱婂ぉ娑堟伅鍒楄〃 - */ - @Override - public List<ChatMessageVo> queryList(ChatMessageBo bo) { - LambdaQueryWrapper<ChatMessage> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatMessage> buildQueryWrapper(ChatMessageBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatMessage> lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getUserId() != null, ChatMessage::getUserId, bo.getUserId()); - lqw.eq(StringUtils.isNotBlank(bo.getContent()), ChatMessage::getContent, bo.getContent()); - lqw.eq(bo.getDeductCost() != null, ChatMessage::getDeductCost, bo.getDeductCost()); - lqw.eq(bo.getTotalTokens() != null, ChatMessage::getTotalTokens, bo.getTotalTokens()); - lqw.like(StringUtils.isNotBlank(bo.getModelName()), ChatMessage::getModelName, bo.getModelName()); - return lqw; - } - - /** - * 鏂板鑱婂ぉ娑堟伅 - */ - @Override - public Boolean insertByBo(ChatMessageBo bo) { - ChatMessage add = MapstructUtils.convert(bo, ChatMessage.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼鑱婂ぉ娑堟伅 - */ - @Override - public Boolean updateByBo(ChatMessageBo bo) { - ChatMessage update = MapstructUtils.convert(bo, ChatMessage.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatMessage entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎鑱婂ぉ娑堟伅 - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatPluginServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatPluginServiceImpl.java deleted file mode 100644 index 6b84e0c..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatPluginServiceImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.ruoyi.system.service.impl; - -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.ruoyi.system.domain.bo.ChatPluginBo; -import org.ruoyi.system.domain.vo.ChatPluginVo; -import org.ruoyi.system.domain.ChatPlugin; -import org.ruoyi.system.mapper.ChatPluginMapper; -import org.ruoyi.system.service.IChatPluginService; - -import java.util.List; -import java.util.Map; -import java.util.Collection; - -/** - * 鎻掍欢绠$悊Service涓氬姟灞傚鐞� - * - * @author ageerle - * @date 2025-03-30 - */ -@RequiredArgsConstructor -@Service -public class ChatPluginServiceImpl implements IChatPluginService { - - private final ChatPluginMapper baseMapper; - - /** - * 鏌ヨ鎻掍欢绠$悊 - */ - @Override - public ChatPluginVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨ鎻掍欢绠$悊鍒楄〃 - */ - @Override - public TableDataInfo<ChatPluginVo> queryPageList(ChatPluginBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatPlugin> lqw = buildQueryWrapper(bo); - Page<ChatPluginVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ鎻掍欢绠$悊鍒楄〃 - */ - @Override - public List<ChatPluginVo> queryList(ChatPluginBo bo) { - LambdaQueryWrapper<ChatPlugin> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatPlugin> buildQueryWrapper(ChatPluginBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatPlugin> lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getName()), ChatPlugin::getName, bo.getName()); - lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatPlugin::getCode, bo.getCode()); - return lqw; - } - - /** - * 鏂板鎻掍欢绠$悊 - */ - @Override - public Boolean insertByBo(ChatPluginBo bo) { - ChatPlugin add = MapstructUtils.convert(bo, ChatPlugin.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼鎻掍欢绠$悊 - */ - @Override - public Boolean updateByBo(ChatPluginBo bo) { - ChatPlugin update = MapstructUtils.convert(bo, ChatPlugin.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatPlugin entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎鎻掍欢绠$悊 - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatTokenServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatTokenServiceImpl.java deleted file mode 100644 index f5e69bc..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatTokenServiceImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.ruoyi.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import org.ruoyi.system.domain.ChatToken; -import org.ruoyi.system.mapper.ChatTokenMapper; -import org.ruoyi.system.service.IChatTokenService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -/** - * 鑱婂ぉ娑堟伅Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2023-11-26 - */ -@RequiredArgsConstructor -@Service -public class ChatTokenServiceImpl implements IChatTokenService { - - private final ChatTokenMapper baseMapper; - - @Override - public ChatToken queryByUserId(Long userId,String modelName) { - return baseMapper.selectOne( - new LambdaQueryWrapper<ChatToken>() - .eq(ChatToken::getUserId, userId) - .eq(ChatToken::getModelName, modelName) - .last("limit 1") - ); - } - - /** - * 娓呯┖鐢ㄦ埛token - * - */ - @Override - public void resetToken(Long userId,String modelName) { - ChatToken chatToken = queryByUserId(userId, modelName); - chatToken.setToken(0); - baseMapper.updateById(chatToken); - } - - /** - * 澧炲姞鐢ㄦ埛token - * - */ - @Override - public void editToken(ChatToken chatToken) { - if(chatToken.getId() == null){ - baseMapper.insert(chatToken); - }else { - baseMapper.updateById(chatToken); - } - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVisitorUsageServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVisitorUsageServiceImpl.java deleted file mode 100644 index 85f1e76..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVisitorUsageServiceImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.ruoyi.system.service.impl; - -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.ruoyi.system.domain.bo.ChatVisitorUsageBo; -import org.ruoyi.system.domain.vo.ChatVisitorUsageVo; -import org.ruoyi.system.domain.ChatVisitorUsage; -import org.ruoyi.system.mapper.ChatVisitorUsageMapper; -import org.ruoyi.system.service.IChatVisitorUsageService; - -import java.util.List; -import java.util.Map; -import java.util.Collection; - -/** - * 璁垮绠$悊Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2024-07-14 - */ -@RequiredArgsConstructor -@Service -public class ChatVisitorUsageServiceImpl implements IChatVisitorUsageService { - - private final ChatVisitorUsageMapper baseMapper; - - /** - * 鏌ヨ璁垮绠$悊 - */ - @Override - public ChatVisitorUsageVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨ璁垮绠$悊鍒楄〃 - */ - @Override - public TableDataInfo<ChatVisitorUsageVo> queryPageList(ChatVisitorUsageBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatVisitorUsage> lqw = buildQueryWrapper(bo); - Page<ChatVisitorUsageVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ璁垮绠$悊鍒楄〃 - */ - @Override - public List<ChatVisitorUsageVo> queryList(ChatVisitorUsageBo bo) { - LambdaQueryWrapper<ChatVisitorUsage> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatVisitorUsage> buildQueryWrapper(ChatVisitorUsageBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatVisitorUsage> lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getFingerprint()), ChatVisitorUsage::getFingerprint, bo.getFingerprint()); - lqw.eq(StringUtils.isNotBlank(bo.getUsageCount()), ChatVisitorUsage::getUsageCount, bo.getUsageCount()); - lqw.eq(StringUtils.isNotBlank(bo.getIpAddress()), ChatVisitorUsage::getIpAddress, bo.getIpAddress()); - lqw.eq(StringUtils.isNotBlank(bo.getUpdateIp()), ChatVisitorUsage::getUpdateIp, bo.getUpdateIp()); - return lqw; - } - - /** - * 鏂板璁垮绠$悊 - */ - @Override - public Boolean insertByBo(ChatVisitorUsageBo bo) { - ChatVisitorUsage add = MapstructUtils.convert(bo, ChatVisitorUsage.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼璁垮绠$悊 - */ - @Override - public Boolean updateByBo(ChatVisitorUsageBo bo) { - ChatVisitorUsage update = MapstructUtils.convert(bo, ChatVisitorUsage.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatVisitorUsage entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎璁垮绠$悊 - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVoucherServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVoucherServiceImpl.java deleted file mode 100644 index 41078ab..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVoucherServiceImpl.java +++ /dev/null @@ -1,180 +0,0 @@ -package org.ruoyi.system.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollectionUtil; -import org.ruoyi.common.core.utils.MapstructUtils; -import org.ruoyi.common.core.utils.StringUtils; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import org.ruoyi.common.satoken.utils.LoginHelper; -import org.ruoyi.system.domain.SysUser; -import org.ruoyi.system.domain.bo.SysUserBo; -import org.ruoyi.system.domain.vo.SysUserVo; -import org.ruoyi.system.mapper.SysUserMapper; -import org.ruoyi.system.service.ISysUserService; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.ruoyi.system.domain.bo.ChatVoucherBo; -import org.ruoyi.system.domain.vo.ChatVoucherVo; -import org.ruoyi.system.domain.ChatVoucher; -import org.ruoyi.system.mapper.ChatVoucherMapper; -import org.ruoyi.system.service.IChatVoucherService; - -import java.util.List; -import java.util.Map; -import java.util.Collection; -import java.util.stream.Collectors; - -/** - * 鐢ㄦ埛鍏戞崲璁板綍Service涓氬姟灞傚鐞� - * - * @author Lion Li - * @date 2024-05-03 - */ -@RequiredArgsConstructor -@Service -public class ChatVoucherServiceImpl implements IChatVoucherService { - - private final ChatVoucherMapper baseMapper; - - private final ISysUserService sysUserService; - - private final SysUserMapper sysUserMapper; - - /** - * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍 - */ - @Override - public ChatVoucherVo queryById(Long id){ - return baseMapper.selectVoById(id); - } - - /** - * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃 - */ - @Override - public TableDataInfo<ChatVoucherVo> queryPageList(ChatVoucherBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatVoucher> lqw = buildQueryWrapper(bo); - Page<ChatVoucherVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - if(CollectionUtil.isEmpty(result.getRecords())){ - return TableDataInfo.build(result); - } - // 鑾峰彇鎵�鏈塽serId - List<Long> userIds = result.getRecords().stream() - .map(ChatVoucherVo::getUserId) - .collect(Collectors.toList()); - // 涓�娆℃�ф煡璇㈡墍鏈塽serName - Map<Long, String> userIdToUserNameMap = getUserNamesByUserIds(userIds); - // 璁剧疆userName - result.getRecords().forEach(chatVoucherVo -> { - chatVoucherVo.setUserName(userIdToUserNameMap.get(chatVoucherVo.getUserId())); - }); - return TableDataInfo.build(result); - } - - private Map<Long, String> getUserNamesByUserIds(List<Long> userIds) { - // 瀹炵幇鎵归噺鏌ヨuserName鐨勯�昏緫锛屼緥濡傞�氳繃sysUserMapper鏌ヨsys_user琛� - List<SysUser> sysUsers = sysUserMapper.selectBatchIds(userIds); - return sysUsers.stream() - .collect(Collectors.toMap(SysUser::getUserId, SysUser::getUserName)); - } - - /** - * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃 - */ - @Override - public List<ChatVoucherVo> queryList(ChatVoucherBo bo) { - LambdaQueryWrapper<ChatVoucher> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatVoucher> buildQueryWrapper(ChatVoucherBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatVoucher> lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getUserId() != null, ChatVoucher::getUserId, bo.getUserId()); - lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatVoucher::getCode, bo.getCode()); - lqw.eq(bo.getAmount() != null, ChatVoucher::getAmount, bo.getAmount()); - lqw.eq(StringUtils.isNotBlank(bo.getStatus()), ChatVoucher::getStatus, bo.getStatus()); - return lqw; - } - - /** - * 鏂板鐢ㄦ埛鍏戞崲璁板綍 - */ - @Override - public Boolean insertByBo(ChatVoucherBo bo) { - ChatVoucher add = MapstructUtils.convert(bo, ChatVoucher.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; - if (flag) { - bo.setId(add.getId()); - } - return flag; - } - - /** - * 淇敼鐢ㄦ埛鍏戞崲璁板綍 - */ - @Override - public Boolean updateByBo(ChatVoucherBo bo) { - ChatVoucher update = MapstructUtils.convert(bo, ChatVoucher.class); - validEntityBeforeSave(update); - return baseMapper.updateById(update) > 0; - } - - /** - * 淇濆瓨鍓嶇殑鏁版嵁鏍¢獙 - */ - private void validEntityBeforeSave(ChatVoucher entity){ - //TODO 鍋氫竴浜涙暟鎹牎楠�,濡傚敮涓�绾︽潫 - } - - /** - * 鎵归噺鍒犻櫎鐢ㄦ埛鍏戞崲璁板綍 - */ - @Override - public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { - if(isValid){ - //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� - } - return baseMapper.deleteBatchIds(ids) > 0; - } - - /** - * 鍏戞崲鍗″瘑 - * - * @param bo 鍗″瘑淇℃伅 - */ - @Override - public Boolean redeem(ChatVoucherBo bo) { - LambdaQueryWrapper<ChatVoucher> lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatVoucher::getCode, bo.getCode()); - ChatVoucherVo chatVoucherVo = baseMapper.selectVoOne(lqw); - if(chatVoucherVo != null){ - // 濡傛灉鍗″瘑宸茬粡鍏戞崲 - if("2".equals(chatVoucherVo.getStatus())){ - return false; - } - SysUserVo sysUserVo = sysUserService.selectUserById(LoginHelper.getLoginUser().getUserId()); - // 鏇存柊鍗″瘑璁板綍 - chatVoucherVo.setUserId(LoginHelper.getLoginUser().getUserId()); - chatVoucherVo.setStatus("2"); - chatVoucherVo.setBalanceBefore(sysUserVo.getUserBalance()); - chatVoucherVo.setBalanceAfter(sysUserVo.getUserBalance()+chatVoucherVo.getAmount()); - // 娣诲姞鐢ㄦ埛浣欓 - sysUserVo.setUserBalance(sysUserVo.getUserBalance() + chatVoucherVo.getAmount()); - SysUserBo user = new SysUserBo(); - BeanUtil.copyProperties(sysUserVo,user); - sysUserService.updateUser(user); - - ChatVoucher update = MapstructUtils.convert(chatVoucherVo, ChatVoucher.class); - baseMapper.updateById(update); - }else { - return false; - } - return true; - } -} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/CoverServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/CoverServiceImpl.java index b2dbba6..4b6d96e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/CoverServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/CoverServiceImpl.java @@ -24,7 +24,6 @@ import org.ruoyi.system.domain.vo.cover.*; import org.ruoyi.system.mapper.CoverMapper; import org.ruoyi.system.mapper.CoverPromptAudioMapper; -import org.ruoyi.system.service.IChatCostService; import org.ruoyi.system.service.ICoverService; import org.ruoyi.system.util.WeChatScanHttpUtil; import org.springframework.stereotype.Service; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/PptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/PptServiceImpl.java index dcb3c2c..a3f17e9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/PptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/PptServiceImpl.java @@ -9,13 +9,11 @@ import org.apache.commons.lang3.math.NumberUtils; import org.ruoyi.common.core.constant.Constants; import org.ruoyi.common.core.domain.model.LoginUser; -import org.ruoyi.common.core.exception.base.BaseException; import org.ruoyi.common.core.service.ConfigService; import org.ruoyi.common.redis.utils.RedisUtils; import org.ruoyi.common.satoken.utils.LoginHelper; import org.ruoyi.system.cofing.OkHttpConfig; import org.ruoyi.system.domain.vo.ppt.*; -import org.ruoyi.system.service.IChatCostService; import org.ruoyi.system.service.IPptService; import org.ruoyi.system.util.HttpUtils; import org.ruoyi.system.util.WddPptApi; @@ -25,8 +23,6 @@ import javax.swing.filechooser.FileSystemView; import java.io.File; import java.time.Duration; - -import static org.ruoyi.common.satoken.utils.LoginHelper.getLoginUser; /** * AI-PPTService涓氬姟灞傚鐞� diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java index 7310b23..807650d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java @@ -42,9 +42,7 @@ import org.ruoyi.common.core.utils.file.MimeTypeUtils; import org.ruoyi.common.satoken.utils.LoginHelper; import org.ruoyi.system.domain.SysModel; -import org.ruoyi.system.domain.bo.ChatMessageBo; import org.ruoyi.system.domain.request.translation.TranslationRequest; -import org.ruoyi.system.domain.vo.ChatGptsVo; import org.ruoyi.system.listener.SSEEventSourceListener; import org.ruoyi.system.service.*; import org.springframework.core.io.InputStreamResource; @@ -78,8 +76,7 @@ private OpenAiStreamClient openAiStreamClient; - private final ChatConfig chatConfig; - + ChatConfig chatConfig; private final IChatCostService chatService; diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-modules/ruoyi-system/src/main/resources/application-prod.yml similarity index 100% rename from ruoyi-admin/src/main/resources/application-prod.yml rename to ruoyi-modules/ruoyi-system/src/main/resources/application-prod.yml diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-modules/ruoyi-system/src/main/resources/application.yml similarity index 100% rename from ruoyi-admin/src/main/resources/application.yml rename to ruoyi-modules/ruoyi-system/src/main/resources/application.yml diff --git a/ruoyi-admin/src/main/resources/banner.txt b/ruoyi-modules/ruoyi-system/src/main/resources/banner.txt similarity index 100% rename from ruoyi-admin/src/main/resources/banner.txt rename to ruoyi-modules/ruoyi-system/src/main/resources/banner.txt diff --git a/ruoyi-admin/src/main/resources/i18n/messages.properties b/ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages.properties similarity index 100% rename from ruoyi-admin/src/main/resources/i18n/messages.properties rename to ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages.properties diff --git a/ruoyi-admin/src/main/resources/i18n/messages_en_US.properties b/ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_en_US.properties similarity index 100% rename from ruoyi-admin/src/main/resources/i18n/messages_en_US.properties rename to ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_en_US.properties diff --git a/ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties b/ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_zh_CN.properties similarity index 100% rename from ruoyi-admin/src/main/resources/i18n/messages_zh_CN.properties rename to ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_zh_CN.properties diff --git a/ruoyi-admin/src/main/resources/ip2region.xdb b/ruoyi-modules/ruoyi-system/src/main/resources/ip2region.xdb similarity index 100% rename from ruoyi-admin/src/main/resources/ip2region.xdb rename to ruoyi-modules/ruoyi-system/src/main/resources/ip2region.xdb Binary files differ diff --git a/ruoyi-admin/src/main/resources/logback-plus.xml b/ruoyi-modules/ruoyi-system/src/main/resources/logback-plus.xml similarity index 100% rename from ruoyi-admin/src/main/resources/logback-plus.xml rename to ruoyi-modules/ruoyi-system/src/main/resources/logback-plus.xml diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatConfigMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatConfigMapper.xml deleted file mode 100644 index b620c1e..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatConfigMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="org.ruoyi.system.mapper.ChatConfigMapper"> - -</mapper> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatPluginMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatPluginMapper.xml deleted file mode 100644 index 3a678fb..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatPluginMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="org.ruoyi.system.mapper.ChatPluginMapper"> - -</mapper> diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVisitorUsageMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVisitorUsageMapper.xml deleted file mode 100644 index 7a49c85..0000000 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVisitorUsageMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="org.ruoyi.system.mapper.ChatVisitorUsageMapper"> - -</mapper> diff --git a/ruoyi-admin/src/main/resources/spy.properties b/ruoyi-modules/ruoyi-system/src/main/resources/spy.properties similarity index 100% rename from ruoyi-admin/src/main/resources/spy.properties rename to ruoyi-modules/ruoyi-system/src/main/resources/spy.properties diff --git a/ruoyi-modules/ruoyi-weixin/pom.xml b/ruoyi-modules/ruoyi-weixin/pom.xml new file mode 100644 index 0000000..3e067c0 --- /dev/null +++ b/ruoyi-modules/ruoyi-weixin/pom.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-ai</artifactId> + <version>1.0.0</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <artifactId>ruoyi-weixin</artifactId> + + <properties> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + +</project> -- Gitblit v1.9.3