5 Commits

Author SHA1 Message Date
ageer
bedffffd86 fix: 修复对话时无法上传文件 2025-05-24 23:59:40 +08:00
ageer
2884c37599 feat: 移除微信支付 2025-05-24 23:07:59 +08:00
ageer
c25749c9ca feat: 更新sql脚本 2025-05-24 23:02:59 +08:00
ageer
147b3fd8f5 feat: 查询ppt apikey 2025-05-24 20:06:19 +08:00
ageerle
373424bd01 feat(更新日志):
更新日志

1. 移除个人微信模块
2. 移除直播模块
3. 移除gpts模块
4. 移除应用商店模块
5. 移除套餐管理模块
6. 移除兑换管理模块

## 微信相关
小程序相关功能迁移至企业版
微信公众号/微信机器人迁移至企业版
微信支付迁移至企业版

## 功能模块
智能体模块迁移至企业版
插件管理改为MCP应用并迁移至企业版

知识库:
excel解析迁移至企业版
pdf图片解析迁移至企业版
milvus qdrant扩展 迁移至企业版
2025-05-24 16:18:18 +08:00
196 changed files with 1076 additions and 7756 deletions

11
pom.xml
View File

@@ -54,10 +54,6 @@
<maven-compiler-plugin.verison>3.11.0</maven-compiler-plugin.verison>
<maven-surefire-plugin.version>3.0.0</maven-surefire-plugin.version>
<flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
<weixin-java-miniapp.version>4.5.0</weixin-java-miniapp.version>
<weixin-java-pay.version>4.6.0</weixin-java-pay.version>
<weixin-java-cp.version>4.6.0</weixin-java-cp.version>
<weixin-java-cp.version>4.6.0</weixin-java-cp.version>
</properties>
<profiles>
@@ -336,13 +332,6 @@
<artifactId>ruoyi-generator</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-wechat</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
</dependencyManagement>

View File

@@ -57,11 +57,6 @@
<artifactId>ruoyi-generator</artifactId>
</dependency>
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-wechat</artifactId>
</dependency>
</dependencies>
<build>

View File

