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> ruoyi-admin/Dockerfile
ÎļþÒÑɾ³ý ruoyi-admin/pom.xml
ÎļþÒÑɾ³ý ruoyi-admin/src/main/java/org/ruoyi/controller/KnowledgeController.java
ÎļþÒÑɾ³ý 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> 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> ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatToken.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVisitorUsage.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/domain/ChatVisitorUsage.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package org.ruoyi.system.domain; package org.ruoyi.domain; import com.baomidou.mybatisplus.annotation.TableId; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; /** * 对è¯é ç½®ä¿¡æ¯ ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVisitorUsageBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; 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; } 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; } ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; /** ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatTokenVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVisitorUsageVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; 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> { } 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> { } 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> { } 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> { } 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> { } 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> { } 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> { } 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> { } 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); } ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatCostService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 { ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatTokenService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVisitorUsageService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/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; ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatConfigMapper.xml
ÎļþÃû´Ó ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVoucherMapper.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> 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> 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> 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> 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> 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; 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; 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.*; /** 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; 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 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; 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> 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> ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIApplication.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/org/ruoyi/RuoYiAIApplication.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package org.ruoyi; package org.ruoyi.system; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/RuoYiAIServletInitializer.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/org/ruoyi/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; ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/AuthController.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/org/ruoyi/controller/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.*; ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/CaptchaController.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/org/ruoyi/controller/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; /** * éªè¯ç æä½å¤ç 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.*; 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.*; 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.*; 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; /** 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; 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.*; 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.*; ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/controller/system/IndexController.java
ÎļþÃû´Ó ruoyi-admin/src/main/java/org/ruoyi/controller/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; 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); // } // //} 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 转æ¢åçå éé¢ï¼ç±»å为double */ 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); // 转æ¢ä¸ºdoubleå¹¶è¿å 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"); // è·åéé¢å符串并解æä¸º 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())){ // è§£æ 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弿¥éç¥ï¼webhookäºä»¶ï¼"+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 转æ¢åçå éé¢ï¼ç±»å为double // */ // 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); // // 转æ¢ä¸ºdoubleå¹¶è¿å // 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"); // // // è·åéé¢å符串并解æä¸º 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())){ // // è§£æ 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弿¥éç¥ï¼webhookäºä»¶ï¼"+e); // } // return R.ok(); // } // // public String getKey(String key) { // return configService.getConfigValue("weixin", key); // } // //} // 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(); // } //} 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); 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; 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æ¥å£ 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; /** 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æ¥å£ 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; /** 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; /** 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; /** 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; /** 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æ¥å£ ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/IChatAppStoreService.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatAppStoreImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatCostServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatGptsServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatMessageServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatPluginServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatTokenServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVisitorUsageServiceImpl.java
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/ChatVoucherServiceImpl.java
ÎļþÒÑɾ³ý 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; 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ä¸å¡å±å¤ç 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; ruoyi-modules/ruoyi-system/src/main/resources/application-prod.yml
ruoyi-modules/ruoyi-system/src/main/resources/application.yml
ruoyi-modules/ruoyi-system/src/main/resources/banner.txt
ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages.properties
ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_en_US.properties
ruoyi-modules/ruoyi-system/src/main/resources/i18n/messages_zh_CN.properties
ruoyi-modules/ruoyi-system/src/main/resources/ip2region.xdbBinary files differ
ruoyi-modules/ruoyi-system/src/main/resources/logback-plus.xml
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatConfigMapper.xml
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatPluginMapper.xml
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/ChatVisitorUsageMapper.xml
ÎļþÒÑɾ³ý ruoyi-modules/ruoyi-system/src/main/resources/spy.properties
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>