diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java new file mode 100644 index 00000000..3205ca4b --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAgentManage.java @@ -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; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java index 298984ce..7dc5e61c 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatAppStore.java @@ -1,7 +1,6 @@ package org.ruoyi.domain; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.common.mybatis.core.domain.BaseEntity; @@ -9,10 +8,10 @@ import org.ruoyi.common.mybatis.core.domain.BaseEntity; import java.io.Serial; /** - * 应用市场 + * 应用商店对象 chat_app_store * - * @author Lion Li - * @date 2024-03-19 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -23,7 +22,7 @@ public class ChatAppStore extends BaseEntity { private static final long serialVersionUID = 1L; /** - * 主键 + * id */ @TableId(value = "id") private Long id; @@ -39,16 +38,15 @@ public class ChatAppStore extends BaseEntity { private String description; /** - * 头像 + * logo */ private String avatar; /** - * 应用地址 + * 地址 */ private String appUrl; - /** * 备注 */ diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java index 385bd2d9..366d9a89 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatConfig.java @@ -1,21 +1,18 @@ 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.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.common.sensitive.annotation.Sensitive; -import org.ruoyi.common.sensitive.core.SensitiveStrategy; import java.io.Serial; /** - * 对话配置信息对象 chat_config + * 配置信息对象 chat_config * - * @author Lion Li - * @date 2024-04-13 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -44,7 +41,6 @@ public class ChatConfig extends BaseEntity { /** * 配置值 */ - @Sensitive(strategy = SensitiveStrategy.SKY) private String configValue; /** @@ -57,6 +53,12 @@ public class ChatConfig extends BaseEntity { */ private String remark; + /** + * 版本 + */ + @Version + private Long version; + /** * 删除标志(0代表存在 1代表删除) */ diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java index 675d7698..a598f07e 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatGpts.java @@ -1,9 +1,6 @@ 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 com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.common.mybatis.core.domain.BaseEntity; @@ -11,10 +8,10 @@ import org.ruoyi.common.mybatis.core.domain.BaseEntity; import java.io.Serial; /** - * gpts管理对象 chat_gpts + * 应用管理对象 chat_gpts * - * @author Lion Li - * @date 2024-07-09 + * @author ageerle + * @date 2025-04-08 */ @Data @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 modelName; - - - /** - * 模型system - */ - private String systemPrompt; } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java index 7ef7886d..b9caf73b 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatMessage.java @@ -1,21 +1,19 @@ package org.ruoyi.domain; -import com.baomidou.mybatisplus.annotation.TableName; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; 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 java.math.BigDecimal; + import java.io.Serial; /** * 聊天消息对象 chat_message * - * @author Lion Li - * @date 2023-11-26 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -28,49 +26,45 @@ public class ChatMessage extends BaseEntity { /** * 主键 */ - @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + @TableId(value = "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; - /** - * 消息内容 - */ - @NotBlank(message = "消息内容不能为空", groups = { AddGroup.class, EditGroup.class }) - private String content; + * 扣除金额 - /** - * 扣除费用 */ - private Double deductCost; + private BigDecimal deductCost; /** * 累计 Tokens */ - @NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class }) - private Integer totalTokens; + private Long totalTokens; /** * 模型名称 */ - @NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String modelName; /** * 备注 */ - @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; + } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java new file mode 100644 index 00000000..89237f10 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatModel.java @@ -0,0 +1,82 @@ +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_model + * + * @author ageerle + * @date 2025-04-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("chat_model") +public class ChatModel extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 模型分类 + */ + private String category; + + /** + * 模型名称 + */ + private String modelName; + + /** + * 模型描述 + */ + private String modelDescribe; + + /** + * 模型价格 + */ + private Long modelPrice; + + /** + * 计费类型 + */ + private String modelType; + + /** + * 是否显示 + */ + private String modelShow; + + /** + * 系统提示词 + */ + private String systemPrompt; + + /** + * 请求地址 + */ + private String apiHost; + + /** + * 密钥 + */ + private String apiKey; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java new file mode 100644 index 00000000..e834a254 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPackagePlan.java @@ -0,0 +1,58 @@ +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.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; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPayOrder.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPayOrder.java new file mode 100644 index 00000000..00933957 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPayOrder.java @@ -0,0 +1,68 @@ +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.math.BigDecimal; + +import java.io.Serial; + +/** + * 支付订单对象 chat_pay_order + * + * @author ageerle + * @date 2025-04-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("chat_pay_order") +public class ChatPayOrder extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 订单编号 + */ + private String orderNo; + + /** + * 订单名称 + */ + private String orderName; + + /** + * 金额 + */ + private BigDecimal amount; + + /** + * 支付状态 + */ + private String paymentStatus; + + /** + * 支付方式 + */ + private String paymentMethod; + + /** + * 用户ID + */ + private Long userId; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java index d2c88432..ace67ecd 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatPlugin.java @@ -1,7 +1,6 @@ package org.ruoyi.domain; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.common.mybatis.core.domain.BaseEntity; @@ -12,7 +11,7 @@ import java.io.Serial; * 插件管理对象 chat_plugin * * @author ageerle - * @date 2025-03-30 + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java index 047a1087..c69b0cf0 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/ChatVoucher.java @@ -1,19 +1,19 @@ package org.ruoyi.domain; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import java.io.Serial; import java.math.BigDecimal; +import java.io.Serial; + /** * 用户兑换记录对象 chat_voucher * - * @author Lion Li - * @date 2024-05-03 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -29,11 +29,6 @@ public class ChatVoucher extends BaseEntity { @TableId(value = "id") private Long id; - /** - * 用户id - */ - private Long userId; - /** * 兑换码 */ @@ -44,6 +39,11 @@ public class ChatVoucher extends BaseEntity { */ private BigDecimal amount; + /** + * 用户id + */ + private Long userId; + /** * 兑换状态 */ diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java new file mode 100644 index 00000000..6fd54c42 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAgentManageBo.java @@ -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; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java index b4c04908..b77431b5 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatAppStoreBo.java @@ -1,19 +1,19 @@ 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 jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; -import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.domain.ChatAppStore; - +import jakarta.validation.constraints.*; /** - * 应用市场业务对象 voice_role + * 应用商店业务对象 chat_app_store * - * @author Lion Li - * @date 2024-03-19 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -23,37 +23,37 @@ public class ChatAppStoreBo extends BaseEntity { /** * id */ - @NotNull(message = "id不能为空") + @NotNull(message = "id不能为空", groups = { EditGroup.class }) private Long id; /** - * 角色名称 + * 名称 */ - @NotBlank(message = "名称不能为空") + @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String name; /** - * 角色描述 + * 描述 */ - @NotBlank(message = "描述不能为空") + @NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class }) private String description; /** - * 头像 + * logo */ - @NotBlank(message = "头像不能为空") + @NotBlank(message = "logo不能为空", groups = { AddGroup.class, EditGroup.class }) private String avatar; /** - * 音频地址 + * 地址 */ - @NotBlank(message = "应用地址不能为空") + @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class }) private String appUrl; /** * 备注 */ - @NotBlank(message = "备注不能为空") + @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java index bf2d7bb7..ca1b0384 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatConfigBo.java @@ -1,24 +1,19 @@ 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.system.domain.ChatConfig; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.common.sensitive.annotation.Sensitive; -import org.ruoyi.common.sensitive.core.SensitiveStrategy; -import org.ruoyi.domain.ChatConfig; - +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; /** - * 对话配置信息 -业务对象 chat_config + * 配置信息业务对象 chat_config * - * @author Lion Li - * @date 2024-04-13 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -46,14 +41,13 @@ public class ChatConfigBo extends BaseEntity { /** * 配置值 */ - @Sensitive(strategy = SensitiveStrategy.SKY) @NotBlank(message = "配置值不能为空", groups = { AddGroup.class, EditGroup.class }) private String configValue; /** * 说明 */ - @NotBlank(message = "参数说明不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "说明不能为空", groups = { AddGroup.class, EditGroup.class }) private String configDict; /** diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java index 27614672..2c77aa18 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatGptsBo.java @@ -1,20 +1,19 @@ 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.system.domain.ChatGpts; 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 - * @date 2024-07-09 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -42,56 +41,56 @@ public class ChatGptsBo extends BaseEntity { /** * 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; /** * 点赞 */ - 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; /** * 备注 */ + @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; /** * 更新IP */ + @NotBlank(message = "更新IP不能为空", groups = { AddGroup.class, EditGroup.class }) private String updateIp; - /** - * 模型名称 - */ - private String modelName; - - /** - * 模型system - */ - private String systemPrompt; } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java index e66dc71e..43791eec 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatMessageBo.java @@ -1,21 +1,20 @@ 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.system.domain.ChatMessage; 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 * - * @author Lion Li - * @date 2023-11-26 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -29,20 +28,11 @@ public class ChatMessageBo extends BaseEntity { private Long id; /** - * 用户ID + * 用户id */ + @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class }) private Long userId; - /** - * 用户名称 - */ - private String userName; - - /** - * 对话角色 - */ - private String role; - /** * 消息内容 */ @@ -50,23 +40,36 @@ public class ChatMessageBo extends BaseEntity { 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 */ - private Integer totalTokens; + @NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long totalTokens; /** * 模型名称 */ + @NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class }) private String modelName; /** * 备注 */ + @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) private String remark; + } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java new file mode 100644 index 00000000..a2a19ac7 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java @@ -0,0 +1,90 @@ +package org.ruoyi.domain.bo; + +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.system.domain.ChatModel; +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_model + * + * @author ageerle + * @date 2025-04-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ChatModel.class, reverseConvertGenerate = false) +public class ChatModelBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 模型分类 + */ + @NotBlank(message = "模型分类不能为空", groups = { AddGroup.class, EditGroup.class }) + private String category; + + /** + * 模型名称 + */ + @NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String modelName; + + /** + * 模型描述 + */ + @NotBlank(message = "模型描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String modelDescribe; + + /** + * 模型价格 + */ + @NotNull(message = "模型价格不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long modelPrice; + + /** + * 计费类型 + */ + @NotBlank(message = "计费类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String modelType; + + /** + * 是否显示 + */ + @NotBlank(message = "是否显示不能为空", groups = { AddGroup.class, EditGroup.class }) + private String modelShow; + + /** + * 系统提示词 + */ + @NotBlank(message = "系统提示词不能为空", groups = { AddGroup.class, EditGroup.class }) + private String systemPrompt; + + /** + * 请求地址 + */ + @NotBlank(message = "请求地址不能为空", groups = { AddGroup.class, EditGroup.class }) + private String apiHost; + + /** + * 密钥 + */ + @NotBlank(message = "密钥不能为空", groups = { AddGroup.class, EditGroup.class }) + private String apiKey; + + /** + * 备注 + */ + @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) + private String remark; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java new file mode 100644 index 00000000..ac0fdc14 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPackagePlanBo.java @@ -0,0 +1,61 @@ +package org.ruoyi.domain.bo; + +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.system.domain.ChatPackagePlan; +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; + +/** + * 套餐管理业务对象 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; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPayOrderBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPayOrderBo.java new file mode 100644 index 00000000..41191d55 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPayOrderBo.java @@ -0,0 +1,73 @@ +package org.ruoyi.domain.bo; + +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.system.domain.ChatPayOrder; +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; + +/** + * 支付订单业务对象 chat_pay_order + * + * @author ageerle + * @date 2025-04-08 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ChatPayOrder.class, reverseConvertGenerate = false) +public class ChatPayOrderBo extends BaseEntity { + + /** + * 主键 + */ + @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 订单编号 + */ + @NotBlank(message = "订单编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String orderNo; + + /** + * 订单名称 + */ + @NotBlank(message = "订单名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String orderName; + + /** + * 金额 + */ + @NotNull(message = "金额不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal amount; + + /** + * 支付状态 + */ + @NotBlank(message = "支付状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private String paymentStatus; + + /** + * 支付方式 + */ + @NotBlank(message = "支付方式不能为空", groups = { AddGroup.class, EditGroup.class }) + private String paymentMethod; + + /** + * 用户ID + */ + @NotNull(message = "用户ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long userId; + + /** + * 备注 + */ + @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) + private String remark; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java index 1e20837a..4f6357ba 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatPluginBo.java @@ -1,21 +1,19 @@ 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.system.domain.ChatPlugin; 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 * * @author ageerle - * @date 2025-03-30 + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java index 60983b7e..35782a7b 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatVoucherBo.java @@ -1,22 +1,20 @@ 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.EditGroup; +import org.ruoyi.system.domain.ChatVoucher; import org.ruoyi.common.mybatis.core.domain.BaseEntity; -import org.ruoyi.domain.ChatVoucher; - - +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; import java.math.BigDecimal; /** * 用户兑换记录业务对象 chat_voucher * - * @author Lion Li - * @date 2024-05-03 + * @author ageerle + * @date 2025-04-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -29,14 +27,10 @@ public class ChatVoucherBo extends BaseEntity { @NotNull(message = "主键不能为空", groups = { EditGroup.class }) private Long id; - /** - * 用户id - */ - private Long userId; - /** * 兑换码 */ + @NotBlank(message = "兑换码不能为空", groups = { AddGroup.class, EditGroup.class }) private String code; /** @@ -45,24 +39,34 @@ public class ChatVoucherBo extends BaseEntity { @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; /** * 兑换前余额 */ - 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; diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java new file mode 100644 index 00000000..bb18e7f5 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAgentManageVo.java @@ -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; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java index 4ae8a95d..24af7081 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatAppStoreVo.java @@ -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.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 Lion Li - * @date 2024-03-19 + * @author ageerle + * @date 2025-04-08 */ @Data @ExcelIgnoreUnannotated @@ -34,27 +34,27 @@ public class ChatAppStoreVo implements Serializable { private Long id; /** - * 角色名称 + * 名称 */ @ExcelProperty(value = "名称") private String name; /** - * 角色描述 + * 描述 */ @ExcelProperty(value = "描述") private String description; /** - * 头像 + * logo */ - @ExcelProperty(value = "头像") + @ExcelProperty(value = "logo") private String avatar; /** - * 音频地址 + * 地址 */ - @ExcelProperty(value = "应用地址") + @ExcelProperty(value = "地址") private String appUrl; /** diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java index ba028868..5ba209f7 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatConfigVo.java @@ -1,25 +1,23 @@ package org.ruoyi.domain.vo; +import org.ruoyi.system.domain.ChatConfig; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; 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.ChatConfig; - import java.io.Serial; import java.io.Serializable; + /** - * 对话配置信息 -视图对象 chat_config + * 配置信息视图对象 chat_config * - * @author Lion Li - * @date 2024-04-13 + * @author ageerle + * @date 2025-04-08 */ @Data @ExcelIgnoreUnannotated @@ -51,7 +49,6 @@ public class ChatConfigVo implements Serializable { * 配置值 */ @ExcelProperty(value = "配置值") - @Sensitive(strategy = SensitiveStrategy.SKY) private String configValue; /** diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java index ead5f6c8..1148b3dc 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatGptsVo.java @@ -1,21 +1,23 @@ package org.ruoyi.domain.vo; +import org.ruoyi.system.domain.ChatGpts; 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; + + /** - * gpts管理视图对象 chat_gpts + * 应用管理视图对象 chat_gpts * - * @author Lion Li - * @date 2024-07-09 + * @author ageerle + * @date 2025-04-08 */ @Data @ExcelIgnoreUnannotated @@ -71,13 +73,13 @@ public class ChatGptsVo implements Serializable { * 点赞 */ @ExcelProperty(value = "点赞") - private String useCnt; + private Long useCnt; /** * 差评 */ @ExcelProperty(value = "差评") - private String bad; + private Long bad; /** * 类型 @@ -97,16 +99,5 @@ public class ChatGptsVo implements Serializable { @ExcelProperty(value = "更新IP") private String updateIp; - /** - * 模型名称 - */ - @ExcelProperty(value = "模型名称") - private String modelName; - - /** - * 模型system - */ - private String systemPrompt; - } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java index f21e41de..bbc6867f 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatMessageVo.java @@ -1,25 +1,24 @@ package org.ruoyi.domain.vo; +import java.math.BigDecimal; +import org.ruoyi.system.domain.ChatMessage; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; -import io.github.linpeilie.annotations.AutoMapper; -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 com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.util.Date; + + /** * 聊天消息视图对象 chat_message * - * @author Lion Li - * @date 2023-11-26 + * @author ageerle + * @date 2025-04-08 */ @Data @ExcelIgnoreUnannotated @@ -32,60 +31,50 @@ public class ChatMessageVo implements Serializable { /** * 主键 */ - @NotNull(message = "主键不能为空", groups = { EditGroup.class }) + @ExcelProperty(value = "主键") private Long id; /** - * 用户ID + * 用户id */ - @NotBlank(message = "用户ID", groups = { AddGroup.class, EditGroup.class }) + @ExcelProperty(value = "用户id") private Long userId; - /** - * 用户名称 - */ - @NotBlank(message = "用户名称") - private String userName; - - /** - * 对话角色 - */ - private String role; - - /** * 消息内容 */ - @NotBlank(message = "消息内容不能为空", groups = { AddGroup.class, EditGroup.class }) + @ExcelProperty(value = "消息内容") private String content; + /** + * 对话角色 + */ + @ExcelProperty(value = "对话角色") + private String role; /** - * 扣除费用 + * 扣除金额 */ - private Double deductCost; + @ExcelProperty(value = "扣除金额") + private BigDecimal deductCost; /** * 累计 Tokens */ - @NotNull(message = "累计 Tokens不能为空", groups = { AddGroup.class, EditGroup.class }) - private Integer totalTokens; + @ExcelProperty(value = "累计 Tokens") + private Long totalTokens; /** * 模型名称 */ - @NotBlank(message = "模型名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @ExcelProperty(value = "模型名称") private String modelName; /** * 备注 */ - @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) + @ExcelProperty(value = "备注") private String remark; - /** - * 创建时间 - */ - private Date createTime; } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java new file mode 100644 index 00000000..3e256946 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatModelVo.java @@ -0,0 +1,97 @@ +package org.ruoyi.domain.vo; + +import org.ruoyi.system.domain.ChatModel; +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_model + * + * @author ageerle + * @date 2025-04-08 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ChatModel.class) +public class ChatModelVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 模型分类 + */ + @ExcelProperty(value = "模型分类") + private String category; + + /** + * 模型名称 + */ + @ExcelProperty(value = "模型名称") + private String modelName; + + /** + * 模型描述 + */ + @ExcelProperty(value = "模型描述") + private String modelDescribe; + + /** + * 模型价格 + */ + @ExcelProperty(value = "模型价格") + private Long modelPrice; + + /** + * 计费类型 + */ + @ExcelProperty(value = "计费类型") + private String modelType; + + /** + * 是否显示 + */ + @ExcelProperty(value = "是否显示") + private String modelShow; + + /** + * 系统提示词 + */ + @ExcelProperty(value = "系统提示词") + private String systemPrompt; + + /** + * 请求地址 + */ + @ExcelProperty(value = "请求地址") + private String apiHost; + + /** + * 密钥 + */ + @ExcelProperty(value = "密钥") + private String apiKey; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java new file mode 100644 index 00000000..484c3d47 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPackagePlanVo.java @@ -0,0 +1,68 @@ +package org.ruoyi.domain.vo; + +import java.math.BigDecimal; +import org.ruoyi.system.domain.ChatPackagePlan; +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_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; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPayOrderVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPayOrderVo.java new file mode 100644 index 00000000..220d1afd --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPayOrderVo.java @@ -0,0 +1,80 @@ +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.ExcelProperty; + +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + + + + +/** + * 支付订单视图对象 chat_pay_order + * + * @author ageerle + * @date 2025-04-08 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ChatPayOrder.class) +public class ChatPayOrderVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 订单编号 + */ + @ExcelProperty(value = "订单编号") + private String orderNo; + + /** + * 订单名称 + */ + @ExcelProperty(value = "订单名称") + private String orderName; + + /** + * 金额 + */ + @ExcelProperty(value = "金额") + private BigDecimal amount; + + /** + * 支付状态 + */ + @ExcelProperty(value = "支付状态") + private String paymentStatus; + + /** + * 支付方式 + */ + @ExcelProperty(value = "支付方式") + private String paymentMethod; + + /** + * 用户ID + */ + @ExcelProperty(value = "用户ID") + private Long userId; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java index c4d41fec..5246b585 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatPluginVo.java @@ -1,20 +1,23 @@ package org.ruoyi.domain.vo; +import org.ruoyi.system.domain.ChatPlugin; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; + import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.ruoyi.domain.ChatPlugin; import java.io.Serial; import java.io.Serializable; + + /** * 插件管理视图对象 chat_plugin * * @author ageerle - * @date 2025-03-30 + * @date 2025-04-08 */ @Data @ExcelIgnoreUnannotated diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java index b1462c56..b1a6c6cb 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/vo/ChatVoucherVo.java @@ -1,10 +1,12 @@ package org.ruoyi.domain.vo; +import java.math.BigDecimal; +import org.ruoyi.system.domain.ChatVoucher; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; + import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.ruoyi.domain.ChatVoucher; import java.io.Serial; import java.io.Serializable; @@ -14,8 +16,8 @@ import java.io.Serializable; /** * 用户兑换记录视图对象 chat_voucher * - * @author Lion Li - * @date 2024-05-03 + * @author ageerle + * @date 2025-04-08 */ @Data @ExcelIgnoreUnannotated @@ -31,18 +33,6 @@ public class ChatVoucherVo implements Serializable { @ExcelProperty(value = "主键") private Long id; - /** - * 用户id - */ - @ExcelProperty(value = "用户id") - private Long userId; - - /** - * 用户名称 - */ - @ExcelProperty(value = "用户名称") - private String userName; - /** * 兑换码 */ @@ -53,7 +43,13 @@ public class ChatVoucherVo implements Serializable { * 兑换金额 */ @ExcelProperty(value = "兑换金额") - private Double amount; + private BigDecimal amount; + + /** + * 用户id + */ + @ExcelProperty(value = "用户id") + private Long userId; /** * 兑换状态 @@ -65,13 +61,13 @@ public class ChatVoucherVo implements Serializable { * 兑换前余额 */ @ExcelProperty(value = "兑换前余额") - private Double balanceBefore; + private BigDecimal balanceBefore; /** * 兑换后余额 */ @ExcelProperty(value = "兑换后余额") - private Double balanceAfter; + private BigDecimal balanceAfter; /** * 备注 @@ -79,8 +75,5 @@ public class ChatVoucherVo implements Serializable { @ExcelProperty(value = "备注") private String remark; - @ExcelProperty(value = "创建时间") - private String createTime; - } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java new file mode 100644 index 00000000..978b213a --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAgentManageMapper.java @@ -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 { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java index 9f142440..22aef7b3 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatAppStoreMapper.java @@ -1,15 +1,15 @@ 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 - * @date 2024-03-19 + * @author ageerle + * @date 2025-04-08 */ public interface ChatAppStoreMapper extends BaseMapperPlus { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java index 8b8069ae..c9f85835 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatConfigMapper.java @@ -1,17 +1,16 @@ package org.ruoyi.mapper; + import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.domain.ChatConfig; import org.ruoyi.domain.vo.ChatConfigVo; - /** - * 对话配置信息Mapper接口 + * 配置信息Mapper接口 * - * @author Lion Li - * @date 2024-04-13 + * @author ageerle + * @date 2025-04-08 */ public interface ChatConfigMapper extends BaseMapperPlus { - } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java index 1d9b0a5d..2bd777e2 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatGptsMapper.java @@ -4,12 +4,11 @@ import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.domain.ChatGpts; import org.ruoyi.domain.vo.ChatGptsVo; - /** - * gpts管理Mapper接口 + * 应用管理Mapper接口 * - * @author Lion Li - * @date 2024-07-09 + * @author ageerle + * @date 2025-04-08 */ public interface ChatGptsMapper extends BaseMapperPlus { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java index 239a5a4d..f146a50a 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatMessageMapper.java @@ -1,15 +1,15 @@ package org.ruoyi.mapper; + import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.domain.ChatMessage; import org.ruoyi.domain.vo.ChatMessageVo; - /** * 聊天消息Mapper接口 * - * @author Lion Li - * @date 2023-11-26 + * @author ageerle + * @date 2025-04-08 */ public interface ChatMessageMapper extends BaseMapperPlus { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatModelMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatModelMapper.java new file mode 100644 index 00000000..1f221826 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatModelMapper.java @@ -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 { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java new file mode 100644 index 00000000..753475d4 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPackagePlanMapper.java @@ -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 { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPayOrderMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPayOrderMapper.java new file mode 100644 index 00000000..475981f1 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPayOrderMapper.java @@ -0,0 +1,16 @@ +package org.ruoyi.mapper; + + +import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; +import org.ruoyi.domain.ChatPayOrder; +import org.ruoyi.domain.vo.ChatPayOrderVo; + +/** + * 支付订单Mapper接口 + * + * @author ageerle + * @date 2025-04-08 + */ +public interface ChatPayOrderMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java index e0c64565..2d0dc7d7 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatPluginMapper.java @@ -1,15 +1,15 @@ package org.ruoyi.mapper; + import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.domain.ChatPlugin; import org.ruoyi.domain.vo.ChatPluginVo; - /** * 插件管理Mapper接口 * * @author ageerle - * @date 2025-03-30 + * @date 2025-04-08 */ public interface ChatPluginMapper extends BaseMapperPlus { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java index 7c859302..63bf6e30 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/mapper/ChatVoucherMapper.java @@ -4,12 +4,11 @@ import org.ruoyi.common.mybatis.core.mapper.BaseMapperPlus; import org.ruoyi.domain.ChatVoucher; import org.ruoyi.domain.vo.ChatVoucherVo; - /** * 用户兑换记录Mapper接口 * - * @author Lion Li - * @date 2024-05-03 + * @author ageerle + * @date 2025-04-08 */ public interface ChatVoucherMapper extends BaseMapperPlus { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java new file mode 100644 index 00000000..bf511ddc --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAgentManageService.java @@ -0,0 +1,49 @@ +package org.ruoyi.service; + + +import org.ruoyi.domain.bo.ChatAgentManageBo; +import org.ruoyi.system.domain.vo.ChatAgentManageVo; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 智能体管理Service接口 + * + * @author ageerle + * @date 2025-04-08 + */ +public interface IChatAgentManageService { + + /** + * 查询智能体管理 + */ + ChatAgentManageVo queryById(Long id); + + /** + * 查询智能体管理列表 + */ + TableDataInfo queryPageList(ChatAgentManageBo bo, PageQuery pageQuery); + + /** + * 查询智能体管理列表 + */ + List queryList(ChatAgentManageBo bo); + + /** + * 新增智能体管理 + */ + Boolean insertByBo(ChatAgentManageBo bo); + + /** + * 修改智能体管理 + */ + Boolean updateByBo(ChatAgentManageBo bo); + + /** + * 校验并批量删除智能体管理信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java index 3c5f4efd..03a55b8c 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatAppStoreService.java @@ -1,47 +1,49 @@ package org.ruoyi.service; -import org.ruoyi.common.mybatis.core.page.PageQuery; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; -import org.ruoyi.domain.bo.ChatAppStoreBo; -import org.ruoyi.domain.vo.ChatAppStoreVo; +import org.ruoyi.domain.bo.ChatAppStoreBo; +import org.ruoyi.system.domain.vo.ChatAppStoreVo; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; import java.util.Collection; import java.util.List; /** - * 应用市场Service接口 + * 应用商店Service接口 * - * @author Lion Li - * @date 2024-03-19 + * @author ageerle + * @date 2025-04-08 */ public interface IChatAppStoreService { /** - * 查询应用市场 + * 查询应用商店 */ ChatAppStoreVo queryById(Long id); /** - * 查询应用市场列表 + * 查询应用商店列表 */ TableDataInfo queryPageList(ChatAppStoreBo bo, PageQuery pageQuery); /** - * 查询应用市场列表 + * 查询应用商店列表 */ List queryList(ChatAppStoreBo bo); + /** + * 新增应用商店 + */ + Boolean insertByBo(ChatAppStoreBo bo); /** - * 修改应用市场 + * 修改应用商店 */ Boolean updateByBo(ChatAppStoreBo bo); /** - * 校验并批量删除应用市场信息 + * 校验并批量删除应用商店信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java index 6c77647f..e0f6f8a8 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java @@ -1,7 +1,8 @@ package org.ruoyi.service; -import org.ruoyi.common.mybatis.core.page.PageQuery; + import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.domain.bo.ChatConfigBo; import org.ruoyi.domain.vo.ChatConfigVo; @@ -9,14 +10,15 @@ import java.util.Collection; import java.util.List; /** - * 对话配置信息Service接口 - * @date 2024-04-13 + * 配置信息Service接口 + * + * @author ageerle + * @date 2025-04-08 */ public interface IChatConfigService { /** * 查询配置信息 - */ ChatConfigVo queryById(Long id); @@ -32,7 +34,6 @@ public interface IChatConfigService { /** * 新增配置信息 - */ Boolean insertByBo(ChatConfigBo bo); @@ -45,9 +46,4 @@ public interface IChatConfigService { * 校验并批量删除配置信息信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - /** - * 查询系统参数 - */ - List getSysConfigValue(String category); } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java index 808225d9..6b7f177b 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatGptsService.java @@ -1,7 +1,8 @@ package org.ruoyi.service; -import org.ruoyi.common.mybatis.core.page.PageQuery; + import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.domain.bo.ChatGptsBo; import org.ruoyi.domain.vo.ChatGptsVo; @@ -9,40 +10,40 @@ import java.util.Collection; import java.util.List; /** - * gpts管理Service接口 + * 应用管理Service接口 * - * @author Lion Li - * @date 2024-07-09 + * @author ageerle + * @date 2025-04-08 */ public interface IChatGptsService { /** - * 查询gpts管理 + * 查询应用管理 */ ChatGptsVo queryById(Long id); /** - * 查询gpts管理列表 + * 查询应用管理列表 */ TableDataInfo queryPageList(ChatGptsBo bo, PageQuery pageQuery); /** - * 查询gpts管理列表 + * 查询应用管理列表 */ List queryList(ChatGptsBo bo); /** - * 新增gpts管理 + * 新增应用管理 */ Boolean insertByBo(ChatGptsBo bo); /** - * 修改gpts管理 + * 修改应用管理 */ Boolean updateByBo(ChatGptsBo bo); /** - * 校验并批量删除gpts管理信息 + * 校验并批量删除应用管理信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java index f8bef4e0..c83f178e 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatMessageService.java @@ -1,7 +1,8 @@ package org.ruoyi.service; -import org.ruoyi.common.mybatis.core.page.PageQuery; + import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.domain.bo.ChatMessageBo; import org.ruoyi.domain.vo.ChatMessageVo; @@ -11,8 +12,8 @@ import java.util.List; /** * 聊天消息Service接口 * - * @author Lion Li - * @date 2023-11-26 + * @author ageerle + * @date 2025-04-08 */ public interface IChatMessageService { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatModelService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatModelService.java new file mode 100644 index 00000000..9657b59e --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatModelService.java @@ -0,0 +1,49 @@ +package org.ruoyi.service; + + +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.domain.bo.ChatModelBo; +import org.ruoyi.domain.vo.ChatModelVo; + +import java.util.Collection; +import java.util.List; + +/** + * 聊天模型Service接口 + * + * @author ageerle + * @date 2025-04-08 + */ +public interface IChatModelService { + + /** + * 查询聊天模型 + */ + ChatModelVo queryById(Long id); + + /** + * 查询聊天模型列表 + */ + TableDataInfo queryPageList(ChatModelBo bo, PageQuery pageQuery); + + /** + * 查询聊天模型列表 + */ + List queryList(ChatModelBo bo); + + /** + * 新增聊天模型 + */ + Boolean insertByBo(ChatModelBo bo); + + /** + * 修改聊天模型 + */ + Boolean updateByBo(ChatModelBo bo); + + /** + * 校验并批量删除聊天模型信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java new file mode 100644 index 00000000..158fa252 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPackagePlanService.java @@ -0,0 +1,49 @@ +package org.ruoyi.service; + + +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.domain.bo.ChatPackagePlanBo; +import org.ruoyi.domain.vo.ChatPackagePlanVo; + +import java.util.Collection; +import java.util.List; + +/** + * 套餐管理Service接口 + * + * @author ageerle + * @date 2025-04-08 + */ +public interface IChatPackagePlanService { + + /** + * 查询套餐管理 + */ + ChatPackagePlanVo queryById(Long id); + + /** + * 查询套餐管理列表 + */ + TableDataInfo queryPageList(ChatPackagePlanBo bo, PageQuery pageQuery); + + /** + * 查询套餐管理列表 + */ + List queryList(ChatPackagePlanBo bo); + + /** + * 新增套餐管理 + */ + Boolean insertByBo(ChatPackagePlanBo bo); + + /** + * 修改套餐管理 + */ + Boolean updateByBo(ChatPackagePlanBo bo); + + /** + * 校验并批量删除套餐管理信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPayOrderService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPayOrderService.java new file mode 100644 index 00000000..b2f84949 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPayOrderService.java @@ -0,0 +1,48 @@ +package org.ruoyi.service; + +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.domain.bo.ChatPayOrderBo; +import org.ruoyi.domain.vo.ChatPayOrderVo; + +import java.util.Collection; +import java.util.List; + +/** + * 支付订单Service接口 + * + * @author ageerle + * @date 2025-04-08 + */ +public interface IChatPayOrderService { + + /** + * 查询支付订单 + */ + ChatPayOrderVo queryById(Long id); + + /** + * 查询支付订单列表 + */ + TableDataInfo queryPageList(ChatPayOrderBo bo, PageQuery pageQuery); + + /** + * 查询支付订单列表 + */ + List queryList(ChatPayOrderBo bo); + + /** + * 新增支付订单 + */ + Boolean insertByBo(ChatPayOrderBo bo); + + /** + * 修改支付订单 + */ + Boolean updateByBo(ChatPayOrderBo bo); + + /** + * 校验并批量删除支付订单信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java index 08ed858a..dbee18e8 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatPluginService.java @@ -1,7 +1,8 @@ package org.ruoyi.service; -import org.ruoyi.common.mybatis.core.page.PageQuery; + import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.domain.bo.ChatPluginBo; import org.ruoyi.domain.vo.ChatPluginVo; @@ -12,7 +13,7 @@ import java.util.List; * 插件管理Service接口 * * @author ageerle - * @date 2025-03-30 + * @date 2025-04-08 */ public interface IChatPluginService { diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java index 2f81822b..6b2fb96b 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatVoucherService.java @@ -1,7 +1,8 @@ package org.ruoyi.service; -import org.ruoyi.common.mybatis.core.page.PageQuery; + import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; import org.ruoyi.domain.bo.ChatVoucherBo; import org.ruoyi.domain.vo.ChatVoucherVo; @@ -11,8 +12,8 @@ import java.util.List; /** * 用户兑换记录Service接口 * - * @author Lion Li - * @date 2024-05-03 + * @author ageerle + * @date 2025-04-08 */ public interface IChatVoucherService { @@ -45,9 +46,4 @@ public interface IChatVoucherService { * 校验并批量删除用户兑换记录信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - /** - * 兑换卡密 - */ - Boolean redeem(ChatVoucherBo bo); } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java new file mode 100644 index 00000000..abcb4f72 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAgentManageServiceImpl.java @@ -0,0 +1,120 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatAgentManage; +import org.ruoyi.domain.bo.ChatAgentManageBo; +import org.ruoyi.mapper.ChatAgentManageMapper; +import org.ruoyi.service.IChatAgentManageService; +import org.springframework.stereotype.Service; + +import org.ruoyi.system.domain.vo.ChatAgentManageVo; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 智能体管理Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatAgentManageServiceImpl implements IChatAgentManageService { + + private final ChatAgentManageMapper baseMapper; + + /** + * 查询智能体管理 + */ + @Override + public ChatAgentManageVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询智能体管理列表 + */ + @Override + public TableDataInfo queryPageList(ChatAgentManageBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询智能体管理列表 + */ + @Override + public List queryList(ChatAgentManageBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatAgentManageBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getAppName()), ChatAgentManage::getAppName, bo.getAppName()); + lqw.eq(StringUtils.isNotBlank(bo.getAppType()), ChatAgentManage::getAppType, bo.getAppType()); + lqw.eq(StringUtils.isNotBlank(bo.getAppIcon()), ChatAgentManage::getAppIcon, bo.getAppIcon()); + lqw.eq(StringUtils.isNotBlank(bo.getAppDescription()), ChatAgentManage::getAppDescription, bo.getAppDescription()); + lqw.eq(StringUtils.isNotBlank(bo.getIntroduction()), ChatAgentManage::getIntroduction, bo.getIntroduction()); + lqw.eq(StringUtils.isNotBlank(bo.getModel()), ChatAgentManage::getModel, bo.getModel()); + lqw.eq(StringUtils.isNotBlank(bo.getConversationModel()), ChatAgentManage::getConversationModel, bo.getConversationModel()); + lqw.eq(StringUtils.isNotBlank(bo.getApplicationSettings()), ChatAgentManage::getApplicationSettings, bo.getApplicationSettings()); + lqw.eq(StringUtils.isNotBlank(bo.getPluginId()), ChatAgentManage::getPluginId, bo.getPluginId()); + lqw.eq(bo.getKnowledgeId() != null, ChatAgentManage::getKnowledgeId, bo.getKnowledgeId()); + return lqw; + } + + /** + * 新增智能体管理 + */ + @Override + public Boolean insertByBo(ChatAgentManageBo bo) { + ChatAgentManage add = MapstructUtils.convert(bo, ChatAgentManage.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改智能体管理 + */ + @Override + public Boolean updateByBo(ChatAgentManageBo bo) { + ChatAgentManage update = MapstructUtils.convert(bo, ChatAgentManage.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatAgentManage entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除智能体管理 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java new file mode 100644 index 00000000..55a63408 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatAppStoreServiceImpl.java @@ -0,0 +1,113 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatAppStore; +import org.ruoyi.domain.bo.ChatAppStoreBo; +import org.ruoyi.mapper.ChatAppStoreMapper; +import org.ruoyi.service.IChatAppStoreService; +import org.springframework.stereotype.Service; + +import org.ruoyi.system.domain.vo.ChatAppStoreVo; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 应用商店Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatAppStoreServiceImpl implements IChatAppStoreService { + + private final ChatAppStoreMapper baseMapper; + + /** + * 查询应用商店 + */ + @Override + public ChatAppStoreVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询应用商店列表 + */ + @Override + public TableDataInfo queryPageList(ChatAppStoreBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询应用商店列表 + */ + @Override + public List queryList(ChatAppStoreBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatAppStoreBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getName()), ChatAppStore::getName, bo.getName()); + lqw.eq(StringUtils.isNotBlank(bo.getDescription()), ChatAppStore::getDescription, bo.getDescription()); + lqw.eq(StringUtils.isNotBlank(bo.getAvatar()), ChatAppStore::getAvatar, bo.getAvatar()); + lqw.eq(StringUtils.isNotBlank(bo.getAppUrl()), ChatAppStore::getAppUrl, bo.getAppUrl()); + return lqw; + } + + /** + * 新增应用商店 + */ + @Override + public Boolean insertByBo(ChatAppStoreBo bo) { + ChatAppStore add = MapstructUtils.convert(bo, ChatAppStore.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改应用商店 + */ + @Override + public Boolean updateByBo(ChatAppStoreBo bo) { + ChatAppStore update = MapstructUtils.convert(bo, ChatAppStore.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatAppStore entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除应用商店 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatConfigServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatConfigServiceImpl.java new file mode 100644 index 00000000..3d62159f --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatConfigServiceImpl.java @@ -0,0 +1,114 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatConfig; +import org.ruoyi.domain.bo.ChatConfigBo; +import org.ruoyi.domain.vo.ChatConfigVo; +import org.ruoyi.mapper.ChatConfigMapper; +import org.ruoyi.service.IChatConfigService; +import org.springframework.stereotype.Service; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 配置信息Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatConfigServiceImpl implements IChatConfigService { + + private final ChatConfigMapper baseMapper; + + /** + * 查询配置信息 + */ + @Override + public ChatConfigVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询配置信息列表 + */ + @Override + public TableDataInfo queryPageList(ChatConfigBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询配置信息列表 + */ + @Override + public List queryList(ChatConfigBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatConfigBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getCategory()), ChatConfig::getCategory, bo.getCategory()); + lqw.like(StringUtils.isNotBlank(bo.getConfigName()), ChatConfig::getConfigName, bo.getConfigName()); + lqw.eq(StringUtils.isNotBlank(bo.getConfigValue()), ChatConfig::getConfigValue, bo.getConfigValue()); + lqw.eq(StringUtils.isNotBlank(bo.getConfigDict()), ChatConfig::getConfigDict, bo.getConfigDict()); + lqw.eq(StringUtils.isNotBlank(bo.getUpdateIp()), ChatConfig::getUpdateIp, bo.getUpdateIp()); + return lqw; + } + + /** + * 新增配置信息 + */ + @Override + public Boolean insertByBo(ChatConfigBo bo) { + ChatConfig add = MapstructUtils.convert(bo, ChatConfig.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改配置信息 + */ + @Override + public Boolean updateByBo(ChatConfigBo bo) { + ChatConfig update = MapstructUtils.convert(bo, ChatConfig.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatConfig entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除配置信息 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java new file mode 100644 index 00000000..0361d102 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatGptsServiceImpl.java @@ -0,0 +1,119 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatGpts; +import org.ruoyi.domain.bo.ChatGptsBo; +import org.ruoyi.domain.vo.ChatGptsVo; +import org.ruoyi.mapper.ChatGptsMapper; +import org.ruoyi.service.IChatGptsService; +import org.springframework.stereotype.Service; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 应用管理Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatGptsServiceImpl implements IChatGptsService { + + private final ChatGptsMapper baseMapper; + + /** + * 查询应用管理 + */ + @Override + public ChatGptsVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询应用管理列表 + */ + @Override + public TableDataInfo queryPageList(ChatGptsBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询应用管理列表 + */ + @Override + public List queryList(ChatGptsBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatGptsBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getGid()), ChatGpts::getGid, bo.getGid()); + lqw.like(StringUtils.isNotBlank(bo.getName()), ChatGpts::getName, bo.getName()); + lqw.eq(StringUtils.isNotBlank(bo.getLogo()), ChatGpts::getLogo, bo.getLogo()); + lqw.eq(StringUtils.isNotBlank(bo.getInfo()), ChatGpts::getInfo, bo.getInfo()); + lqw.eq(StringUtils.isNotBlank(bo.getAuthorId()), ChatGpts::getAuthorId, bo.getAuthorId()); + lqw.like(StringUtils.isNotBlank(bo.getAuthorName()), ChatGpts::getAuthorName, bo.getAuthorName()); + lqw.eq(bo.getUseCnt() != null, ChatGpts::getUseCnt, bo.getUseCnt()); + lqw.eq(bo.getBad() != null, ChatGpts::getBad, bo.getBad()); + lqw.eq(StringUtils.isNotBlank(bo.getType()), ChatGpts::getType, bo.getType()); + lqw.eq(StringUtils.isNotBlank(bo.getUpdateIp()), ChatGpts::getUpdateIp, bo.getUpdateIp()); + return lqw; + } + + /** + * 新增应用管理 + */ + @Override + public Boolean insertByBo(ChatGptsBo bo) { + ChatGpts add = MapstructUtils.convert(bo, ChatGpts.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改应用管理 + */ + @Override + public Boolean updateByBo(ChatGptsBo bo) { + ChatGpts update = MapstructUtils.convert(bo, ChatGpts.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatGpts entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除应用管理 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatMessageServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatMessageServiceImpl.java new file mode 100644 index 00000000..0f9cb161 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatMessageServiceImpl.java @@ -0,0 +1,115 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatMessage; +import org.ruoyi.domain.bo.ChatMessageBo; +import org.ruoyi.domain.vo.ChatMessageVo; +import org.ruoyi.mapper.ChatMessageMapper; +import org.ruoyi.service.IChatMessageService; +import org.springframework.stereotype.Service; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 聊天消息Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatMessageServiceImpl implements IChatMessageService { + + private final ChatMessageMapper baseMapper; + + /** + * 查询聊天消息 + */ + @Override + public ChatMessageVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询聊天消息列表 + */ + @Override + public TableDataInfo queryPageList(ChatMessageBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询聊天消息列表 + */ + @Override + public List queryList(ChatMessageBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatMessageBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getUserId() != null, ChatMessage::getUserId, bo.getUserId()); + lqw.eq(StringUtils.isNotBlank(bo.getContent()), ChatMessage::getContent, bo.getContent()); + lqw.eq(StringUtils.isNotBlank(bo.getRole()), ChatMessage::getRole, bo.getRole()); + lqw.eq(bo.getDeductCost() != null, ChatMessage::getDeductCost, bo.getDeductCost()); + lqw.eq(bo.getTotalTokens() != null, ChatMessage::getTotalTokens, bo.getTotalTokens()); + lqw.like(StringUtils.isNotBlank(bo.getModelName()), ChatMessage::getModelName, bo.getModelName()); + return lqw; + } + + /** + * 新增聊天消息 + */ + @Override + public Boolean insertByBo(ChatMessageBo bo) { + ChatMessage add = MapstructUtils.convert(bo, ChatMessage.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改聊天消息 + */ + @Override + public Boolean updateByBo(ChatMessageBo bo) { + ChatMessage update = MapstructUtils.convert(bo, ChatMessage.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatMessage entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除聊天消息 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java new file mode 100644 index 00000000..26d4533b --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java @@ -0,0 +1,118 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatModel; +import org.ruoyi.domain.bo.ChatModelBo; +import org.ruoyi.domain.vo.ChatModelVo; +import org.ruoyi.mapper.ChatModelMapper; +import org.ruoyi.service.IChatModelService; +import org.springframework.stereotype.Service; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 聊天模型Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatModelServiceImpl implements IChatModelService { + + private final ChatModelMapper baseMapper; + + /** + * 查询聊天模型 + */ + @Override + public ChatModelVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询聊天模型列表 + */ + @Override + public TableDataInfo queryPageList(ChatModelBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询聊天模型列表 + */ + @Override + public List queryList(ChatModelBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatModelBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getCategory()), ChatModel::getCategory, bo.getCategory()); + lqw.like(StringUtils.isNotBlank(bo.getModelName()), ChatModel::getModelName, bo.getModelName()); + lqw.eq(StringUtils.isNotBlank(bo.getModelDescribe()), ChatModel::getModelDescribe, bo.getModelDescribe()); + lqw.eq(bo.getModelPrice() != null, ChatModel::getModelPrice, bo.getModelPrice()); + lqw.eq(StringUtils.isNotBlank(bo.getModelType()), ChatModel::getModelType, bo.getModelType()); + lqw.eq(StringUtils.isNotBlank(bo.getModelShow()), ChatModel::getModelShow, bo.getModelShow()); + lqw.eq(StringUtils.isNotBlank(bo.getSystemPrompt()), ChatModel::getSystemPrompt, bo.getSystemPrompt()); + lqw.eq(StringUtils.isNotBlank(bo.getApiHost()), ChatModel::getApiHost, bo.getApiHost()); + lqw.eq(StringUtils.isNotBlank(bo.getApiKey()), ChatModel::getApiKey, bo.getApiKey()); + return lqw; + } + + /** + * 新增聊天模型 + */ + @Override + public Boolean insertByBo(ChatModelBo bo) { + ChatModel add = MapstructUtils.convert(bo, ChatModel.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改聊天模型 + */ + @Override + public Boolean updateByBo(ChatModelBo bo) { + ChatModel update = MapstructUtils.convert(bo, ChatModel.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatModel entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除聊天模型 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java new file mode 100644 index 00000000..0d920542 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPackagePlanServiceImpl.java @@ -0,0 +1,113 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatPackagePlan; +import org.ruoyi.domain.bo.ChatPackagePlanBo; +import org.ruoyi.domain.vo.ChatPackagePlanVo; +import org.ruoyi.mapper.ChatPackagePlanMapper; +import org.ruoyi.service.IChatPackagePlanService; +import org.springframework.stereotype.Service; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 套餐管理Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatPackagePlanServiceImpl implements IChatPackagePlanService { + + private final ChatPackagePlanMapper baseMapper; + + /** + * 查询套餐管理 + */ + @Override + public ChatPackagePlanVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询套餐管理列表 + */ + @Override + public TableDataInfo queryPageList(ChatPackagePlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询套餐管理列表 + */ + @Override + public List queryList(ChatPackagePlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatPackagePlanBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getName()), ChatPackagePlan::getName, bo.getName()); + lqw.eq(bo.getPrice() != null, ChatPackagePlan::getPrice, bo.getPrice()); + lqw.eq(bo.getDuration() != null, ChatPackagePlan::getDuration, bo.getDuration()); + lqw.eq(StringUtils.isNotBlank(bo.getPlanDetail()), ChatPackagePlan::getPlanDetail, bo.getPlanDetail()); + return lqw; + } + + /** + * 新增套餐管理 + */ + @Override + public Boolean insertByBo(ChatPackagePlanBo bo) { + ChatPackagePlan add = MapstructUtils.convert(bo, ChatPackagePlan.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改套餐管理 + */ + @Override + public Boolean updateByBo(ChatPackagePlanBo bo) { + ChatPackagePlan update = MapstructUtils.convert(bo, ChatPackagePlan.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatPackagePlan entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除套餐管理 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPayOrderServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPayOrderServiceImpl.java new file mode 100644 index 00000000..386f1419 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPayOrderServiceImpl.java @@ -0,0 +1,115 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatPayOrder; +import org.ruoyi.domain.bo.ChatPayOrderBo; +import org.ruoyi.domain.vo.ChatPayOrderVo; +import org.ruoyi.mapper.ChatPayOrderMapper; +import org.ruoyi.service.IChatPayOrderService; +import org.springframework.stereotype.Service; + + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 支付订单Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatPayOrderServiceImpl implements IChatPayOrderService { + + private final ChatPayOrderMapper baseMapper; + + /** + * 查询支付订单 + */ + @Override + public ChatPayOrderVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询支付订单列表 + */ + @Override + public TableDataInfo queryPageList(ChatPayOrderBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询支付订单列表 + */ + @Override + public List queryList(ChatPayOrderBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatPayOrderBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), ChatPayOrder::getOrderNo, bo.getOrderNo()); + lqw.like(StringUtils.isNotBlank(bo.getOrderName()), ChatPayOrder::getOrderName, bo.getOrderName()); + lqw.eq(bo.getAmount() != null, ChatPayOrder::getAmount, bo.getAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getPaymentStatus()), ChatPayOrder::getPaymentStatus, bo.getPaymentStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getPaymentMethod()), ChatPayOrder::getPaymentMethod, bo.getPaymentMethod()); + lqw.eq(bo.getUserId() != null, ChatPayOrder::getUserId, bo.getUserId()); + return lqw; + } + + /** + * 新增支付订单 + */ + @Override + public Boolean insertByBo(ChatPayOrderBo bo) { + ChatPayOrder add = MapstructUtils.convert(bo, ChatPayOrder.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改支付订单 + */ + @Override + public Boolean updateByBo(ChatPayOrderBo bo) { + ChatPayOrder update = MapstructUtils.convert(bo, ChatPayOrder.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatPayOrder entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除支付订单 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java new file mode 100644 index 00000000..1dd9e0a3 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatPluginServiceImpl.java @@ -0,0 +1,110 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatPlugin; +import org.ruoyi.domain.bo.ChatPluginBo; +import org.ruoyi.domain.vo.ChatPluginVo; +import org.ruoyi.mapper.ChatPluginMapper; +import org.ruoyi.service.IChatPluginService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 插件管理Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatPluginServiceImpl implements IChatPluginService { + + private final ChatPluginMapper baseMapper; + + /** + * 查询插件管理 + */ + @Override + public ChatPluginVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询插件管理列表 + */ + @Override + public TableDataInfo queryPageList(ChatPluginBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询插件管理列表 + */ + @Override + public List queryList(ChatPluginBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatPluginBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getName()), ChatPlugin::getName, bo.getName()); + lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatPlugin::getCode, bo.getCode()); + return lqw; + } + + /** + * 新增插件管理 + */ + @Override + public Boolean insertByBo(ChatPluginBo bo) { + ChatPlugin add = MapstructUtils.convert(bo, ChatPlugin.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改插件管理 + */ + @Override + public Boolean updateByBo(ChatPluginBo bo) { + ChatPlugin update = MapstructUtils.convert(bo, ChatPlugin.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatPlugin entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除插件管理 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java new file mode 100644 index 00000000..f8ab361e --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatVoucherServiceImpl.java @@ -0,0 +1,114 @@ +package org.ruoyi.service.impl; + +import org.ruoyi.common.core.utils.MapstructUtils; +import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.ruoyi.domain.ChatVoucher; +import org.ruoyi.domain.bo.ChatVoucherBo; +import org.ruoyi.domain.vo.ChatVoucherVo; +import org.ruoyi.mapper.ChatVoucherMapper; +import org.ruoyi.service.IChatVoucherService; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 用户兑换记录Service业务层处理 + * + * @author ageerle + * @date 2025-04-08 + */ +@RequiredArgsConstructor +@Service +public class ChatVoucherServiceImpl implements IChatVoucherService { + + private final ChatVoucherMapper baseMapper; + + /** + * 查询用户兑换记录 + */ + @Override + public ChatVoucherVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 查询用户兑换记录列表 + */ + @Override + public TableDataInfo queryPageList(ChatVoucherBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询用户兑换记录列表 + */ + @Override + public List queryList(ChatVoucherBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ChatVoucherBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getCode()), ChatVoucher::getCode, bo.getCode()); + lqw.eq(bo.getAmount() != null, ChatVoucher::getAmount, bo.getAmount()); + lqw.eq(bo.getUserId() != null, ChatVoucher::getUserId, bo.getUserId()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), ChatVoucher::getStatus, bo.getStatus()); + lqw.eq(bo.getBalanceBefore() != null, ChatVoucher::getBalanceBefore, bo.getBalanceBefore()); + lqw.eq(bo.getBalanceAfter() != null, ChatVoucher::getBalanceAfter, bo.getBalanceAfter()); + return lqw; + } + + /** + * 新增用户兑换记录 + */ + @Override + public Boolean insertByBo(ChatVoucherBo bo) { + ChatVoucher add = MapstructUtils.convert(bo, ChatVoucher.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改用户兑换记录 + */ + @Override + public Boolean updateByBo(ChatVoucherBo bo) { + ChatVoucher update = MapstructUtils.convert(bo, ChatVoucher.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(ChatVoucher entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除用户兑换记录 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml new file mode 100644 index 00000000..cfa640db --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAgentManageMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml new file mode 100644 index 00000000..53b29af4 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatAppStoreMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml new file mode 100644 index 00000000..cc22a8f6 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatGptsMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatMessageMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatMessageMapper.xml new file mode 100644 index 00000000..000a091c --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatMessageMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatModelMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatModelMapper.xml new file mode 100644 index 00000000..4e5a30e4 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatModelMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml new file mode 100644 index 00000000..9875672a --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPackagePlanMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPayOrderMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPayOrderMapper.xml new file mode 100644 index 00000000..ca5ab53c --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPayOrderMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml new file mode 100644 index 00000000..f1dacfb8 --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatPluginMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml new file mode 100644 index 00000000..9ef2787c --- /dev/null +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/resources/mapper/ChatVoucherMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-modules/ruoyi-system/src/main/resources/application-dev.yml similarity index 100% rename from ruoyi-admin/src/main/resources/application-dev.yml rename to ruoyi-modules/ruoyi-system/src/main/resources/application-dev.yml