@@ -67,7 +67,7 @@ public class CaptchaController {
String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber;
String code = RandomUtil.randomNumbers(4);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
// 验证码模板id 自行处理 (查数据库或写死均可)
// 验证码模板id
String templateId = "";
Map<String, String> map = new HashMap<>(1);
map.put("code", code);

View File

@@ -1,12 +1,3 @@
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
enabled: false
url: http://localhost:9090/admin
instance:
service-host-type: IP
username: ruoyi
password: 123456
--- # 数据源配置
spring:
@@ -27,7 +18,7 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: ruoyi-ai
password: xxx
password: ruoyi-ai
hikari:
# 最大连接池数量
@@ -94,11 +85,4 @@ sms:
# 腾讯专用
sdkAppId:
pdf:
extract:
service:
url: http://localhost:8080
ai-api:
url: https://api.pandarobot.chat/v1/chat/completions
key: sk-xxxx

View File

@@ -1,182 +0,0 @@
--- # 临时文件存储位置 避免临时文件被系统清理报错
spring.servlet.multipart.location: /ruoyi/server/temp
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
enabled: false
url: http://localhost:9090/admin
instance:
service-host-type: IP
username: ruoyi
password: 123456
--- # xxl-job 配置
xxl.job:
# 执行器开关
enabled: false
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
admin-addresses: http://localhost:9100/xxl-job-admin
# 执行器通讯TOKEN非空时启用
access-token: xxl-job
executor:
# 执行器AppName执行器心跳注册分组依据为空则关闭自动注册
appname: xxl-job-executor
# 执行器端口号 执行器从9101开始往后写
port: 9101
# 执行器注册默认IP:PORT
address:
# 执行器IP默认自动获取IP
ip:
# 执行器运行日志文件存储磁盘路径
logpath: ./logs/xxl-job
# 执行器日志文件保存天数大于3生效
logretentiondays: 30
--- # 数据源配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
dynamic:
# 性能分析插件(有性能损耗 不建议生产环境使用)
p6spy: false
# 设置默认的数据源或者数据源组,默认值即为 master
primary: master
# 严格模式 匹配不到数据源则报错
strict: true
datasource:
# 主库数据源
master:
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: root
password: root
# 从库数据源
slave:
lazy: true
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username:
password:
# oracle:
# type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@//localhost:1521/XE
# username: ROOT
# password: root
# hikari:
# connectionTestQuery: SELECT 1 FROM DUAL
# postgres:
# type: ${spring.datasource.type}
# driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
# username: root
# password: root
# sqlserver:
# type: ${spring.datasource.type}
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
# username: SA
# password: root
hikari:
# 最大连接池数量
maxPoolSize: 20
# 最小空闲线程数量
minIdle: 10
# 配置获取连接等待超时的时间
connectionTimeout: 30000
# 校验超时时间
validationTimeout: 5000
# 空闲连接存活最大时间默认10分钟
idleTimeout: 600000
# 此属性控制池中连接的最长生命周期值0表示无限生命周期默认30分钟
maxLifetime: 1800000
# 连接测试query配置检测连接是否有效
connectionTestQuery: SELECT 1
# 多久检查一次连接的活性
keepaliveTime: 30000
--- # redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
spring.data:
redis:
# 地址
host: localhost
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
# 密码(如没有密码请注释掉)
# password:
# 连接超时时间
timeout: 10s
# 是否开启ssl
ssl: false
redisson:
# redis key前缀
keyPrefix:
# 线程池数量
threads: 16
# Netty线程池数量
nettyThreads: 32
# 单节点配置
singleServerConfig:
# 客户端名称
clientName: ${ruoyi.name}
# 最小空闲连接数
connectionMinimumIdleSize: 32
# 连接池大小
connectionPoolSize: 64
# 连接空闲超时,单位:毫秒
idleConnectionTimeout: 10000
# 命令等待超时,单位:毫秒
timeout: 3000
# 发布和订阅连接池大小
subscriptionConnectionPoolSize: 50
--- # mail 邮件发送
mail:
enabled: false
host: smtp.163.com
port: 465
# 是否需要用户名密码验证
auth: true
# 发送方遵循RFC-822标准
from: xxx@163.com
# 用户名注意如果使用foxmail邮箱此处user为qq号
user: xxx@163.com
# 密码注意某些邮箱需要为SMTP服务单独设置密码详情查看相关帮助
pass: xxxxxxxxxx
# 使用 STARTTLS安全连接STARTTLS是对纯文本通信协议的扩展。
starttlsEnable: true
# 使用SSL安全连接
sslEnable: true
# SMTP超时时长单位毫秒缺省值不超时
timeout: 0
# Socket连接超时值单位毫秒缺省值不超时
connectionTimeout: 0
--- # sms 短信
sms:
enabled: false
# 阿里云 dysmsapi.aliyuncs.com
# 腾讯云 sms.tencentcloudapi.com
endpoint: "dysmsapi.aliyuncs.com"
accessKeyId: xxxxxxx
accessKeySecret: xxxxxx
signName: 测试
# 腾讯专用
sdkAppId:
pdf:
extract:
service:
url: http://localhost:8080
ai-api:
url: https://api.pandarobot.chat/v1/chat/completions
key: sk-XXXXXX

View File

@@ -120,6 +120,8 @@ sa-token:
security:
# 排除路径
excludes:
# 获取模型信息
- /system/model/modelList
# 支付回调
- /pay/returnUrl
- /pay/notifyUrl
@@ -128,7 +130,9 @@ security:
# 重置密码
- /auth/reset/password
# 聊天接口
- /chat
- /chat/send
# 文件上传
- /chat/upload
# 静态资源
- /*.html
- /**/*.html
@@ -291,26 +295,6 @@ websocket:
# 设置访问源地址
allowedOrigins: '*'
# 微信小程序配置信息
wx:
miniapp:
configs:
- appid: # 你的appid
secret: # 你的secret
token: #微信小程序消息服务器配置的token
aesKey: #微信小程序消息服务器配置的EncodingAESKey
msgDataFormat: JSON
# 企业微信应用
wechat:
cp:
corpId:
appConfigs:
- agentId:
secret: ''
token: ''
aesKey: ''
spring:
ai:
openai:

View File

@@ -145,13 +145,15 @@ public class OpenAiStreamClient {
.build();
}
okHttpClient = builder.okHttpClient;
if (apiHost.endsWith("/")) {
this.openAiApi = new Retrofit.Builder()
.baseUrl(apiHost)
.client(okHttpClient)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(JacksonConverterFactory.create())
.build().create(OpenAiApi.class);
}
// this.openAiApi = new Retrofit.Builder()
// .baseUrl(apiHost)
// .client(okHttpClient)
// .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
// .addConverterFactory(JacksonConverterFactory.create())
// .build().create(OpenAiApi.class);
}
/**

View File

@@ -36,16 +36,6 @@ public class ChatRequest {
*/
private Boolean stream = Boolean.TRUE;
/**
* 是否开启联网搜索(0关闭 1开启)
*/
private Boolean search = Boolean.FALSE;
/**
* 是否开启mcp
*/
private Boolean isMcp = Boolean.FALSE;
/**
* 知识库id
*/
@@ -56,7 +46,6 @@ public class ChatRequest {
*/
private Long userId;
/**
* 会话id
*/
@@ -72,16 +61,4 @@ public class ChatRequest {
*/
private String role;
/**
* 上下文的条数
*/
private Integer contentNumber = 10;
/**
* 是否携带上下文
*/
private Boolean usingContext = Boolean.TRUE;
}

View File

@@ -82,24 +82,6 @@
<artifactId>ip2region</artifactId>
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-cp</artifactId>
<version>${weixin-java-cp.version}</version>
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-miniapp</artifactId>
<version>${weixin-java-miniapp.version}</version>
</dependency>
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-pay</artifactId>
<version>${weixin-java-pay.version}</version>
</dependency>
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>

View File

@@ -25,10 +25,8 @@ public class MailConfig {
@Bean
public MailAccount mailAccount() {
if (account == null) {
account = new MailAccount();
updateMailAccount();
}
account = new MailAccount();
updateMailAccount();
return account;
}

View File

@@ -32,12 +32,6 @@
<version>${zxing.version}</version>
</dependency>
<dependency>
<groupId>com.stripe</groupId>
<artifactId>stripe-java</artifactId>
<version>${stripe.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -5,8 +5,6 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.springframework.scheduling.annotation.Scheduled;
/**
* 支付配置信息

View File

@@ -1,47 +0,0 @@
package org.ruoyi.common.config;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import org.ruoyi.common.core.service.ConfigService;
import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author Binary Wang
*/
@Configuration
@RequiredArgsConstructor
public class WxPayConfiguration {
private final ConfigService configService;
private WxPayService wxPayService;
@PostConstruct
public void init() {
WxPayConfig payConfig = new WxPayConfig();
payConfig.setAppId(StringUtils.trimToNull(getKey("appId")));
payConfig.setMchId(StringUtils.trimToNull(getKey("mchId")));
payConfig.setMchKey(StringUtils.trimToNull(getKey("appSecret")));
payConfig.setUseSandboxEnv(false);
wxPayService = new WxPayServiceImpl();
wxPayService.setConfig(payConfig);
}
@Bean
@ConditionalOnMissingBean
public WxPayService wxService() {
return wxPayService;
}
public String getKey(String key) {
return configService.getConfigValue("weixin", key);
}
}

View File

@@ -1,37 +0,0 @@
package org.ruoyi.common.listener;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import org.ruoyi.common.core.event.ConfigChangeEvent;
import org.ruoyi.common.core.service.ConfigService;
import org.ruoyi.common.core.utils.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
/**
* 创建一个监听器,用于处理配置变化事件
*
* @author ageerle@163.com
* date 2024/5/19
*/
@Component
public class ConfigChangeListener implements ApplicationListener<ConfigChangeEvent> {
private final WxPayService wxPayService;
private final ConfigService configService;
public ConfigChangeListener(WxPayService wxPayService, ConfigService configService) {
this.wxPayService = wxPayService;
this.configService = configService;
}
@Override
public void onApplicationEvent(@NotNull ConfigChangeEvent event) {
WxPayConfig newConfig = new WxPayConfig();
newConfig.setAppId(StringUtils.trimToNull(configService.getConfigValue("weixin", "appId")));
newConfig.setMchId(StringUtils.trimToNull(configService.getConfigValue("weixin", "mchId")));
newConfig.setMchKey(StringUtils.trimToNull(configService.getConfigValue("weixin", "mchKey")));
newConfig.setUseSandboxEnv(false);
wxPayService.setConfig(newConfig);
}
}

View File

@@ -1,86 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
/**
* 智能体管理对象 chat_agent_manage
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_agent_manage")
public class ChatAgentManage extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 应用名称
*/
private String appName;
/**
* 应用类型
*/
private String appType;
/**
* 应用头像
*/
private String appIcon;
/**
* 应用描述
*/
private String appDescription;
/**
* 开场介绍
*/
private String introduction;
/**
* 模型
*/
private String model;
/**
* 对话可选模型
*/
private String conversationModel;
/**
* 应用设定
*/
private String applicationSettings;
/**
* 插件id
*/
private String pluginId;
/**
* 知识库id
*/
private Long knowledgeId;
/**
* 备注
*/
private String remark;
}

View File

@@ -1,56 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
/**
* 应用商店对象 chat_app_store
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_app_store")
public class ChatAppStore extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id")
private Long id;
/**
* 名称
*/
private String name;
/**
* 描述
*/
private String description;
/**
* logo
*/
private String avatar;
/**
* 地址
*/
private String appUrl;
/**
* 备注
*/
private String remark;
}

View File

@@ -1,98 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
/**
* 应用管理对象 chat_gpts
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_gpts")
public class ChatGpts extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id")
private Long id;
/**
* gpts应用id
*/
private String gid;
/**
* gpts应用名称
*/
private String name;
/**
* gpts图标
*/
private String logo;
/**
* gpts描述
*/
private String info;
/**
* 作者id
*/
private String authorId;
/**
* 作者名称
*/
private String authorName;
/**
* 点赞
*/
private Long useCnt;
/**
* 差评
*/
private Long bad;
/**
* 类型
*/
private String type;
/**
* 备注
*/
private String remark;
/**
* 版本
*/
@Version
private Long version;
/**
* 删除标志0代表存在 1代表删除
*/
@TableLogic
private String delFlag;
/**
* 更新IP
*/
private String updateIp;
}

