4 Commits

Author SHA1 Message Date
ageerle
3be9005f95 feat: 调整知识库模块 2025-04-09 17:41:29 +08:00
ageerle
be6d027cad feat: 删除代码生成脚本 2025-04-09 09:42:14 +08:00
ageerle
3d679f8749 Merge remote-tracking branch 'origin/dev' into dev 2025-04-09 09:40:28 +08:00
ageer
5a5a48e153 feat: ruoyi-chat-api模块调整 2025-04-09 09:40:17 +08:00
481 changed files with 3611 additions and 9652 deletions

24
pom.xml
View File

@@ -244,18 +244,6 @@
<version>${tencent.sms.version}</version> <version>${tencent.sms.version}</version>
</dependency> </dependency>
<!-- <dependency>-->
<!-- <groupId>de.codecentric</groupId>-->
<!-- <artifactId>spring-boot-admin-starter-server</artifactId>-->
<!-- <version>${spring-boot-admin.version}</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>de.codecentric</groupId>-->
<!-- <artifactId>spring-boot-admin-starter-client</artifactId>-->
<!-- <version>${spring-boot-admin.version}</version>-->
<!-- </dependency>-->
<!--redisson-->
<dependency> <dependency>
<groupId>org.redisson</groupId> <groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId> <artifactId>redisson-spring-boot-starter</artifactId>
@@ -321,10 +309,15 @@
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-knowledge-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
<artifactId>ruoyi-knowledge</artifactId> <artifactId>ruoyi-system-api</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
@@ -347,11 +340,6 @@
<module>ruoyi-common</module> <module>ruoyi-common</module>
<module>ruoyi-modules</module> <module>ruoyi-modules</module>
<module>ruoyi-modules-api</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> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>

View File

@@ -166,15 +166,12 @@
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<!-- AI绘画 -->
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
<artifactId>ruoyi-chat</artifactId> <artifactId>ruoyi-chat</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<!-- 支付模块 --> <!-- 支付模块 -->
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
@@ -182,6 +179,7 @@
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
</project> </project>

View File

@@ -98,10 +98,6 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency> <dependency>
<groupId>cn.bigmodel.openapi</groupId> <groupId>cn.bigmodel.openapi</groupId>

View File

@@ -47,25 +47,11 @@
<artifactId>jakarta.servlet-api</artifactId> <artifactId>jakarta.servlet-api</artifactId>
</dependency> </dependency>
<!-- hutool工具模块 -->
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId> <artifactId>hutool-all</artifactId>
</dependency> <version>5.8.24</version>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-extra</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-json</artifactId>
<scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@@ -12,9 +12,11 @@
<artifactId>ruoyi-modules-api</artifactId> <artifactId>ruoyi-modules-api</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>ruoyi-system-api</module>
<module>ruoyi-chat-api</module> <module>ruoyi-chat-api</module>
<module>ruoyi-device-api</module>
<module>ruoyi-knowledge-api</module> <module>ruoyi-knowledge-api</module>
<module>ruoyi-system-api</module>
<module>ruoyi-weixin-api</module>
</modules> </modules>
<properties> <properties>
@@ -24,38 +26,55 @@
</properties> </properties>
<dependencies> <dependencies>
<!-- 系统核心模块 --> <!-- 系统核心模块 -->
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-core</artifactId> <artifactId>ruoyi-common-core</artifactId>
</dependency> </dependency>
<!-- mybaits基础模块 --> <!-- mybaits基础模块 -->
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-mybatis</artifactId> <artifactId>ruoyi-common-mybatis</artifactId>
</dependency> </dependency>
<!-- 脱敏模块 --> <!-- 脱敏模块 -->
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-sensitive</artifactId> <artifactId>ruoyi-common-sensitive</artifactId>
</dependency> </dependency>
<!-- excel模块--> <!-- excel模块-->
<dependency> <dependency>
<groupId>org.ruoyi</groupId> <groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-excel</artifactId> <artifactId>ruoyi-common-excel</artifactId>
</dependency> </dependency>
<!-- 租户基础模块 -->
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-tenant</artifactId>
</dependency>
<!-- 字段翻译基础模块 -->
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-translation</artifactId>
</dependency>
<!-- 系统日志模块 -->
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-log</artifactId>
</dependency>
<!-- 对象存储模块 -->
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-oss</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -17,6 +17,13 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<!-- 聊天基础模块 -->
<dependencies>
<dependency>
<groupId>org.ruoyi</groupId>
<artifactId>ruoyi-common-chat</artifactId>
</dependency>
</dependencies>
</project> </project>

View File

