From 2b8a92c7d69aa144ab7effda5a77b341464682a5 Mon Sep 17 00:00:00 2001 From: ageer <ageerle@163.com> Date: 星期四, 10 四月 2025 22:18:44 +0800 Subject: [PATCH] fix: 重构模块 --- ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/UserGradeType.java | 14 ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java | 7 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java | 105 ++++ ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/domain/bo/ChatModelBo.java | 2 ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IChatConfigService.java | 6 ruoyi-modules/pom.xml | 12 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/ChatController.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatMessageController.java | 105 ++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatConfigController.java | 105 ++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java | 104 ++++ ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java | 85 +++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java | 105 ++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SubmitController.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SunoController.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java | 32 + ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/FaceController.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/LumaController.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/TaskController.java | 2 ruoyi-modules/ruoyi-chat/pom.xml | 5 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java | 61 ++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java | 105 ++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java | 2 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java | 105 ++++ /dev/null | 110 ---- ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatModelService.java | 1 ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java | 105 ++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPayOrderController.java | 105 ++++ ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java | 116 ++++ 28 files changed, 1,275 insertions(+), 134 deletions(-) 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 index a2a19ac..4061a2e 100644 --- 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 @@ -2,7 +2,7 @@ import org.ruoyi.common.core.validate.AddGroup; import org.ruoyi.common.core.validate.EditGroup; -import org.ruoyi.system.domain.ChatModel; +import org.ruoyi.domain.ChatModel; import org.ruoyi.common.mybatis.core.domain.BaseEntity; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; 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 index 82dd621..c5ce659 100644 --- 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 @@ -52,4 +52,5 @@ * 閫氳繃妯″瀷鍚嶇О鑾峰彇妯″瀷淇℃伅 */ ChatModelVo selectModelByName(String modelName); + } 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 deleted file mode 100644 index 1e753aa..0000000 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatConfigServiceImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -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.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<ChatConfigVo> queryPageList(ChatConfigBo bo, PageQuery pageQuery) { - LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); - Page<ChatConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); - return TableDataInfo.build(result); - } - - /** - * 鏌ヨ閰嶇疆淇℃伅鍒楄〃 - */ - @Override - public List<ChatConfigVo> queryList(ChatConfigBo bo) { - LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); - } - - private LambdaQueryWrapper<ChatConfig> buildQueryWrapper(ChatConfigBo bo) { - Map<String, Object> params = bo.getParams(); - LambdaQueryWrapper<ChatConfig> lqw = Wrappers.lambdaQuery(); - lqw.eq(StringUtils.isNotBlank(bo.getCategory()), ChatConfig::getCategory, bo.getCategory()); - lqw.like(StringUtils.isNotBlank(bo.getConfigName()), ChatConfig::getConfigName, bo.getConfigName()); - lqw.eq(StringUtils.isNotBlank(bo.getConfigValue()), ChatConfig::getConfigValue, bo.getConfigValue()); - 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<Long> 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 index c136bb1..c3f8d97 100644 --- 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 @@ -16,9 +16,7 @@ import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Map; -import java.util.Collection; +import java.util.*; /** * 鑱婂ぉ妯″瀷Service涓氬姟灞傚鐞� @@ -31,6 +29,7 @@ public class ChatModelServiceImpl implements IChatModelService { private final ChatModelMapper baseMapper; + /** * 鏌ヨ鑱婂ぉ妯″瀷 @@ -123,4 +122,6 @@ public ChatModelVo selectModelByName(String modelName) { return baseMapper.selectVoOne(Wrappers.<ChatModel>lambdaQuery().eq(ChatModel::getModelName, modelName)); } + + } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IChatConfigService.java similarity index 87% rename from ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java rename to ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IChatConfigService.java index cb13e5c..6a216a4 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/IChatConfigService.java +++ b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/IChatConfigService.java @@ -1,8 +1,10 @@ -package org.ruoyi.service; +package org.ruoyi.system.service; -import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.system.domain.bo.ChatConfigBo; +import org.ruoyi.system.domain.vo.ChatConfigVo; import java.util.Collection; import java.util.List; diff --git a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java index 582ce88..c92e6ab 100644 --- a/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-system-api/src/main/java/org/ruoyi/system/service/impl/ChatConfigServiceImpl.java @@ -2,14 +2,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import org.ruoyi.common.core.service.ConfigService; +import org.ruoyi.common.core.utils.MapstructUtils; import org.ruoyi.common.core.utils.StringUtils; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; import org.ruoyi.system.domain.ChatConfig; import org.ruoyi.system.domain.bo.ChatConfigBo; import org.ruoyi.system.domain.vo.ChatConfigVo; import org.ruoyi.system.mapper.ChatConfigMapper; +import org.ruoyi.system.service.IChatConfigService; import org.springframework.stereotype.Service; + +import java.util.Collection; +import java.util.List; +import java.util.Map; /** @@ -20,7 +29,7 @@ */ @RequiredArgsConstructor @Service -public class ChatConfigServiceImpl implements ConfigService { +public class ChatConfigServiceImpl implements ConfigService, IChatConfigService { private final ChatConfigMapper baseMapper; @@ -41,11 +50,83 @@ return chatConfigVo.getConfigValue(); } + /** + * 鏌ヨ閰嶇疆淇℃伅 + */ + @Override + public ChatConfigVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 鏌ヨ閰嶇疆淇℃伅鍒楄〃 + */ + @Override + public TableDataInfo<ChatConfigVo> queryPageList(ChatConfigBo bo, PageQuery pageQuery) { + LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); + Page<ChatConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 鏌ヨ閰嶇疆淇℃伅鍒楄〃 + */ + @Override + public List<ChatConfigVo> queryList(ChatConfigBo bo) { + LambdaQueryWrapper<ChatConfig> lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + private LambdaQueryWrapper<ChatConfig> buildQueryWrapper(ChatConfigBo bo) { + Map<String, Object> params = bo.getParams(); LambdaQueryWrapper<ChatConfig> lqw = Wrappers.lambdaQuery(); lqw.eq(StringUtils.isNotBlank(bo.getCategory()), ChatConfig::getCategory, bo.getCategory()); - lqw.eq(StringUtils.isNotBlank(bo.getConfigName()), ChatConfig::getConfigName, bo.getConfigName()); + 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()); 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<Long> ids, Boolean isValid) { + if(isValid){ + //TODO 鍋氫竴浜涗笟鍔′笂鐨勬牎楠�,鍒ゆ柇鏄惁闇�瑕佹牎楠� + } + return baseMapper.deleteBatchIds(ids) > 0; + } + } diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index df6b4c7..877d990 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -24,4 +24,16 @@ <module>ruoyi-generator</module> </modules> + <dependencies> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-web</artifactId> + </dependency> + + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-common-idempotent</artifactId> + </dependency> + </dependencies> + </project> diff --git a/ruoyi-modules/ruoyi-chat/pom.xml b/ruoyi-modules/ruoyi-chat/pom.xml index 028b57d..2a14fb1 100644 --- a/ruoyi-modules/ruoyi-chat/pom.xml +++ b/ruoyi-modules/ruoyi-chat/pom.xml @@ -109,6 +109,11 @@ <artifactId>ruoyi-chat-api</artifactId> </dependency> + <dependency> + <groupId>org.ruoyi</groupId> + <artifactId>ruoyi-system-api</artifactId> + </dependency> + </dependencies> </project> diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/ChatController.java similarity index 98% rename from ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java rename to ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/ChatController.java index c75f6a1..1991b77 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/ChatController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/ChatController.java @@ -1,4 +1,4 @@ -package org.ruoyi.chat.controller; +package org.ruoyi.chat.controller.api; import jakarta.servlet.http.HttpServletRequest; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/FaceController.java similarity index 97% rename from ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java rename to ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/FaceController.java index 74dec5c..b0fa4b6 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/FaceController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/FaceController.java @@ -1,4 +1,4 @@ -package org.ruoyi.chat.controller; +package org.ruoyi.chat.controller.api; import cn.hutool.json.JSONUtil; import io.swagger.annotations.Api; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/LumaController.java similarity index 97% rename from ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java rename to ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/LumaController.java index 21a40ee..405bac9 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/LumaController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/LumaController.java @@ -1,4 +1,4 @@ -package org.ruoyi.chat.controller; +package org.ruoyi.chat.controller.api; import cn.hutool.json.JSONUtil; import io.swagger.annotations.ApiOperation; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SubmitController.java similarity index 99% rename from ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java rename to ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SubmitController.java index 5299bf2..47e18ef 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SubmitController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SubmitController.java @@ -1,4 +1,4 @@ -package org.ruoyi.chat.controller; +package org.ruoyi.chat.controller.api; import cn.hutool.json.JSONUtil; import io.swagger.annotations.Api; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SunoController.java similarity index 98% rename from ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java rename to ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SunoController.java index 8d9dd91..ce080f1 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/SunoController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/SunoController.java @@ -1,4 +1,4 @@ -package org.ruoyi.chat.controller; +package org.ruoyi.chat.controller.api; import cn.hutool.json.JSONUtil; import io.swagger.annotations.ApiOperation; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/TaskController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/TaskController.java similarity index 97% rename from ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/TaskController.java rename to ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/TaskController.java index ea86a2a..93e7c9f 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/TaskController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/api/TaskController.java @@ -1,4 +1,4 @@ -package org.ruoyi.chat.controller; +package org.ruoyi.chat.controller.api; import cn.hutool.json.JSONUtil; import io.swagger.annotations.Api; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java new file mode 100644 index 0000000..935725d --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAgentManageController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.domain.bo.ChatAgentManageBo; +import org.ruoyi.service.IChatAgentManageService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; +import org.ruoyi.system.domain.vo.ChatAgentManageVo; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; + +/** + * 鏅鸿兘浣撶鐞� + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/agentManage") +public class ChatAgentManageController extends BaseController { + + private final IChatAgentManageService chatAgentManageService; + + /** + * 鏌ヨ鏅鸿兘浣撶鐞嗗垪琛� + */ + @SaCheckPermission("system:agentManage:list") + @GetMapping("/list") + public TableDataInfo<ChatAgentManageVo> list(ChatAgentManageBo bo, PageQuery pageQuery) { + return chatAgentManageService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭鏅鸿兘浣撶鐞嗗垪琛� + */ + @SaCheckPermission("system:agentManage:export") + @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatAgentManageBo bo, HttpServletResponse response) { + List<ChatAgentManageVo> list = chatAgentManageService.queryList(bo); + ExcelUtil.exportExcel(list, "鏅鸿兘浣撶鐞�", ChatAgentManageVo.class, response); + } + + /** + * 鑾峰彇鏅鸿兘浣撶鐞嗚缁嗕俊鎭� + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:agentManage:query") + @GetMapping("/{id}") + public R<ChatAgentManageVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatAgentManageService.queryById(id)); + } + + /** + * 鏂板鏅鸿兘浣撶鐞� + */ + @SaCheckPermission("system:agentManage:add") + @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatAgentManageBo bo) { + return toAjax(chatAgentManageService.insertByBo(bo)); + } + + /** + * 淇敼鏅鸿兘浣撶鐞� + */ + @SaCheckPermission("system:agentManage:edit") + @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatAgentManageBo bo) { + return toAjax(chatAgentManageService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鏅鸿兘浣撶鐞� + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:agentManage:remove") + @Log(title = "鏅鸿兘浣撶鐞�", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatAgentManageService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java new file mode 100644 index 0000000..4d3ae9d --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatAppStoreController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.domain.bo.ChatAppStoreBo; +import org.ruoyi.service.IChatAppStoreService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; +import org.ruoyi.system.domain.vo.ChatAppStoreVo; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; + +/** + * 搴旂敤鍟嗗簵 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/appStore") +public class ChatAppStoreController extends BaseController { + + private final IChatAppStoreService chatAppStoreService; + + /** + * 鏌ヨ搴旂敤鍟嗗簵鍒楄〃 + */ + @SaCheckPermission("system:appStore:list") + @GetMapping("/list") + public TableDataInfo<ChatAppStoreVo> list(ChatAppStoreBo bo, PageQuery pageQuery) { + return chatAppStoreService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭搴旂敤鍟嗗簵鍒楄〃 + */ + @SaCheckPermission("system:appStore:export") + @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatAppStoreBo bo, HttpServletResponse response) { + List<ChatAppStoreVo> list = chatAppStoreService.queryList(bo); + ExcelUtil.exportExcel(list, "搴旂敤鍟嗗簵", ChatAppStoreVo.class, response); + } + + /** + * 鑾峰彇搴旂敤鍟嗗簵璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:appStore:query") + @GetMapping("/{id}") + public R<ChatAppStoreVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatAppStoreService.queryById(id)); + } + + /** + * 鏂板搴旂敤鍟嗗簵 + */ + @SaCheckPermission("system:appStore:add") + @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatAppStoreBo bo) { + return toAjax(chatAppStoreService.insertByBo(bo)); + } + + /** + * 淇敼搴旂敤鍟嗗簵 + */ + @SaCheckPermission("system:appStore:edit") + @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatAppStoreBo bo) { + return toAjax(chatAppStoreService.updateByBo(bo)); + } + + /** + * 鍒犻櫎搴旂敤鍟嗗簵 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:appStore:remove") + @Log(title = "搴旂敤鍟嗗簵", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatAppStoreService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatConfigController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatConfigController.java new file mode 100644 index 0000000..f27373b --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatConfigController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.system.domain.bo.ChatConfigBo; +import org.ruoyi.system.domain.vo.ChatConfigVo; +import org.ruoyi.system.service.IChatConfigService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 閰嶇疆淇℃伅 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/config") +public class ChatConfigController extends BaseController { + + private final IChatConfigService chatConfigService; + + /** + * 鏌ヨ閰嶇疆淇℃伅鍒楄〃 + */ + @SaCheckPermission("system:config:list") + @GetMapping("/list") + public TableDataInfo<ChatConfigVo> list(ChatConfigBo bo, PageQuery pageQuery) { + return chatConfigService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭閰嶇疆淇℃伅鍒楄〃 + */ + @SaCheckPermission("system:config:export") + @Log(title = "閰嶇疆淇℃伅", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatConfigBo bo, HttpServletResponse response) { + List<ChatConfigVo> list = chatConfigService.queryList(bo); + ExcelUtil.exportExcel(list, "閰嶇疆淇℃伅", ChatConfigVo.class, response); + } + + /** + * 鑾峰彇閰嶇疆淇℃伅璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:config:query") + @GetMapping("/{id}") + public R<ChatConfigVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatConfigService.queryById(id)); + } + + /** + * 鏂板閰嶇疆淇℃伅 + */ + @SaCheckPermission("system:config:add") + @Log(title = "閰嶇疆淇℃伅", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatConfigBo bo) { + return toAjax(chatConfigService.insertByBo(bo)); + } + + /** + * 淇敼閰嶇疆淇℃伅 + */ + @SaCheckPermission("system:config:edit") + @Log(title = "閰嶇疆淇℃伅", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatConfigBo bo) { + return toAjax(chatConfigService.updateByBo(bo)); + } + + /** + * 鍒犻櫎閰嶇疆淇℃伅 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:config:remove") + @Log(title = "閰嶇疆淇℃伅", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatConfigService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java new file mode 100644 index 0000000..defa1d3 --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatGptsController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatGptsBo; +import org.ruoyi.domain.vo.ChatGptsVo; +import org.ruoyi.service.IChatGptsService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 搴旂敤绠$悊 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/gpts") +public class ChatGptsController extends BaseController { + + private final IChatGptsService chatGptsService; + + /** + * 鏌ヨ搴旂敤绠$悊鍒楄〃 + */ + @SaCheckPermission("system:gpts:list") + @GetMapping("/list") + public TableDataInfo<ChatGptsVo> list(ChatGptsBo bo, PageQuery pageQuery) { + return chatGptsService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭搴旂敤绠$悊鍒楄〃 + */ + @SaCheckPermission("system:gpts:export") + @Log(title = "搴旂敤绠$悊", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatGptsBo bo, HttpServletResponse response) { + List<ChatGptsVo> list = chatGptsService.queryList(bo); + ExcelUtil.exportExcel(list, "搴旂敤绠$悊", ChatGptsVo.class, response); + } + + /** + * 鑾峰彇搴旂敤绠$悊璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:gpts:query") + @GetMapping("/{id}") + public R<ChatGptsVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatGptsService.queryById(id)); + } + + /** + * 鏂板搴旂敤绠$悊 + */ + @SaCheckPermission("system:gpts:add") + @Log(title = "搴旂敤绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatGptsBo bo) { + return toAjax(chatGptsService.insertByBo(bo)); + } + + /** + * 淇敼搴旂敤绠$悊 + */ + @SaCheckPermission("system:gpts:edit") + @Log(title = "搴旂敤绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatGptsBo bo) { + return toAjax(chatGptsService.updateByBo(bo)); + } + + /** + * 鍒犻櫎搴旂敤绠$悊 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:gpts:remove") + @Log(title = "搴旂敤绠$悊", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatGptsService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatMessageController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatMessageController.java new file mode 100644 index 0000000..a67aa6e --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatMessageController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatMessageBo; +import org.ruoyi.domain.vo.ChatMessageVo; +import org.ruoyi.service.IChatMessageService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 鑱婂ぉ娑堟伅 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/message") +public class ChatMessageController extends BaseController { + + private final IChatMessageService chatMessageService; + + /** + * 鏌ヨ鑱婂ぉ娑堟伅鍒楄〃 + */ + @SaCheckPermission("system:message:list") + @GetMapping("/list") + public TableDataInfo<ChatMessageVo> list(ChatMessageBo bo, PageQuery pageQuery) { + return chatMessageService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭鑱婂ぉ娑堟伅鍒楄〃 + */ + @SaCheckPermission("system:message:export") + @Log(title = "鑱婂ぉ娑堟伅", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatMessageBo bo, HttpServletResponse response) { + List<ChatMessageVo> list = chatMessageService.queryList(bo); + ExcelUtil.exportExcel(list, "鑱婂ぉ娑堟伅", ChatMessageVo.class, response); + } + + /** + * 鑾峰彇鑱婂ぉ娑堟伅璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:message:query") + @GetMapping("/{id}") + public R<ChatMessageVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatMessageService.queryById(id)); + } + + /** + * 鏂板鑱婂ぉ娑堟伅 + */ + @SaCheckPermission("system:message:add") + @Log(title = "鑱婂ぉ娑堟伅", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatMessageBo bo) { + return toAjax(chatMessageService.insertByBo(bo)); + } + + /** + * 淇敼鑱婂ぉ娑堟伅 + */ + @SaCheckPermission("system:message:edit") + @Log(title = "鑱婂ぉ娑堟伅", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatMessageBo bo) { + return toAjax(chatMessageService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鑱婂ぉ娑堟伅 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:message:remove") + @Log(title = "鑱婂ぉ娑堟伅", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatMessageService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java new file mode 100644 index 0000000..11be18b --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatModelController.java @@ -0,0 +1,116 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.chat.service.chat.UserModelService; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatModelBo; +import org.ruoyi.domain.vo.ChatModelVo; +import org.ruoyi.service.IChatModelService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 鑱婂ぉ妯″瀷 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/model") +public class ChatModelController extends BaseController { + + private final IChatModelService chatModelService; + + private final UserModelService modelService; + + /** + * 鏌ヨ鑱婂ぉ妯″瀷鍒楄〃 + */ + @SaCheckPermission("system:model:list") + @GetMapping("/list") + public TableDataInfo<ChatModelVo> list(ChatModelBo bo, PageQuery pageQuery) { + return chatModelService.queryPageList(bo, pageQuery); + } + + /** + * 鏌ヨ鐢ㄦ埛妯″瀷鍒楄〃 + */ + @GetMapping("/modelList") + public R<List<ChatModelVo>> modelList(ChatModelBo bo) { + return R.ok(modelService.modelList(bo)); + } + + /** + * 瀵煎嚭鑱婂ぉ妯″瀷鍒楄〃 + */ + @SaCheckPermission("system:model:export") + @Log(title = "鑱婂ぉ妯″瀷", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatModelBo bo, HttpServletResponse response) { + List<ChatModelVo> list = chatModelService.queryList(bo); + ExcelUtil.exportExcel(list, "鑱婂ぉ妯″瀷", ChatModelVo.class, response); + } + + /** + * 鑾峰彇鑱婂ぉ妯″瀷璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:model:query") + @GetMapping("/{id}") + public R<ChatModelVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatModelService.queryById(id)); + } + + /** + * 鏂板鑱婂ぉ妯″瀷 + */ + @SaCheckPermission("system:model:add") + @Log(title = "鑱婂ぉ妯″瀷", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatModelBo bo) { + return toAjax(chatModelService.insertByBo(bo)); + } + + /** + * 淇敼鑱婂ぉ妯″瀷 + */ + @SaCheckPermission("system:model:edit") + @Log(title = "鑱婂ぉ妯″瀷", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatModelBo bo) { + return toAjax(chatModelService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鑱婂ぉ妯″瀷 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:model:remove") + @Log(title = "鑱婂ぉ妯″瀷", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatModelService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java new file mode 100644 index 0000000..b93574e --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPackagePlanController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatPackagePlanBo; +import org.ruoyi.domain.vo.ChatPackagePlanVo; +import org.ruoyi.service.IChatPackagePlanService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 濂楅绠$悊 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/packagePlan") +public class ChatPackagePlanController extends BaseController { + + private final IChatPackagePlanService chatPackagePlanService; + + /** + * 鏌ヨ濂楅绠$悊鍒楄〃 + */ + @SaCheckPermission("system:packagePlan:list") + @GetMapping("/list") + public TableDataInfo<ChatPackagePlanVo> list(ChatPackagePlanBo bo, PageQuery pageQuery) { + return chatPackagePlanService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭濂楅绠$悊鍒楄〃 + */ + @SaCheckPermission("system:packagePlan:export") + @Log(title = "濂楅绠$悊", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatPackagePlanBo bo, HttpServletResponse response) { + List<ChatPackagePlanVo> list = chatPackagePlanService.queryList(bo); + ExcelUtil.exportExcel(list, "濂楅绠$悊", ChatPackagePlanVo.class, response); + } + + /** + * 鑾峰彇濂楅绠$悊璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:packagePlan:query") + @GetMapping("/{id}") + public R<ChatPackagePlanVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatPackagePlanService.queryById(id)); + } + + /** + * 鏂板濂楅绠$悊 + */ + @SaCheckPermission("system:packagePlan:add") + @Log(title = "濂楅绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatPackagePlanBo bo) { + return toAjax(chatPackagePlanService.insertByBo(bo)); + } + + /** + * 淇敼濂楅绠$悊 + */ + @SaCheckPermission("system:packagePlan:edit") + @Log(title = "濂楅绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatPackagePlanBo bo) { + return toAjax(chatPackagePlanService.updateByBo(bo)); + } + + /** + * 鍒犻櫎濂楅绠$悊 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:packagePlan:remove") + @Log(title = "濂楅绠$悊", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatPackagePlanService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPayOrderController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPayOrderController.java new file mode 100644 index 0000000..298cc59 --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPayOrderController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatPayOrderBo; +import org.ruoyi.domain.vo.ChatPayOrderVo; +import org.ruoyi.service.IChatPayOrderService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 鏀粯璁㈠崟 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/payOrder") +public class ChatPayOrderController extends BaseController { + + private final IChatPayOrderService chatPayOrderService; + + /** + * 鏌ヨ鏀粯璁㈠崟鍒楄〃 + */ + @SaCheckPermission("system:payOrder:list") + @GetMapping("/list") + public TableDataInfo<ChatPayOrderVo> list(ChatPayOrderBo bo, PageQuery pageQuery) { + return chatPayOrderService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭鏀粯璁㈠崟鍒楄〃 + */ + @SaCheckPermission("system:payOrder:export") + @Log(title = "鏀粯璁㈠崟", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatPayOrderBo bo, HttpServletResponse response) { + List<ChatPayOrderVo> list = chatPayOrderService.queryList(bo); + ExcelUtil.exportExcel(list, "鏀粯璁㈠崟", ChatPayOrderVo.class, response); + } + + /** + * 鑾峰彇鏀粯璁㈠崟璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:payOrder:query") + @GetMapping("/{id}") + public R<ChatPayOrderVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatPayOrderService.queryById(id)); + } + + /** + * 鏂板鏀粯璁㈠崟 + */ + @SaCheckPermission("system:payOrder:add") + @Log(title = "鏀粯璁㈠崟", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatPayOrderBo bo) { + return toAjax(chatPayOrderService.insertByBo(bo)); + } + + /** + * 淇敼鏀粯璁㈠崟 + */ + @SaCheckPermission("system:payOrder:edit") + @Log(title = "鏀粯璁㈠崟", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatPayOrderBo bo) { + return toAjax(chatPayOrderService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鏀粯璁㈠崟 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:payOrder:remove") + @Log(title = "鏀粯璁㈠崟", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatPayOrderService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java new file mode 100644 index 0000000..353d1aa --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatPluginController.java @@ -0,0 +1,105 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.excel.utils.ExcelUtil; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatPluginBo; +import org.ruoyi.domain.vo.ChatPluginVo; +import org.ruoyi.service.IChatPluginService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; + +/** + * 鎻掍欢绠$悊 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/plugin") +public class ChatPluginController extends BaseController { + + private final IChatPluginService chatPluginService; + + /** + * 鏌ヨ鎻掍欢绠$悊鍒楄〃 + */ + @SaCheckPermission("system:plugin:list") + @GetMapping("/list") + public TableDataInfo<ChatPluginVo> list(ChatPluginBo bo, PageQuery pageQuery) { + return chatPluginService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭鎻掍欢绠$悊鍒楄〃 + */ + @SaCheckPermission("system:plugin:export") + @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatPluginBo bo, HttpServletResponse response) { + List<ChatPluginVo> list = chatPluginService.queryList(bo); + ExcelUtil.exportExcel(list, "鎻掍欢绠$悊", ChatPluginVo.class, response); + } + + /** + * 鑾峰彇鎻掍欢绠$悊璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:plugin:query") + @GetMapping("/{id}") + public R<ChatPluginVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatPluginService.queryById(id)); + } + + /** + * 鏂板鎻掍欢绠$悊 + */ + @SaCheckPermission("system:plugin:add") + @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatPluginBo bo) { + return toAjax(chatPluginService.insertByBo(bo)); + } + + /** + * 淇敼鎻掍欢绠$悊 + */ + @SaCheckPermission("system:plugin:edit") + @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatPluginBo bo) { + return toAjax(chatPluginService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鎻掍欢绠$悊 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:plugin:remove") + @Log(title = "鎻掍欢绠$悊", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatPluginService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java new file mode 100644 index 0000000..bc88c47 --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/chat/ChatVoucherController.java @@ -0,0 +1,104 @@ +package org.ruoyi.chat.controller.chat; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.ruoyi.common.idempotent.annotation.RepeatSubmit; +import org.ruoyi.common.mybatis.core.page.TableDataInfo; +import org.ruoyi.domain.bo.ChatVoucherBo; +import org.ruoyi.domain.vo.ChatVoucherVo; +import org.ruoyi.service.IChatVoucherService; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.ruoyi.common.log.annotation.Log; +import org.ruoyi.common.web.core.BaseController; +import org.ruoyi.common.mybatis.core.page.PageQuery; +import org.ruoyi.common.core.domain.R; +import org.ruoyi.common.core.validate.AddGroup; +import org.ruoyi.common.core.validate.EditGroup; +import org.ruoyi.common.log.enums.BusinessType; +import org.ruoyi.common.excel.utils.ExcelUtil; +/** + * 鐢ㄦ埛鍏戞崲璁板綍 + * + * @author ageerle + * @date 2025-04-08 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/system/voucher") +public class ChatVoucherController extends BaseController { + + private final IChatVoucherService chatVoucherService; + + /** + * 鏌ヨ鐢ㄦ埛鍏戞崲璁板綍鍒楄〃 + */ + @SaCheckPermission("system:voucher:list") + @GetMapping("/list") + public TableDataInfo<ChatVoucherVo> list(ChatVoucherBo bo, PageQuery pageQuery) { + return chatVoucherService.queryPageList(bo, pageQuery); + } + + /** + * 瀵煎嚭鐢ㄦ埛鍏戞崲璁板綍鍒楄〃 + */ + @SaCheckPermission("system:voucher:export") + @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ChatVoucherBo bo, HttpServletResponse response) { + List<ChatVoucherVo> list = chatVoucherService.queryList(bo); + ExcelUtil.exportExcel(list, "鐢ㄦ埛鍏戞崲璁板綍", ChatVoucherVo.class, response); + } + + /** + * 鑾峰彇鐢ㄦ埛鍏戞崲璁板綍璇︾粏淇℃伅 + * + * @param id 涓婚敭 + */ + @SaCheckPermission("system:voucher:query") + @GetMapping("/{id}") + public R<ChatVoucherVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long id) { + return R.ok(chatVoucherService.queryById(id)); + } + + /** + * 鏂板鐢ㄦ埛鍏戞崲璁板綍 + */ + @SaCheckPermission("system:voucher:add") + @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R<Void> add(@Validated(AddGroup.class) @RequestBody ChatVoucherBo bo) { + return toAjax(chatVoucherService.insertByBo(bo)); + } + + /** + * 淇敼鐢ㄦ埛鍏戞崲璁板綍 + */ + @SaCheckPermission("system:voucher:edit") + @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R<Void> edit(@Validated(EditGroup.class) @RequestBody ChatVoucherBo bo) { + return toAjax(chatVoucherService.updateByBo(bo)); + } + + /** + * 鍒犻櫎鐢ㄦ埛鍏戞崲璁板綍 + * + * @param ids 涓婚敭涓� + */ + @SaCheckPermission("system:voucher:remove") + @Log(title = "鐢ㄦ埛鍏戞崲璁板綍", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R<Void> remove(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") + @PathVariable Long[] ids) { + return toAjax(chatVoucherService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java new file mode 100644 index 0000000..1eee4ec --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/DisplayType.java @@ -0,0 +1,32 @@ +package org.ruoyi.chat.enums; + +import lombok.Getter; + +/** + * 鎻忚堪锛� + * + * @author ageerle@163.com + * date 2025/4/10 + */ +@Getter +public enum DisplayType { + HIDDEN("1", "涓嶆樉绀�"), + VISIBLE("0", "鏄剧ず"); + + private final String code; + private final String description; + + DisplayType(String code, String description) { + this.code = code; + this.description = description; + } + + public static DisplayType fromCode(String code) { + for (DisplayType type : values()) { + if (type.getCode().equals(code)) { + return type; + } + } + return null; + } +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/UserGradeType.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/UserGradeType.java index 3c8d8be..d640402 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/UserGradeType.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/enums/UserGradeType.java @@ -2,10 +2,13 @@ import lombok.Getter; +/** + * @author ageer + */ @Getter public enum UserGradeType { - UNPAID("0", "鏈粯璐�"), // 鏈粯璐圭敤鎴� - PAID("1", "宸蹭粯璐�"); // 宸蹭粯璐圭敤鎴� + UNPAID("0", "鏈粯璐�"), + PAID("1", "宸蹭粯璐�"); private final String code; private final String description; @@ -24,11 +27,4 @@ return null; } - public String getCode() { - return code; - } - - public String getDescription() { - return description; - } } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java new file mode 100644 index 0000000..ada36d0 --- /dev/null +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/UserModelService.java @@ -0,0 +1,61 @@ +package org.ruoyi.chat.service.chat; + +import cn.dev33.satoken.stp.StpUtil; +import lombok.RequiredArgsConstructor; +import org.ruoyi.chat.enums.DisplayType; +import org.ruoyi.chat.enums.UserGradeType; +import org.ruoyi.common.satoken.utils.LoginHelper; +import org.ruoyi.domain.bo.ChatModelBo; +import org.ruoyi.domain.bo.ChatPackagePlanBo; +import org.ruoyi.domain.vo.ChatModelVo; +import org.ruoyi.domain.vo.ChatPackagePlanVo; +import org.ruoyi.service.IChatModelService; +import org.ruoyi.service.IChatPackagePlanService; +import org.ruoyi.system.domain.vo.SysUserVo; +import org.ruoyi.system.service.ISysUserService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 鎻忚堪锛氱敤鎴锋ā鍨嬩俊鎭� + * + * @author ageerle@163.com + * date 2025/4/10 + */ + +@Service +@RequiredArgsConstructor +public class UserModelService { + + private final IChatModelService chatModelService; + + private final ISysUserService userService; + + private final IChatPackagePlanService packagePlanService; + + public List<ChatModelVo> modelList(ChatModelBo bo) { + bo.setModelShow(DisplayType.VISIBLE.getCode()); + List<ChatModelVo> chatModelList = chatModelService.queryList(bo); + ChatPackagePlanBo sysPackagePlanBo = new ChatPackagePlanBo(); + if (StpUtil.isLogin()) { + Long userId = LoginHelper.getLoginUser().getUserId(); + SysUserVo sysUserVo = userService.selectUserById(userId); + if (UserGradeType.UNPAID.getCode().equals(sysUserVo.getUserGrade())){ + sysPackagePlanBo.setName("Free"); + ChatPackagePlanVo chatPackagePlanVo = packagePlanService.queryList(sysPackagePlanBo).get(0); + List<String> array = new ArrayList<>(Arrays.asList(chatPackagePlanVo.getPlanDetail().split(","))); + chatModelList.removeIf(model -> !array.contains(model.getModelName())); + } + }else { + sysPackagePlanBo.setName("Visitor"); + ChatPackagePlanVo sysPackagePlanVo = packagePlanService.queryList(sysPackagePlanBo).get(0); + List<String> array = new ArrayList<>(Arrays.asList(sysPackagePlanVo.getPlanDetail().split(","))); + chatModelList.removeIf(model -> !array.contains(model.getModelName())); + } + return new ArrayList<>(chatModelList); + } + +} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java index 66be79f..272ebe5 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java @@ -6,7 +6,7 @@ import org.ruoyi.chat.enums.BillingType; import org.ruoyi.chat.enums.UserGradeType; import org.ruoyi.chat.service.chat.IChatCostService; -import org.ruoyi.common.chat.domain.request.ChatRequest; +import org.ruoyi.common.chat.request.ChatRequest; import org.ruoyi.common.chat.utils.TikTokensUtil; import org.ruoyi.common.core.domain.model.LoginUser; import org.ruoyi.common.core.exception.ServiceException; -- Gitblit v1.9.3