View File

@@ -1,58 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 套餐管理对象 chat_package_plan
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_package_plan")
public class ChatPackagePlan extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 套餐名称
*/
private String name;
/**
* 套餐价格
*/
private BigDecimal price;
/**
* 有效时间
*/
private Long duration;
/**
* 计划详情
*/
private String planDetail;
/**
* 备注
*/
private String remark;
}

View File

@@ -1,46 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
/**
* 插件管理对象 chat_plugin
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_plugin")
public class ChatPlugin extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 插件名称
*/
private String name;
/**
* 插件编码
*/
private String code;
/**
* 备注
*/
private String remark;
}

View File

@@ -1,66 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
/**
* 聊天机器人配置对象 chat_rob_config
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_rob_config")
public class ChatRobConfig extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 所属用户
*/
private Long userId;
/**
* 机器人名称
*/
private String botName;
/**
* 机器唯一码
*/
private String uniqueKey;
/**
* 默认好友回复开关
*/
private String defaultFriend;
/**
* 默认群回复开关
*/
private String defaultGroup;
/**
* 机器人状态 0正常 1启用
*/
private String enable;
/**
* 备注
*/
private String remark;
}

View File

@@ -2,10 +2,9 @@ package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
import java.io.Serializable;
/**
* 用户token使用详情对象 chat_usage_token
@@ -14,9 +13,8 @@ import java.io.Serial;
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_usage_token")
public class ChatUsageToken extends BaseEntity {
public class ChatUsageToken implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -1,73 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.io.Serial;
import java.io.Serializable;
/**
* 访客管理对象 chat_visitor_usage
*
* @author Lion Li
* @date 2024-07-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_visitor_usage")
public class ChatVisitorUsage extends BaseEntity implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(value = "id")
private Long id;
/**
* 浏览器指纹
*/
private String fingerprint;
/**
* 使用次数
*/
private String usageCount;
/**
* ip地址
*/
private String ipAddress;
/**
* 备注
*/
private String remark;
/**
* 版本
*/
@Version
private Long version;
/**
* 删除标志0代表存在 1代表删除
*/
@TableLogic
private String delFlag;
/**
* 更新IP
*/
private String updateIp;
}