@@ -0,0 +1,86 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.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,7 +1,6 @@
package org.ruoyi.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
@@ -9,10 +8,10 @@ import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial; import java.io.Serial;
/** /**
* 应用市场 * 应用商店对象 chat_app_store
* *
* @author Lion Li * @author ageerle
* @date 2024-03-19 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -23,7 +22,7 @@ public class ChatAppStore extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 主键 * id
*/ */
@TableId(value = "id") @TableId(value = "id")
private Long id; private Long id;
@@ -39,16 +38,15 @@ public class ChatAppStore extends BaseEntity {
private String description; private String description;
/** /**
* 头像 * logo
*/ */
private String avatar; private String avatar;
/** /**
* 应用地址 * 地址
*/ */
private String appUrl; private String appUrl;
/** /**
* 备注 * 备注
*/ */

View File

@@ -1,21 +1,18 @@
package org.ruoyi.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.common.sensitive.annotation.Sensitive;
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
import java.io.Serial; import java.io.Serial;
/** /**
* 对话配置信息对象 chat_config * 配置信息对象 chat_config
* *
* @author Lion Li * @author ageerle
* @date 2024-04-13 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -44,7 +41,6 @@ public class ChatConfig extends BaseEntity {
/** /**
* 配置值 * 配置值
*/ */
@Sensitive(strategy = SensitiveStrategy.SKY)
private String configValue; private String configValue;
/** /**
@@ -57,6 +53,12 @@ public class ChatConfig extends BaseEntity {
*/ */
private String remark; private String remark;
/**
* 版本
*/
@Version
private Long version;
/** /**
* 删除标志0代表存在 1代表删除 * 删除标志0代表存在 1代表删除
*/ */

View File

@@ -1,9 +1,6 @@
package org.ruoyi.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
@@ -11,10 +8,10 @@ import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial; import java.io.Serial;
/** /**
* gpts管理对象 chat_gpts * 应用管理对象 chat_gpts
* *
* @author Lion Li * @author ageerle
* @date 2024-07-09 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -63,12 +60,12 @@ public class ChatGpts extends BaseEntity {
/** /**
* 点赞 * 点赞
*/ */
private String useCnt; private Long useCnt;
/** /**
* 差评 * 差评
*/ */
private String bad; private Long bad;
/** /**
* 类型 * 类型
@@ -97,15 +94,5 @@ public class ChatGpts extends BaseEntity {
*/ */
private String updateIp; private String updateIp;
/**
* 模型名称
*/
private String modelName;
/**
* 模型system
*/
private String systemPrompt;
} }

View File

@@ -1,21 +1,19 @@
package org.ruoyi.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.*;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
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.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.io.Serial; import java.io.Serial;
/** /**
* 聊天消息对象 chat_message * 聊天消息对象 chat_message
* *
* @author Lion Li * @author ageerle
* @date 2023-11-26 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -28,49 +26,43 @@ public class ChatMessage extends BaseEntity {
/** /**
* 主键 * 主键
*/ */
@NotNull(message = "主键不能为空", groups = { EditGroup.class }) @TableId(value = "id")
private Long id; private Long id;
/** /**
* 用户ID * 用户id
*/ */
@NotBlank(message = "用户ID", groups = { AddGroup.class, EditGroup.class }) private Long userId;
private Long UserId;
/**
* 消息内容
*/
private String content;
/** /**
* 对话角色 * 对话角色
*/ */
private String role; private String role;
/** /**
* 消息内容 * 扣除金额
*/ */
@NotBlank(message = "消息内容不能为空", groups = { AddGroup.class, EditGroup.class }) private BigDecimal deductCost;
private String content;
/**
* 扣除费用
*/
private Double deductCost;
/** /**
* 累计 Tokens * 累计 Tokens
*/ */
@NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class }) private Long totalTokens;
private Integer totalTokens;
/** /**
* 模型名称 * 模型名称
*/ */
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelName; private String modelName;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;
} }

View File

@@ -1,8 +1,7 @@
package org.ruoyi.system.domain; package org.ruoyi.domain;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
@@ -10,15 +9,15 @@ import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial; import java.io.Serial;
/** /**
* 系统模型对象 sys_model * 聊天模型对象 chat_model
* *
* @author Lion Li * @author ageerle
* @date 2024-04-04 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("chat_model") @TableName("chat_model")
public class SysModel extends BaseEntity { public class ChatModel extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -32,7 +31,6 @@ public class SysModel extends BaseEntity {
/** /**
* 模型分类 * 模型分类
*/ */
@ExcelProperty(value = "模型分类")
private String category; private String category;
/** /**
@@ -48,7 +46,7 @@ public class SysModel extends BaseEntity {
/** /**
* 模型价格 * 模型价格
*/ */
private double modelPrice; private Long modelPrice;
/** /**
* 计费类型 * 计费类型
@@ -60,7 +58,6 @@ public class SysModel extends BaseEntity {
*/ */
private String modelShow; private String modelShow;
/** /**
* 系统提示词 * 系统提示词
*/ */
@@ -81,4 +78,5 @@ public class SysModel extends BaseEntity {
*/ */
private String remark; private String remark;
} }

View File

@@ -1,24 +1,24 @@
package org.ruoyi.system.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.io.Serial;
/** /**
* 套餐管理对象 sys_package_plan * 套餐管理对象 chat_package_plan
* *
* @author Lion Li * @author ageerle
* @date 2024-05-05 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("chat_package_plan") @TableName("chat_package_plan")
public class SysPackagePlan extends BaseEntity { public class ChatPackagePlan extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@@ -1,23 +1,24 @@
package org.ruoyi.system.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.io.Serial; import java.io.Serial;
/** /**
* 支付订单对象 payment_orders * 支付订单对象 chat_pay_order
* *
* @author Lion Li * @author ageerle
* @date 2024-04-16 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("chat_pay_order") @TableName("chat_pay_order")
public class PaymentOrder extends BaseEntity { public class ChatPayOrder extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@@ -1,7 +1,6 @@
package org.ruoyi.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
@@ -12,7 +11,7 @@ import java.io.Serial;
* 插件管理对象 chat_plugin * 插件管理对象 chat_plugin
* *
* @author ageerle * @author ageerle
* @date 2025-03-30 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

View File

@@ -1,22 +1,22 @@
package org.ruoyi.system.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial; import java.io.Serial;
/** /**
* 微信机器人对象 wx_rob_config * 聊天机器人配置对象 chat_rob_config
* *
* @author Lion Li * @author ageerle
* @date 2024-05-01 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("chat_rob_config") @TableName("chat_rob_config")
public class WxRobConfig extends BaseEntity { public class ChatRobConfig extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -28,7 +28,7 @@ public class WxRobConfig extends BaseEntity {
private Long id; private Long id;
/** /**
* 用户id * 所属用户
*/ */
private Long userId; private Long userId;
@@ -42,11 +42,6 @@ public class WxRobConfig extends BaseEntity {
*/ */
private String uniqueKey; private String uniqueKey;
/**
* 备注微信号
*/
private String remark;
/** /**
* 默认好友回复开关 * 默认好友回复开关
*/ */
@@ -57,10 +52,15 @@ public class WxRobConfig extends BaseEntity {
*/ */
private String defaultGroup; private String defaultGroup;
/** /**
* 机器启用1禁用0 * 机器人状态 0正常 1启用
*/ */
private String enable; private String enable;
/**
* 备注
*/
private String remark;
} }

