From ad7626756dd04d9c387b30db1e56d882efc698ac Mon Sep 17 00:00:00 2001 From: sunxiqing <2240398334@qq.com> Date: Tue, 31 Dec 2024 13:05:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=9B=9E=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataRefluxConfigController.java | 31 ++++++++++++-- .../vo/DataRefluxConfigPageReqVO.java | 5 ++- .../vo/DataRefluxConfigRespVO.java | 8 +++- .../vo/DataRefluxConfigSaveReqVO.java | 5 ++- .../vo/DataRefluxDataSaveReqVO.java | 9 ++++- .../datarefluxconfig/DataRefluxConfigDO.java | 6 ++- .../datarefluxdata/DataRefluxDataDO.java | 10 ++++- .../DataRefluxConfigServiceImpl.java | 40 ++++++++++++++++++- 8 files changed, 103 insertions(+), 11 deletions(-) diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/DataRefluxConfigController.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/DataRefluxConfigController.java index 91fc353cf..6926d5e7e 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/DataRefluxConfigController.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/DataRefluxConfigController.java @@ -1,5 +1,8 @@ package cn.iocoder.yudao.module.llm.controller.admin.datarefluxconfig; +import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper; +import cn.iocoder.yudao.module.llm.service.basemodel.BaseModelService; +import cn.iocoder.yudao.module.llm.service.modelservice.ModelServiceService; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -37,6 +40,10 @@ public class DataRefluxConfigController { @Resource private DataRefluxConfigService dataRefluxConfigService; + @Resource + private ModelServiceService modelServiceService; + @Resource + private BaseModelService baseModelService; @PostMapping("/create") @Operation(summary = "创建数据回流配置") @@ -68,7 +75,13 @@ public class DataRefluxConfigController { @PreAuthorize("@ss.hasPermission('llm:data-reflux-config:query')") public CommonResult getDataRefluxConfig(@RequestParam("id") Long id) { DataRefluxConfigDO dataRefluxConfig = dataRefluxConfigService.getDataRefluxConfig(id); - return success(BeanUtils.toBean(dataRefluxConfig, DataRefluxConfigRespVO.class)); + DataRefluxConfigRespVO bean = BeanUtils.toBean(dataRefluxConfig, DataRefluxConfigRespVO.class); + if (bean.getModelType()==0){ + bean.setModelServiceName(modelServiceService.getModelService(bean.getModelServiceId()).getServiceName()); + }else if (bean.getModelType()==1){ + bean.setModelServiceName(baseModelService.getBaseModel(bean.getModelServiceId()).getModelName()); + } + return success(bean); } @GetMapping("/page") @@ -76,7 +89,19 @@ public class DataRefluxConfigController { @PreAuthorize("@ss.hasPermission('llm:data-reflux-config:query')") public CommonResult> getDataRefluxConfigPage(@Valid DataRefluxConfigPageReqVO pageReqVO) { PageResult pageResult = dataRefluxConfigService.getDataRefluxConfigPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, DataRefluxConfigRespVO.class)); + if (pageResult==null){ + return success(PageResult.empty()); + } + PageResult bean = BeanUtils.toBean(pageResult, DataRefluxConfigRespVO.class); + for (DataRefluxConfigRespVO dataRefluxConfigRespVO : bean.getList()){ + if (dataRefluxConfigRespVO.getModelType()==0){ + dataRefluxConfigRespVO.setModelServiceName(modelServiceService.getModelService(dataRefluxConfigRespVO.getModelServiceId()).getServiceName()); + }else if (dataRefluxConfigRespVO.getModelType()==1){ + dataRefluxConfigRespVO.setModelServiceName(baseModelService.getBaseModel(dataRefluxConfigRespVO.getModelServiceId()).getModelName()); + } + } +// PageResult result = bean.setList(bean.getList()); + return success(bean); } @GetMapping("/export-excel") @@ -92,4 +117,4 @@ public class DataRefluxConfigController { BeanUtils.toBean(list, DataRefluxConfigRespVO.class)); } -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigPageReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigPageReqVO.java index 617a1462a..de6faffdc 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigPageReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigPageReqVO.java @@ -18,8 +18,11 @@ public class DataRefluxConfigPageReqVO extends PageParam { @Schema(description = "模型服务ID", example = "2475") private Long modelServiceId; + @Schema(description = "模型服务", example = "0") + private String modelServiceName; + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigRespVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigRespVO.java index f08891ddd..954bc0905 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigRespVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigRespVO.java @@ -20,8 +20,14 @@ public class DataRefluxConfigRespVO { @ExcelProperty("模型服务ID") private Long modelServiceId; + @Schema(description = "模型服务", example = "0") + private String modelServiceName; + + @Schema(description = "是否预知模型(0普通 1官方)", example = "0") + private Long modelType; + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigSaveReqVO.java index 875e07013..fba877293 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigSaveReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxconfig/vo/DataRefluxConfigSaveReqVO.java @@ -16,4 +16,7 @@ public class DataRefluxConfigSaveReqVO { @NotNull(message = "模型服务ID不能为空") private Long modelServiceId; -} \ No newline at end of file + @Schema(description = "是否预知模型(0普通 1官方)", example = "0") + private Long modelType; + +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxdata/vo/DataRefluxDataSaveReqVO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxdata/vo/DataRefluxDataSaveReqVO.java index 20ad5ac6d..2487aa32d 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxdata/vo/DataRefluxDataSaveReqVO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/datarefluxdata/vo/DataRefluxDataSaveReqVO.java @@ -16,6 +16,13 @@ public class DataRefluxDataSaveReqVO { @NotNull(message = "模型服务ID不能为空") private Long modelServiceId; + @Schema(description = "数据回流ID", example = "31011") + private Long configId; + + @Schema(description = "是否预知模型(0普通 1官方)", requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + @NotNull(message = "是否预知模型(0普通 1官方)不能为空") + private Long modelType; + @Schema(description = "system") private String system; @@ -25,4 +32,4 @@ public class DataRefluxDataSaveReqVO { @Schema(description = "Response") private String response; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxconfig/DataRefluxConfigDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxconfig/DataRefluxConfigDO.java index 19afb8860..6115dc382 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxconfig/DataRefluxConfigDO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxconfig/DataRefluxConfigDO.java @@ -31,5 +31,9 @@ public class DataRefluxConfigDO extends BaseDO { * 模型服务ID */ private Long modelServiceId; + /** + * 是否预知模型(0普通 1官方) + */ + private Long modelType; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxdata/DataRefluxDataDO.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxdata/DataRefluxDataDO.java index caf4a36bb..243bfe8b8 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxdata/DataRefluxDataDO.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/dal/dataobject/datarefluxdata/DataRefluxDataDO.java @@ -31,6 +31,14 @@ public class DataRefluxDataDO extends BaseDO { * 模型服务ID */ private Long modelServiceId; + /** + * 数据回流ID + */ + private Long configId; + /** + * 是否预知模型(0普通 1官方) + */ + private Long modelType; /** * system */ @@ -44,4 +52,4 @@ public class DataRefluxDataDO extends BaseDO { */ private String response; -} \ No newline at end of file +} diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/datarefluxconfig/DataRefluxConfigServiceImpl.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/datarefluxconfig/DataRefluxConfigServiceImpl.java index 783f4e52e..efa80d1cc 100644 --- a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/datarefluxconfig/DataRefluxConfigServiceImpl.java +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/service/datarefluxconfig/DataRefluxConfigServiceImpl.java @@ -1,11 +1,20 @@ package cn.iocoder.yudao.module.llm.service.datarefluxconfig; +import cn.hutool.core.util.ObjectUtil; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.llm.dal.dataobject.basemodel.BaseModelDO; +import cn.iocoder.yudao.module.llm.dal.dataobject.modelservice.ModelServiceDO; +import cn.iocoder.yudao.module.llm.dal.mysql.basemodel.BaseModelMapper; +import cn.iocoder.yudao.module.llm.dal.mysql.modelservice.ModelServiceMapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; + import cn.iocoder.yudao.module.llm.controller.admin.datarefluxconfig.vo.*; import cn.iocoder.yudao.module.llm.dal.dataobject.datarefluxconfig.DataRefluxConfigDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -28,6 +37,10 @@ public class DataRefluxConfigServiceImpl implements DataRefluxConfigService { @Resource private DataRefluxConfigMapper dataRefluxConfigMapper; + @Resource + private ModelServiceMapper modelServiceMapper; + @Resource + private BaseModelMapper baseModelMapper; @Override public Long createDataRefluxConfig(DataRefluxConfigSaveReqVO createReqVO) { @@ -68,7 +81,30 @@ public class DataRefluxConfigServiceImpl implements DataRefluxConfigService { @Override public PageResult getDataRefluxConfigPage(DataRefluxConfigPageReqVO pageReqVO) { - return dataRefluxConfigMapper.selectPage(pageReqVO); + LambdaQueryWrapper like = new LambdaQueryWrapper().like(ModelServiceDO::getServiceName, pageReqVO.getModelServiceName()); + List modelServiceDOS = modelServiceMapper.selectList(like); + List collect = modelServiceDOS.stream().map(ModelServiceDO::getId).collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper().like(BaseModelDO::getModelName, pageReqVO.getModelServiceName()); + List baseModelDOS = baseModelMapper.selectList(wrapper); + List collect1 = baseModelDOS.stream().map(BaseModelDO::getId).collect(Collectors.toList()); + LambdaQueryWrapperX wrapperX = new LambdaQueryWrapperX() + .eqIfPresent(DataRefluxConfigDO::getModelServiceId, pageReqVO.getModelServiceId()) + .betweenIfPresent(DataRefluxConfigDO::getCreateTime, pageReqVO.getCreateTime()) + .orderByDesc(DataRefluxConfigDO::getId); + if (collect.size()==0&&collect1.size()==0&&pageReqVO.getModelServiceName()!=null){ + return null; + } + if (ObjectUtil.isNotEmpty(collect) || ObjectUtil.isNotEmpty(collect1)) { + wrapperX.and(w -> { + if (ObjectUtil.isNotEmpty(collect)) { + w.or().in(DataRefluxConfigDO::getModelServiceId, collect).eq(DataRefluxConfigDO::getModelType, 0); + } + if (ObjectUtil.isNotEmpty(collect1)) { + w.or().in(DataRefluxConfigDO::getModelServiceId, collect1).eq(DataRefluxConfigDO::getModelType, 1); + } + }); + } + return dataRefluxConfigMapper.selectPage(pageReqVO,wrapperX); } -} \ No newline at end of file +}