View File

@@ -1,68 +0,0 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.io.Serial;
/**
* 用户兑换记录对象 chat_voucher
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_voucher")
public class ChatVoucher extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 兑换码
*/
private String code;
/**
* 兑换金额
*/
private BigDecimal amount;
/**
* 用户id
*/
private Long userId;
/**
* 兑换状态
*/
private String status;
/**
* 兑换前余额
*/
private BigDecimal balanceBefore;
/**
* 兑换后余额
*/
private BigDecimal balanceAfter;
/**
* 备注
*/
private String remark;
}

View File

@@ -1,96 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatAgentManage;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 智能体管理业务对象 chat_agent_manage
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatAgentManage.class, reverseConvertGenerate = false)
public class ChatAgentManageBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 应用名称
*/
@NotBlank(message = "应用名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String appName;
/**
* 应用类型
*/
@NotBlank(message = "应用类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String appType;
/**
* 应用头像
*/
@NotBlank(message = "应用头像不能为空", groups = { AddGroup.class, EditGroup.class })
private String appIcon;
/**
* 应用描述
*/
@NotBlank(message = "应用描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String appDescription;
/**
* 开场介绍
*/
@NotBlank(message = "开场介绍不能为空", groups = { AddGroup.class, EditGroup.class })
private String introduction;
/**
* 模型
*/
@NotBlank(message = "模型不能为空", groups = { AddGroup.class, EditGroup.class })
private String model;
/**
* 对话可选模型
*/
@NotBlank(message = "对话可选模型不能为空", groups = { AddGroup.class, EditGroup.class })
private String conversationModel;
/**
* 应用设定
*/
@NotBlank(message = "应用设定不能为空", groups = { AddGroup.class, EditGroup.class })
private String applicationSettings;
/**
* 插件id
*/
@NotBlank(message = "插件id不能为空", groups = { AddGroup.class, EditGroup.class })
private String pluginId;
/**
* 知识库id
*/
@NotNull(message = "知识库id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long knowledgeId;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -1,60 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatAppStore;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 应用商店业务对象 chat_app_store
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatAppStore.class, reverseConvertGenerate = false)
public class ChatAppStoreBo extends BaseEntity {
/**
* id
*/
@NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 名称
*/
@NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 描述
*/
@NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String description;
/**
* logo
*/
@NotBlank(message = "logo不能为空", groups = { AddGroup.class, EditGroup.class })
private String avatar;
/**
* 地址
*/
@NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String appUrl;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -1,96 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatGpts;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 应用管理业务对象 chat_gpts
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatGpts.class, reverseConvertGenerate = false)
public class ChatGptsBo extends BaseEntity {
/**
* id
*/
@NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id;
/**
* gpts应用id
*/
@NotBlank(message = "gpts应用id不能为空", groups = { AddGroup.class, EditGroup.class })
private String gid;
/**
* gpts应用名称
*/
@NotBlank(message = "gpts应用名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* gpts图标
*/
@NotBlank(message = "gpts图标不能为空", groups = { AddGroup.class, EditGroup.class })
private String logo;
/**
* gpts描述
*/
@NotBlank(message = "gpts描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String info;
/**
* 作者id
*/
@NotBlank(message = "作者id不能为空", groups = { AddGroup.class, EditGroup.class })
private String authorId;
/**
* 作者名称
*/
@NotBlank(message = "作者名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String authorName;
/**
* 点赞
*/
@NotNull(message = "点赞不能为空", groups = { AddGroup.class, EditGroup.class })
private Long useCnt;
/**
* 差评
*/
@NotNull(message = "差评不能为空", groups = { AddGroup.class, EditGroup.class })
private Long bad;
/**
* 类型
*/
@NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
/**
* 更新IP
*/
@NotBlank(message = "更新IP不能为空", groups = { AddGroup.class, EditGroup.class })
private String updateIp;
}

View File

@@ -1,61 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatPackagePlan;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 套餐管理业务对象 chat_package_plan
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatPackagePlan.class, reverseConvertGenerate = false)
public class ChatPackagePlanBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 套餐名称
*/
@NotBlank(message = "套餐名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 套餐价格
*/
@NotNull(message = "套餐价格不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal price;
/**
* 有效时间
*/
@NotNull(message = "有效时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Long duration;
/**
* 计划详情
*/
@NotBlank(message = "计划详情不能为空", groups = { AddGroup.class, EditGroup.class })
private String planDetail;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -1,48 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatPlugin;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 插件管理业务对象 chat_plugin
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatPlugin.class, reverseConvertGenerate = false)
public class ChatPluginBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 插件名称
*/
@NotBlank(message = "插件名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 插件编码
*/
@NotBlank(message = "插件编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String code;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -1,72 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatRobConfig;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 聊天机器人配置业务对象 chat_rob_config
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatRobConfig.class, reverseConvertGenerate = false)
public class ChatRobConfigBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 所属用户
*/
@NotNull(message = "所属用户不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 机器人名称
*/
@NotBlank(message = "机器人名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String botName;
/**
* 机器唯一码
*/
@NotBlank(message = "机器唯一码不能为空", groups = { AddGroup.class, EditGroup.class })
private String uniqueKey;
/**
* 默认好友回复开关
*/
@NotBlank(message = "默认好友回复开关不能为空", groups = { AddGroup.class, EditGroup.class })
private String defaultFriend;
/**
* 默认群回复开关
*/
@NotBlank(message = "默认群回复开关不能为空", groups = { AddGroup.class, EditGroup.class })
private String defaultGroup;
/**
* 机器人状态 0正常 1启用
*/
@NotBlank(message = "机器人状态 0正常 1启用不能为空", groups = { AddGroup.class, EditGroup.class })
private String enable;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -1,62 +0,0 @@
package org.ruoyi.domain.bo;
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.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.core.domain.BaseEntity;
import org.ruoyi.domain.ChatVisitorUsage;
/**
* 访客管理业务对象 chat_visitor_usage
*
* @author Lion Li
* @date 2024-07-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatVisitorUsage.class, reverseConvertGenerate = false)
public class ChatVisitorUsageBo extends BaseEntity {
/**
* id
*/
@NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 浏览器指纹
*/
@NotBlank(message = "浏览器指纹不能为空", groups = { AddGroup.class, EditGroup.class })
private String fingerprint;
/**
* 使用次数
*/
@NotBlank(message = "使用次数不能为空", groups = { AddGroup.class, EditGroup.class })
private String usageCount;
/**
* ip地址
*/
@NotBlank(message = "ip地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String ipAddress;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
/**
* 更新IP
*/
@NotBlank(message = "更新IP不能为空", groups = { AddGroup.class, EditGroup.class })
private String updateIp;
}

View File

@@ -1,73 +0,0 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatVoucher;
import org.ruoyi.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/**
* 用户兑换记录业务对象 chat_voucher
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatVoucher.class, reverseConvertGenerate = false)
public class ChatVoucherBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 兑换码
*/
@NotBlank(message = "兑换码不能为空", groups = { AddGroup.class, EditGroup.class })
private String code;
/**
* 兑换金额
*/
@NotNull(message = "兑换金额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal amount;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 兑换状态
*/
@NotBlank(message = "兑换状态不能为空", groups = { AddGroup.class, EditGroup.class })
private String status;
/**
* 兑换前余额
*/
@NotNull(message = "兑换前余额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal balanceBefore;
/**
* 兑换后余额
*/
@NotNull(message = "兑换后余额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal balanceAfter;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@@ -1,29 +0,0 @@
package org.ruoyi.domain.request;
import lombok.Data;
/**
* 翻译请求对象
*
* @author ageerle@163.com
* date 2025/1/13
*/
@Data
public class TranslationRequest {
/**
* 提示词
*/
private String prompt;
/**
* 模型名称
*/
private String model;
/**
* 目标语言
*/
private String targetLanguage;
}

View File

@@ -1,104 +0,0 @@
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.domain.ChatAgentManage;
import java.io.Serial;
import java.io.Serializable;
/**
* 智能体管理视图对象 chat_agent_manage
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatAgentManage.class)
public class ChatAgentManageVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 应用名称
*/
@ExcelProperty(value = "应用名称")
private String appName;
/**
* 应用类型
*/
@ExcelProperty(value = "应用类型")
private String appType;
/**
* 应用头像
*/
@ExcelProperty(value = "应用头像")
private String appIcon;
/**
* 应用描述
*/
@ExcelProperty(value = "应用描述")
private String appDescription;
/**
* 开场介绍
*/
@ExcelProperty(value = "开场介绍")
private String introduction;
/**
* 模型
*/
@ExcelProperty(value = "模型")
private String model;
/**
* 对话可选模型
*/
@ExcelProperty(value = "对话可选模型")
private String conversationModel;
/**
* 应用设定
*/
@ExcelProperty(value = "应用设定")
private String applicationSettings;
/**
* 插件id
*/
@ExcelProperty(value = "插件id")
private String pluginId;
/**
* 知识库id
*/
@ExcelProperty(value = "知识库id")
private Long knowledgeId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -1,68 +0,0 @@
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.domain.ChatAppStore;
import java.io.Serial;
import java.io.Serializable;
/**
* 应用商店视图对象 chat_app_store
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatAppStore.class)
public class ChatAppStoreVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@ExcelProperty(value = "id")
private Long id;
/**
* 名称
*/
@ExcelProperty(value = "名称")
private String name;
/**
* 描述
*/
@ExcelProperty(value = "描述")
private String description;
/**
* logo
*/
@ExcelProperty(value = "logo")
private String avatar;
/**
* 地址
*/
@ExcelProperty(value = "地址")
private String appUrl;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -1,104 +0,0 @@
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.domain.ChatGpts;
import java.io.Serial;
import java.io.Serializable;
/**
* 应用管理视图对象 chat_gpts
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatGpts.class)
public class ChatGptsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@ExcelProperty(value = "id")
private Long id;
/**
* gpts应用id
*/
@ExcelProperty(value = "gpts应用id")
private String gid;
/**
* gpts应用名称
*/
@ExcelProperty(value = "gpts应用名称")
private String name;
/**
* gpts图标
*/
@ExcelProperty(value = "gpts图标")
private String logo;
/**
* gpts描述
*/
@ExcelProperty(value = "gpts描述")
private String info;
/**
* 作者id
*/
@ExcelProperty(value = "作者id")
private String authorId;
/**
* 作者名称
*/
@ExcelProperty(value = "作者名称")
private String authorName;
/**
* 点赞
*/
@ExcelProperty(value = "点赞")
private Long useCnt;
/**
* 差评
*/
@ExcelProperty(value = "差评")
private Long bad;
/**
* 类型
*/
@ExcelProperty(value = "类型")
private String type;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 更新IP
*/
@ExcelProperty(value = "更新IP")
private String updateIp;
}

View File

@@ -6,6 +6,8 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.ruoyi.common.sensitive.annotation.Sensitive;
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
import org.ruoyi.domain.ChatModel;
import java.io.Serial;
@@ -85,6 +87,7 @@ public class ChatModelVo implements Serializable {
/**
* 密钥
*/
@Sensitive(strategy = SensitiveStrategy.PHONE)
@ExcelProperty(value = "密钥")
private String apiKey;

View File

@@ -1,69 +0,0 @@
package org.ruoyi.domain.vo;
import java.math.BigDecimal;
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.ChatPackagePlan;
import java.io.Serial;
import java.io.Serializable;
/**
* 套餐管理视图对象 chat_package_plan
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatPackagePlan.class)
public class ChatPackagePlanVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private Long id;
/**
* 套餐名称
*/
@ExcelProperty(value = "套餐名称")
private String name;
/**
* 套餐价格
*/
@ExcelProperty(value = "套餐价格")
private BigDecimal price;
/**
* 有效时间
*/
@ExcelProperty(value = "有效时间")
private Long duration;
/**
* 计划详情
*/
@ExcelProperty(value = "计划详情")
private String planDetail;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -1,55 +0,0 @@
package org.ruoyi.domain.vo;
import org.ruoyi.domain.ChatPlugin;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 插件管理视图对象 chat_plugin
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatPlugin.class)
public class ChatPluginVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private Long id;
/**
* 插件名称
*/
@ExcelProperty(value = "插件名称")
private String name;
/**
* 插件编码
*/
@ExcelProperty(value = "插件编码")
private String code;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -1,78 +0,0 @@
package org.ruoyi.domain.vo;
import org.ruoyi.domain.ChatRobConfig;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 聊天机器人配置视图对象 chat_rob_config
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatRobConfig.class)
public class ChatRobConfigVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private Long id;
/**
* 所属用户
*/
@ExcelProperty(value = "所属用户")
private Long userId;
/**
* 机器人名称
*/
@ExcelProperty(value = "机器人名称")
private String botName;
/**
* 机器唯一码
*/
@ExcelProperty(value = "机器唯一码")
private String uniqueKey;
/**
* 默认好友回复开关
*/
@ExcelProperty(value = "默认好友回复开关")
private String defaultFriend;
/**
* 默认群回复开关
*/
@ExcelProperty(value = "默认群回复开关")
private String defaultGroup;
/**
* 机器人状态 0正常 1启用
*/
@ExcelProperty(value = "机器人状态 0正常 1启用")
private String enable;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -1,43 +0,0 @@
package org.ruoyi.domain.vo;
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;
/**
* 用户token chat_token
*
* @author Lion Li
* @date 2023-11-26
*/
@Data
public class ChatTokenVo implements Serializable {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户ID
*/
@NotBlank(message = "用户ID", groups = { AddGroup.class, EditGroup.class })
private Long UserId;
/**
* 待结算token
*/
private Integer token;
/**
* 模型名称
*/
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelName;
}

View File

@@ -1,64 +0,0 @@
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.domain.ChatVisitorUsage;
import java.io.Serial;
import java.io.Serializable;
/**
* 访客管理视图对象 chat_visitor_usage
*
* @author Lion Li
* @date 2024-07-14
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatVisitorUsage.class)
public class ChatVisitorUsageVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@ExcelProperty(value = "id")
private Long id;
/**
* 浏览器指纹
*/
@ExcelProperty(value = "浏览器指纹")
private String fingerprint;
/**
* 使用次数
*/
@ExcelProperty(value = "使用次数")
private String usageCount;
/**
* ip地址
*/
@ExcelProperty(value = "ip地址")
private String ipAddress;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 更新IP
*/
@ExcelProperty(value = "更新IP")
private String updateIp;
}

View File

@@ -1,80 +0,0 @@
package org.ruoyi.domain.vo;
import java.math.BigDecimal;
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;
/**
* 用户兑换记录视图对象 chat_voucher
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatVoucher.class)
public class ChatVoucherVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private Long id;
/**
* 兑换码
*/
@ExcelProperty(value = "兑换码")
private String code;
/**
* 兑换金额
*/
@ExcelProperty(value = "兑换金额")
private BigDecimal amount;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 兑换状态
*/
@ExcelProperty(value = "兑换状态")
private String status;
/**
* 兑换前余额
*/
@ExcelProperty(value = "兑换前余额")
private BigDecimal balanceBefore;
/**
* 兑换后余额
*/
@ExcelProperty(value = "兑换后余额")
private BigDecimal balanceAfter;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.domain.ChatAgentManage;
import org.ruoyi.domain.vo.ChatAgentManageVo;
import org.ruoyi.core.mapper.BaseMapperPlus;
/**
* 智能体管理Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatAgentManageMapper extends BaseMapperPlus<ChatAgentManage, ChatAgentManageVo> {
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.domain.ChatAppStore;
import org.ruoyi.domain.vo.ChatAppStoreVo;
import org.ruoyi.core.mapper.BaseMapperPlus;
/**
* 应用商店Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatAppStoreMapper extends BaseMapperPlus<ChatAppStore, ChatAppStoreVo> {
}

View File

@@ -1,15 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatGpts;
import org.ruoyi.domain.vo.ChatGptsVo;
/**
* 应用管理Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatGptsMapper extends BaseMapperPlus<ChatGpts, ChatGptsVo> {
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatPackagePlan;
import org.ruoyi.domain.vo.ChatPackagePlanVo;
/**
* 套餐管理Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatPackagePlanMapper extends BaseMapperPlus<ChatPackagePlan, ChatPackagePlanVo> {
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatPlugin;
import org.ruoyi.domain.vo.ChatPluginVo;
/**
* 插件管理Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatPluginMapper extends BaseMapperPlus<ChatPlugin, ChatPluginVo> {
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatRobConfig;
import org.ruoyi.domain.vo.ChatRobConfigVo;
/**
* 聊天机器人配置Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatRobConfigMapper extends BaseMapperPlus<ChatRobConfig, ChatRobConfigVo> {
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.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> {
}

View File

@@ -1,16 +0,0 @@
package org.ruoyi.mapper;
import org.ruoyi.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> {
}

Some files were not shown because too many files have changed in this diff Show More