Merge remote-tracking branch 'origin/master'

This commit is contained in:
limin 2024-12-31 13:08:06 +08:00
commit ac252344eb
8 changed files with 103 additions and 11 deletions

View File

@ -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<DataRefluxConfigRespVO> 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<PageResult<DataRefluxConfigRespVO>> getDataRefluxConfigPage(@Valid DataRefluxConfigPageReqVO pageReqVO) {
PageResult<DataRefluxConfigDO> pageResult = dataRefluxConfigService.getDataRefluxConfigPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, DataRefluxConfigRespVO.class));
if (pageResult==null){
return success(PageResult.empty());
}
PageResult<DataRefluxConfigRespVO> 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<DataRefluxConfigRespVO> result = bean.setList(bean.getList());
return success(bean);
}
@GetMapping("/export-excel")
@ -92,4 +117,4 @@ public class DataRefluxConfigController {
BeanUtils.toBean(list, DataRefluxConfigRespVO.class));
}
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -16,4 +16,7 @@ public class DataRefluxConfigSaveReqVO {
@NotNull(message = "模型服务ID不能为空")
private Long modelServiceId;
}
@Schema(description = "是否预知模型0普通 1官方", example = "0")
private Long modelType;
}

View File

@ -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;
}
}

View File

@ -31,5 +31,9 @@ public class DataRefluxConfigDO extends BaseDO {
* 模型服务ID
*/
private Long modelServiceId;
/**
* 是否预知模型0普通 1官方
*/
private Long modelType;
}
}

View File

@ -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;
}
}

View File

@ -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<DataRefluxConfigDO> getDataRefluxConfigPage(DataRefluxConfigPageReqVO pageReqVO) {
return dataRefluxConfigMapper.selectPage(pageReqVO);
LambdaQueryWrapper<ModelServiceDO> like = new LambdaQueryWrapper<ModelServiceDO>().like(ModelServiceDO::getServiceName, pageReqVO.getModelServiceName());
List<ModelServiceDO> modelServiceDOS = modelServiceMapper.selectList(like);
List<Long> collect = modelServiceDOS.stream().map(ModelServiceDO::getId).collect(Collectors.toList());
LambdaQueryWrapper<BaseModelDO> wrapper = new LambdaQueryWrapper<BaseModelDO>().like(BaseModelDO::getModelName, pageReqVO.getModelServiceName());
List<BaseModelDO> baseModelDOS = baseModelMapper.selectList(wrapper);
List<Long> collect1 = baseModelDOS.stream().map(BaseModelDO::getId).collect(Collectors.toList());
LambdaQueryWrapperX<DataRefluxConfigDO> wrapperX = new LambdaQueryWrapperX<DataRefluxConfigDO>()
.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);
}
}
}