View File

@@ -0,0 +1,51 @@
package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
/**
* 用户token使用详情对象 chat_usage_token
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("chat_usage_token")
public class ChatUsageToken extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id")
private Long id;
/**
* 用户
*/
private Long userId;
/**
* 待结算token
*/
private Integer token;
/**
* 模型名称
*/
private String modelName;
/**
* 累计使用token
*/
private String totalToken;
}

View File

@@ -1,19 +1,19 @@
package org.ruoyi.domain; package org.ruoyi.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.io.Serial;
/** /**
* 用户兑换记录对象 chat_voucher * 用户兑换记录对象 chat_voucher
* *
* @author Lion Li * @author ageerle
* @date 2024-05-03 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -29,11 +29,6 @@ public class ChatVoucher extends BaseEntity {
@TableId(value = "id") @TableId(value = "id")
private Long id; private Long id;
/**
* 用户id
*/
private Long userId;
/** /**
* 兑换码 * 兑换码
*/ */
@@ -44,6 +39,11 @@ public class ChatVoucher extends BaseEntity {
*/ */
private BigDecimal amount; private BigDecimal amount;
/**
* 用户id
*/
private Long userId;
/** /**
* 兑换状态 * 兑换状态
*/ */

View File

@@ -0,0 +1,96 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatAgentManage;
import org.ruoyi.common.mybatis.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,19 +1,19 @@
package org.ruoyi.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.ChatAppStore;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import jakarta.validation.constraints.*;
import org.ruoyi.domain.ChatAppStore;
/** /**
* 应用市场业务对象 voice_role * 应用商店业务对象 chat_app_store
* *
* @author Lion Li * @author ageerle
* @date 2024-03-19 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -23,37 +23,37 @@ public class ChatAppStoreBo extends BaseEntity {
/** /**
* id * id
*/ */
@NotNull(message = "id不能为空") @NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id; private Long id;
/** /**
* 角色名称 * 名称
*/ */
@NotBlank(message = "名称不能为空") @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name; private String name;
/** /**
* 角色描述 * 描述
*/ */
@NotBlank(message = "描述不能为空") @NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String description; private String description;
/** /**
* 头像 * logo
*/ */
@NotBlank(message = "头像不能为空") @NotBlank(message = "logo不能为空", groups = { AddGroup.class, EditGroup.class })
private String avatar; private String avatar;
/** /**
* 音频地址 * 地址
*/ */
@NotBlank(message = "应用地址不能为空") @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String appUrl; private String appUrl;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空") @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;

View File

@@ -1,24 +1,19 @@
package org.ruoyi.domain.bo; 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.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatConfig;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.common.sensitive.annotation.Sensitive; import io.github.linpeilie.annotations.AutoMapper;
import org.ruoyi.common.sensitive.core.SensitiveStrategy; import lombok.Data;
import org.ruoyi.domain.ChatConfig; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/** /**
* 对话配置信息 * 配置信息业务对象 chat_config
业务对象 chat_config
* *
* @author Lion Li * @author ageerle
* @date 2024-04-13 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -46,14 +41,13 @@ public class ChatConfigBo extends BaseEntity {
/** /**
* 配置值 * 配置值
*/ */
@Sensitive(strategy = SensitiveStrategy.SKY)
@NotBlank(message = "配置值不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "配置值不能为空", groups = { AddGroup.class, EditGroup.class })
private String configValue; private String configValue;
/** /**
* 说明 * 说明
*/ */
@NotBlank(message = "参数说明不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "说明不能为空", groups = { AddGroup.class, EditGroup.class })
private String configDict; private String configDict;
/** /**

View File

@@ -1,20 +1,19 @@
package org.ruoyi.domain.bo; 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.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatGpts;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.domain.ChatGpts; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/** /**
* gpts管理业务对象 chat_gpts * 应用管理业务对象 chat_gpts
* *
* @author Lion Li * @author ageerle
* @date 2024-07-09 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -42,56 +41,56 @@ public class ChatGptsBo extends BaseEntity {
/** /**
* gpts图标 * gpts图标
*/ */
@NotBlank(message = "gpts图标不能为空", groups = { AddGroup.class, EditGroup.class })
private String logo; private String logo;
/** /**
* gpts描述 * gpts描述
*/ */
@NotBlank(message = "gpts描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String info; private String info;
/** /**
* 作者id * 作者id
*/ */
@NotBlank(message = "作者id不能为空", groups = { AddGroup.class, EditGroup.class })
private String authorId; private String authorId;
/** /**
* 作者名称 * 作者名称
*/ */
@NotBlank(message = "作者名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String authorName; private String authorName;
/** /**
* 点赞 * 点赞
*/ */
private String useCnt; @NotNull(message = "点赞不能为空", groups = { AddGroup.class, EditGroup.class })
private Long useCnt;
/** /**
* 差评 * 差评
*/ */
private String bad; @NotNull(message = "差评不能为空", groups = { AddGroup.class, EditGroup.class })
private Long bad;
/** /**
* 类型 * 类型
*/ */
@NotBlank(message = "类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String type; private String type;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;
/** /**
* 更新IP * 更新IP
*/ */
@NotBlank(message = "更新IP不能为空", groups = { AddGroup.class, EditGroup.class })
private String updateIp; private String updateIp;
/**
* 模型名称
*/
private String modelName;
/**
* 模型system
*/
private String systemPrompt;
} }

View File

@@ -1,21 +1,20 @@
package org.ruoyi.domain.bo; 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.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatMessage;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.domain.ChatMessage; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal;
/** /**
* 聊天消息业务对象 chat_message * 聊天消息业务对象 chat_message
* *
* @author Lion Li * @author ageerle
* @date 2023-11-26 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -29,20 +28,11 @@ public class ChatMessageBo extends BaseEntity {
private Long id; private Long id;
/** /**
* 用户ID * 用户id
*/ */
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId; private Long userId;
/**
* 用户名称
*/
private String userName;
/**
* 对话角色
*/
private String role;
/** /**
* 消息内容 * 消息内容
*/ */
@@ -50,23 +40,36 @@ public class ChatMessageBo extends BaseEntity {
private String content; private String content;
/** /**
* 扣除费用 * 对话角色
*/ */
private Double deductCost; @NotBlank(message = "对话角色不能为空", groups = { AddGroup.class, EditGroup.class })
private String role;
/**
* 扣除金额
*/
@NotNull(message = "扣除金额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal deductCost;
/** /**
* 累计 Tokens * 累计 Tokens
*/ */
private Integer totalTokens; @NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class })
private Long totalTokens;
/** /**
* 模型名称 * 模型名称
*/ */
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelName; private String modelName;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;
} }

View File

@@ -1,26 +1,24 @@
package org.ruoyi.system.domain.bo; package org.ruoyi.domain.bo;
import com.alibaba.excel.annotation.ExcelProperty;
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.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatModel;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.system.domain.SysModel; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/** /**
* 系统模型业务对象 sys_model * 聊天模型业务对象 chat_model
* *
* @author Lion Li * @author ageerle
* @date 2024-04-04 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysModel.class, reverseConvertGenerate = false) @AutoMapper(target = ChatModel.class, reverseConvertGenerate = false)
public class SysModelBo extends BaseEntity { public class ChatModelBo extends BaseEntity {
/** /**
* 主键 * 主键
@@ -31,7 +29,7 @@ public class SysModelBo extends BaseEntity {
/** /**
* 模型分类 * 模型分类
*/ */
@ExcelProperty(value = "模型分类") @NotBlank(message = "模型分类不能为空", groups = { AddGroup.class, EditGroup.class })
private String category; private String category;
/** /**
@@ -40,7 +38,6 @@ public class SysModelBo extends BaseEntity {
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelName; private String modelName;
/** /**
* 模型描述 * 模型描述
*/ */
@@ -51,34 +48,38 @@ public class SysModelBo extends BaseEntity {
* 模型价格 * 模型价格
*/ */
@NotNull(message = "模型价格不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "模型价格不能为空", groups = { AddGroup.class, EditGroup.class })
private double modelPrice; private Long modelPrice;
/** /**
* 计费类型 (1 token扣费; 2 次数扣费 ) * 计费类型
*/ */
@NotBlank(message = "计费类型不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "计费类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelType; private String modelType;
/** /**
* 模型状态 (0 显示; 1 隐藏 ) * 是否显示
*/ */
@NotBlank(message = "是否显示不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelShow; private String modelShow;
/** /**
* 系统提示词 * 系统提示词
*/ */
@NotBlank(message = "系统提示词不能为空", groups = { AddGroup.class, EditGroup.class })
private String systemPrompt; private String systemPrompt;
/** /**
* 请求地址 * 请求地址
*/ */
@NotBlank(message = "请求地址不能为空", groups = { AddGroup.class, EditGroup.class })
private String apiHost; private String apiHost;
/** /**
* 请求密钥 * 密钥
*/ */
@NotBlank(message = "密钥不能为空", groups = { AddGroup.class, EditGroup.class })
private String apiKey; private String apiKey;
/** /**
* 备注 * 备注
*/ */

View File

@@ -1,8 +1,8 @@
package org.ruoyi.system.domain.bo; package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.SysPackagePlan; import org.ruoyi.system.domain.ChatPackagePlan;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
@@ -11,15 +11,15 @@ import jakarta.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* 套餐管理业务对象 sys_package_plan * 套餐管理业务对象 chat_package_plan
* *
* @author Lion Li * @author ageerle
* @date 2024-05-05 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysPackagePlan.class, reverseConvertGenerate = false) @AutoMapper(target = ChatPackagePlan.class, reverseConvertGenerate = false)
public class SysPackagePlanBo extends BaseEntity { public class ChatPackagePlanBo extends BaseEntity {
/** /**
* 主键 * 主键

View File

@@ -1,27 +1,25 @@
package org.ruoyi.system.domain.bo; 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.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatPayOrder;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.system.domain.PaymentOrder; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* 支付订单业务对象 payment_orders * 支付订单业务对象 chat_pay_order
* *
* @author Lion Li * @author ageerle
* @date 2024-04-16 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PaymentOrder.class, reverseConvertGenerate = false) @AutoMapper(target = ChatPayOrder.class, reverseConvertGenerate = false)
public class PaymentOrdersBo extends BaseEntity { public class ChatPayOrderBo extends BaseEntity {
/** /**
* 主键 * 主键
@@ -72,5 +70,4 @@ public class PaymentOrdersBo extends BaseEntity {
private String remark; private String remark;
} }

View File

@@ -1,21 +1,19 @@
package org.ruoyi.domain.bo; 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.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.system.domain.ChatPlugin;
import org.ruoyi.common.mybatis.core.domain.BaseEntity; import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.domain.ChatPlugin; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/** /**
* 插件管理业务对象 chat_plugin * 插件管理业务对象 chat_plugin
* *
* @author ageerle * @author ageerle
* @date 2025-03-30 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

View File

@@ -0,0 +1,72 @@
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.common.mybatis.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

@@ -0,0 +1,54 @@
package org.ruoyi.domain.bo;
import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.domain.ChatUsageToken;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 用户token使用详情业务对象 chat_usage_token
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = ChatUsageToken.class, reverseConvertGenerate = false)
public class ChatUsageTokenBo extends BaseEntity {
/**
* 主键
*/
@NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户
*/
@NotNull(message = "用户不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 待结算token
*/
@NotNull(message = "待结算token不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer token;
/**
* 模型名称
*/
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String modelName;
/**
* 累计使用token
*/
@NotBlank(message = "累计使用token不能为空", groups = { AddGroup.class, EditGroup.class })
private String totalToken;
}

View File

@@ -1,22 +1,20 @@
package org.ruoyi.domain.bo; package org.ruoyi.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.AddGroup;
import org.ruoyi.common.core.validate.EditGroup; import org.ruoyi.common.core.validate.EditGroup;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import org.ruoyi.domain.ChatVoucher; import org.ruoyi.domain.ChatVoucher;
import org.ruoyi.common.mybatis.core.domain.BaseEntity;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* 用户兑换记录业务对象 chat_voucher * 用户兑换记录业务对象 chat_voucher
* *
* @author Lion Li * @author ageerle
* @date 2024-05-03 * @date 2025-04-08
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@@ -29,14 +27,10 @@ public class ChatVoucherBo extends BaseEntity {
@NotNull(message = "主键不能为空", groups = { EditGroup.class }) @NotNull(message = "主键不能为空", groups = { EditGroup.class })
private Long id; private Long id;
/**
* 用户id
*/
private Long userId;
/** /**
* 兑换码 * 兑换码
*/ */
@NotBlank(message = "兑换码不能为空", groups = { AddGroup.class, EditGroup.class })
private String code; private String code;
/** /**
@@ -45,24 +39,34 @@ public class ChatVoucherBo extends BaseEntity {
@NotNull(message = "兑换金额不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "兑换金额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal amount; 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; private String status;
/** /**
* 兑换前余额 * 兑换前余额
*/ */
private Double balanceBefore; @NotNull(message = "兑换前余额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal balanceBefore;
/** /**
* 兑换后余额 * 兑换后余额
*/ */
private Double balanceAfter; @NotNull(message = "兑换后余额不能为空", groups = { AddGroup.class, EditGroup.class })
private BigDecimal balanceAfter;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark; private String remark;

View File

@@ -1,4 +1,4 @@
package org.ruoyi.system.domain.request.translation; package org.ruoyi.domain.request;
import lombok.Data; import lombok.Data;

View File

@@ -0,0 +1,104 @@
package org.ruoyi.system.domain.vo;
import org.ruoyi.system.domain.ChatAgentManage;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import annotation.excel.common.org.ruoyi.ExcelDictFormat;
import convert.excel.common.org.ruoyi.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 智能体管理视图对象 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,23 +1,23 @@
package org.ruoyi.domain.vo; package org.ruoyi.system.domain.vo;
import org.ruoyi.system.domain.ChatAppStore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.domain.ChatAppStore;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 应用市场视图对象 * 应用商店视图对象 chat_app_store
* *
* @author Lion Li * @author ageerle
* @date 2024-03-19 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@@ -34,27 +34,27 @@ public class ChatAppStoreVo implements Serializable {
private Long id; private Long id;
/** /**
* 角色名称 * 名称
*/ */
@ExcelProperty(value = "名称") @ExcelProperty(value = "名称")
private String name; private String name;
/** /**
* 角色描述 * 描述
*/ */
@ExcelProperty(value = "描述") @ExcelProperty(value = "描述")
private String description; private String description;
/** /**
* 头像 * logo
*/ */
@ExcelProperty(value = "头像") @ExcelProperty(value = "logo")
private String avatar; private String avatar;
/** /**
* 音频地址 * 地址
*/ */
@ExcelProperty(value = "应用地址") @ExcelProperty(value = "地址")
private String appUrl; private String appUrl;
/** /**

View File

@@ -1,25 +1,23 @@
package org.ruoyi.domain.vo; package org.ruoyi.domain.vo;
import org.ruoyi.system.domain.ChatConfig;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.common.sensitive.annotation.Sensitive;
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
import org.ruoyi.domain.ChatConfig;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 对话配置信息 * 配置信息视图对象 chat_config
视图对象 chat_config
* *
* @author Lion Li * @author ageerle
* @date 2024-04-13 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@@ -51,7 +49,6 @@ public class ChatConfigVo implements Serializable {
* 配置值 * 配置值
*/ */
@ExcelProperty(value = "配置值") @ExcelProperty(value = "配置值")
@Sensitive(strategy = SensitiveStrategy.SKY)
private String configValue; private String configValue;
/** /**

View File

@@ -1,21 +1,23 @@
package org.ruoyi.domain.vo; package org.ruoyi.domain.vo;
import org.ruoyi.system.domain.ChatGpts;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.domain.ChatGpts;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* gpts管理视图对象 chat_gpts * 应用管理视图对象 chat_gpts
* *
* @author Lion Li * @author ageerle
* @date 2024-07-09 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@@ -71,13 +73,13 @@ public class ChatGptsVo implements Serializable {
* 点赞 * 点赞
*/ */
@ExcelProperty(value = "点赞") @ExcelProperty(value = "点赞")
private String useCnt; private Long useCnt;
/** /**
* 差评 * 差评
*/ */
@ExcelProperty(value = "差评") @ExcelProperty(value = "差评")
private String bad; private Long bad;
/** /**
* 类型 * 类型
@@ -97,16 +99,5 @@ public class ChatGptsVo implements Serializable {
@ExcelProperty(value = "更新IP") @ExcelProperty(value = "更新IP")
private String updateIp; private String updateIp;
/**
* 模型名称
*/
@ExcelProperty(value = "模型名称")
private String modelName;
/**
* 模型system
*/
private String systemPrompt;
} }

View File

@@ -1,25 +1,24 @@
package org.ruoyi.domain.vo; package org.ruoyi.domain.vo;
import java.math.BigDecimal;
import org.ruoyi.system.domain.ChatMessage;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.github.linpeilie.annotations.AutoMapper; import com.alibaba.excel.annotation.ExcelProperty;
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 org.ruoyi.domain.ChatMessage;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* 聊天消息视图对象 chat_message * 聊天消息视图对象 chat_message
* *
* @author Lion Li * @author ageerle
* @date 2023-11-26 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@@ -32,60 +31,50 @@ public class ChatMessageVo implements Serializable {
/** /**
* 主键 * 主键
*/ */
@NotNull(message = "主键不能为空", groups = { EditGroup.class }) @ExcelProperty(value = "主键")
private Long id; private Long id;
/** /**
* 用户ID * 用户id
*/ */
@NotBlank(message = "用户ID", groups = { AddGroup.class, EditGroup.class }) @ExcelProperty(value = "用户id")
private Long userId; private Long userId;
/**
* 用户名称
*/
@NotBlank(message = "用户名称")
private String userName;
/**
* 对话角色
*/
private String role;
/** /**
* 消息内容 * 消息内容
*/ */
@NotBlank(message = "消息内容不能为空", groups = { AddGroup.class, EditGroup.class }) @ExcelProperty(value = "消息内容")
private String content; private String content;
/**
* 对话角色
*/
@ExcelProperty(value = "对话角色")
private String role;
/** /**
* 扣除费用 * 扣除金额
*/ */
private Double deductCost; @ExcelProperty(value = "扣除金额")
private BigDecimal deductCost;
/** /**
* 累计 Tokens * 累计 Tokens
*/ */
@NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class }) @ExcelProperty(value = "累计 Tokens")
private Integer totalTokens; private Long totalTokens;
/** /**
* 模型名称 * 模型名称
*/ */
@NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class }) @ExcelProperty(value = "模型名称")
private String modelName; private String modelName;
/** /**
* 备注 * 备注
*/ */
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) @ExcelProperty(value = "备注")
private String remark; private String remark;
/**
* 创建时间
*/
private Date createTime;
} }

View File

@@ -1,27 +1,28 @@
package org.ruoyi.system.domain.vo; package org.ruoyi.domain.vo;
import org.ruoyi.system.domain.ChatModel;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.common.sensitive.annotation.Sensitive;
import org.ruoyi.common.sensitive.core.SensitiveStrategy;
import org.ruoyi.system.domain.SysModel;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 系统模型视图对象 sys_model * 聊天模型视图对象 chat_model
* *
* @author Lion Li * @author ageerle
* @date 2024-04-04 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = SysModel.class) @AutoMapper(target = ChatModel.class)
public class SysModelVo implements Serializable { public class ChatModelVo implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -44,7 +45,6 @@ public class SysModelVo implements Serializable {
@ExcelProperty(value = "模型名称") @ExcelProperty(value = "模型名称")
private String modelName; private String modelName;
/** /**
* 模型描述 * 模型描述
*/ */
@@ -55,7 +55,7 @@ public class SysModelVo implements Serializable {
* 模型价格 * 模型价格
*/ */
@ExcelProperty(value = "模型价格") @ExcelProperty(value = "模型价格")
private double modelPrice; private Long modelPrice;
/** /**
* 计费类型 * 计费类型
@@ -66,23 +66,25 @@ public class SysModelVo implements Serializable {
/** /**
* 是否显示 * 是否显示
*/ */
@ExcelProperty(value = "是否显示")
private String modelShow; private String modelShow;
/** /**
* 系统提示词 * 系统提示词
*/ */
@ExcelProperty(value = "系统提示词")
private String systemPrompt; private String systemPrompt;
/** /**
* 请求地址 * 请求地址
*/ */
@ExcelProperty(value = "请求地址")
private String apiHost; private String apiHost;
/** /**
* 模型名称 * 密钥
*/ */
@Sensitive(strategy = SensitiveStrategy.ID_CARD) @ExcelProperty(value = "密钥")
private String apiKey; private String apiKey;
/** /**
@@ -91,4 +93,5 @@ public class SysModelVo implements Serializable {
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
} }

View File

@@ -1,9 +1,10 @@
package org.ruoyi.system.domain.vo; package org.ruoyi.domain.vo;
import java.math.BigDecimal; import java.math.BigDecimal;
import org.ruoyi.system.domain.SysPackagePlan; import org.ruoyi.system.domain.ChatPackagePlan;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
@@ -11,16 +12,18 @@ import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 套餐管理视图对象 sys_package_plan * 套餐管理视图对象 chat_package_plan
* *
* @author Lion Li * @author ageerle
* @date 2024-05-05 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = SysPackagePlan.class) @AutoMapper(target = ChatPackagePlan.class)
public class SysPackagePlanVo implements Serializable { public class ChatPackagePlanVo implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@@ -1,27 +1,29 @@
package org.ruoyi.system.domain.vo; package org.ruoyi.domain.vo;
import java.math.BigDecimal;
import org.ruoyi.system.domain.ChatPayOrder;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.system.domain.PaymentOrder;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* 支付订单视图对象 payment_orders * 支付订单视图对象 chat_pay_order
* *
* @author Lion Li * @author ageerle
* @date 2024-04-16 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = PaymentOrder.class) @AutoMapper(target = ChatPayOrder.class)
public class PaymentOrdersVo implements Serializable { public class ChatPayOrderVo implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -68,26 +70,11 @@ public class PaymentOrdersVo implements Serializable {
@ExcelProperty(value = "用户ID") @ExcelProperty(value = "用户ID")
private Long userId; private Long userId;
/**
* 用户ID
*/
@ExcelProperty(value = "用户名称")
private String userName;
/** /**
* 备注 * 备注
*/ */
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
/**
* 二维码网络地址
*/
private String url;
/**
* 创建时间
*/
private Date createTime;
} }

View File

@@ -1,20 +1,23 @@
package org.ruoyi.domain.vo; package org.ruoyi.domain.vo;
import org.ruoyi.system.domain.ChatPlugin;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.domain.ChatPlugin;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 插件管理视图对象 chat_plugin * 插件管理视图对象 chat_plugin
* *
* @author ageerle * @author ageerle
* @date 2025-03-30 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated

View File

@@ -1,10 +1,9 @@
package org.ruoyi.system.domain.vo; package org.ruoyi.domain.vo;
import org.ruoyi.domain.ChatRobConfig;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import org.ruoyi.common.excel.annotation.ExcelDictFormat;
import org.ruoyi.common.excel.convert.ExcelDictConvert;
import org.ruoyi.system.domain.WxRobConfig;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
@@ -14,15 +13,15 @@ import java.io.Serializable;
/** /**
* 微信机器人视图对象 wx_rob_config * 聊天机器人配置视图对象 chat_rob_config
* *
* @author Lion Li * @author ageerle
* @date 2024-05-01 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = WxRobConfig.class) @AutoMapper(target = ChatRobConfig.class)
public class WxRobConfigVo implements Serializable { public class ChatRobConfigVo implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -34,18 +33,15 @@ public class WxRobConfigVo implements Serializable {
private Long id; private Long id;
/** /**
* 用户id * 所属用户
*/ */
@ExcelProperty(value = "所属用户")
private Long userId; private Long userId;
/**
* 用户名称
*/
private String userName;
/** /**
* 机器人名称 * 机器人名称
*/ */
@ExcelProperty(value = "机器人名称")
private String botName; private String botName;
/** /**
@@ -54,13 +50,6 @@ public class WxRobConfigVo implements Serializable {
@ExcelProperty(value = "机器唯一码") @ExcelProperty(value = "机器唯一码")
private String uniqueKey; private String uniqueKey;
/**
* 备注
*/
@ExcelProperty(value = "备注", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "备注")
private String remark;
/** /**
* 默认好友回复开关 * 默认好友回复开关
*/ */
@@ -73,12 +62,17 @@ public class WxRobConfigVo implements Serializable {
@ExcelProperty(value = "默认群回复开关") @ExcelProperty(value = "默认群回复开关")
private String defaultGroup; private String defaultGroup;
/**
* 机器人状态 0正常 1启用
*/
@ExcelProperty(value = "机器人状态 0正常 1启用")
private String enable;
/** /**
* 机器启用1禁用0 * 备注
*/ */
@ExcelProperty(value = "机器启用1禁用0") @ExcelProperty(value = "备注")
private String enable; private String remark;
} }

View File

@@ -0,0 +1,61 @@
package org.ruoyi.domain.vo;
import org.ruoyi.domain.ChatUsageToken;
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;
/**
* 用户token使用详情视图对象 chat_usage_token
*
* @author ageerle
* @date 2025-04-08
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ChatUsageToken.class)
public class ChatUsageTokenVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ExcelProperty(value = "主键")
private Long id;
/**
* 用户
*/
@ExcelProperty(value = "用户")
private Long userId;
/**
* 待结算token
*/
@ExcelProperty(value = "待结算token")
private Integer token;
/**
* 模型名称
*/
@ExcelProperty(value = "模型名称")
private String modelName;
/**
* 累计使用token
*/
@ExcelProperty(value = "累计使用token")
private String totalToken;
}

View File

@@ -1,7 +1,10 @@
package org.ruoyi.domain.vo; package org.ruoyi.domain.vo;
import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.ruoyi.domain.ChatVoucher; import org.ruoyi.domain.ChatVoucher;
@@ -14,8 +17,8 @@ import java.io.Serializable;
/** /**
* 用户兑换记录视图对象 chat_voucher * 用户兑换记录视图对象 chat_voucher
* *
* @author Lion Li * @author ageerle
* @date 2024-05-03 * @date 2025-04-08
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@@ -31,18 +34,6 @@ public class ChatVoucherVo implements Serializable {
@ExcelProperty(value = "主键") @ExcelProperty(value = "主键")
private Long id; private Long id;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 用户名称
*/
@ExcelProperty(value = "用户名称")
private String userName;
/** /**
* 兑换码 * 兑换码
*/ */
@@ -53,7 +44,13 @@ public class ChatVoucherVo implements Serializable {
* 兑换金额 * 兑换金额
*/ */
@ExcelProperty(value = "兑换金额") @ExcelProperty(value = "兑换金额")
private Double amount; private BigDecimal amount;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/** /**
* 兑换状态 * 兑换状态
@@ -65,13 +62,13 @@ public class ChatVoucherVo implements Serializable {
* 兑换前余额 * 兑换前余额
*/ */
@ExcelProperty(value = "兑换前余额") @ExcelProperty(value = "兑换前余额")
private Double balanceBefore; private BigDecimal balanceBefore;
/** /**
* 兑换后余额 * 兑换后余额
*/ */
@ExcelProperty(value = "兑换后余额") @ExcelProperty(value = "兑换后余额")
private Double balanceAfter; private BigDecimal balanceAfter;
/** /**
* 备注 * 备注
@@ -79,8 +76,5 @@ public class ChatVoucherVo implements Serializable {
@ExcelProperty(value = "备注") @ExcelProperty(value = "备注")
private String remark; private String remark;
@ExcelProperty(value = "创建时间")
private String createTime;
} }

View File

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

View File

@@ -1,15 +1,15 @@
package org.ruoyi.mapper; package org.ruoyi.mapper;
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatAppStore;
import org.ruoyi.domain.vo.ChatAppStoreVo;
import org.ruoyi.domain.ChatAppStore;
import org.ruoyi.system.domain.vo.ChatAppStoreVo;
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* 应用市场Mapper接口 * 应用商店Mapper接口
* *
* @author Lion Li * @author ageerle
* @date 2024-03-19 * @date 2025-04-08
*/ */
public interface ChatAppStoreMapper extends BaseMapperPlus<ChatAppStore, ChatAppStoreVo> { public interface ChatAppStoreMapper extends BaseMapperPlus<ChatAppStore, ChatAppStoreVo> {

View File

@@ -1,17 +1,16 @@
package org.ruoyi.mapper; package org.ruoyi.mapper;
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatConfig; import org.ruoyi.domain.ChatConfig;
import org.ruoyi.domain.vo.ChatConfigVo; import org.ruoyi.domain.vo.ChatConfigVo;
/** /**
* 对话配置信息Mapper接口 * 配置信息Mapper接口
* *
* @author Lion Li * @author ageerle
* @date 2024-04-13 * @date 2025-04-08
*/ */
public interface ChatConfigMapper extends BaseMapperPlus<ChatConfig, ChatConfigVo> { public interface ChatConfigMapper extends BaseMapperPlus<ChatConfig, ChatConfigVo> {
} }

View File

@@ -4,12 +4,11 @@ import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatGpts; import org.ruoyi.domain.ChatGpts;
import org.ruoyi.domain.vo.ChatGptsVo; import org.ruoyi.domain.vo.ChatGptsVo;
/** /**
* gpts管理Mapper接口 * 应用管理Mapper接口
* *
* @author Lion Li * @author ageerle
* @date 2024-07-09 * @date 2025-04-08
*/ */
public interface ChatGptsMapper extends BaseMapperPlus<ChatGpts, ChatGptsVo> { public interface ChatGptsMapper extends BaseMapperPlus<ChatGpts, ChatGptsVo> {

View File

@@ -1,15 +1,15 @@
package org.ruoyi.mapper; package org.ruoyi.mapper;
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatMessage; import org.ruoyi.domain.ChatMessage;
import org.ruoyi.domain.vo.ChatMessageVo; import org.ruoyi.domain.vo.ChatMessageVo;
/** /**
* 聊天消息Mapper接口 * 聊天消息Mapper接口
* *
* @author Lion Li * @author ageerle
* @date 2023-11-26 * @date 2025-04-08
*/ */
public interface ChatMessageMapper extends BaseMapperPlus<ChatMessage, ChatMessageVo> { public interface ChatMessageMapper extends BaseMapperPlus<ChatMessage, ChatMessageVo> {

View File

@@ -0,0 +1,15 @@
package org.ruoyi.mapper;
import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.ruoyi.domain.ChatModel;
import org.ruoyi.domain.vo.ChatModelVo;
/**
* 聊天模型Mapper接口
*
* @author ageerle
* @date 2025-04-08
*/
public interface ChatModelMapper extends BaseMapperPlus<ChatModel, ChatModelVo> {
}

View File

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

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