增加 数据集所有返回 区分公共私有

This commit is contained in:
limin 2024-12-28 11:20:47 +08:00
parent 505509b4a3
commit 9621c41a0e
5 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,8 @@
package cn.iocoder.yudao.module.llm.constant;
public class DataConstants {
// 个人数据集标识
public static final int dataTypePrivate = 0;
public static final int dataTypePublic = 1;
}

View File

@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetTreeNode;
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO;
import cn.iocoder.yudao.module.llm.service.dataset.DatasetService;
import io.swagger.v3.oas.annotations.Operation;
@ -51,6 +52,14 @@ public class DatasetController {
return success(true);
}
@GetMapping("/all")
@Operation(summary = "查询所有数据集接口")
@PreAuthorize("@ss.hasPermission('llm:dataset:query')")
public CommonResult<List<DatasetTreeNode>> all() {
List<DatasetTreeNode> list = datasetService.queryAll();
return success(list);
}
@DeleteMapping("/delete")
@Operation(summary = "删除数据集")
@Parameter(name = "id", description = "编号", required = true)

View File

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.llm.controller.admin.dataset.vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DatasetTreeNode {
private int type;
private List<DatasetRespVO> children;
public DatasetTreeNode(int type) {
this.type = type;
this.children = new ArrayList<>();
}
}

View File

@ -52,4 +52,5 @@ public interface DatasetService {
*/
PageResult<DatasetDO> getDatasetPage(DatasetPageReqVO pageReqVO);
List<DatasetTreeNode> queryAll();
}

View File

@ -2,10 +2,15 @@ package cn.iocoder.yudao.module.llm.service.dataset;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.llm.constant.DataConstants;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetPageReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetRespVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetSaveReqVO;
import cn.iocoder.yudao.module.llm.controller.admin.dataset.vo.DatasetTreeNode;
import cn.iocoder.yudao.module.llm.dal.dataobject.dataset.DatasetDO;
import cn.iocoder.yudao.module.llm.dal.mysql.dataset.DatasetMapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@ -14,6 +19,9 @@ import javax.annotation.Resource;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.llm.enums.ErrorCodeConstants.DATASET_NOT_EXISTS;
@ -87,4 +95,34 @@ public class DatasetServiceImpl implements DatasetService {
return datasetMapper.selectPage(pageReqVO);
}
@Override
public List<DatasetTreeNode> queryAll() {
/*List<DatasetDO> datasetDOS0 = datasetMapper.selectList(new LambdaQueryWrapper<DatasetDO>().eq(DatasetDO::getType, DataConstants.dataTypePrivate));
List<DatasetRespVO> datasetRespVOS0 = BeanUtils.toBean(datasetDOS0, DatasetRespVO.class);
List<DatasetDO> datasetDOS1 = datasetMapper.selectList(new LambdaQueryWrapper<DatasetDO>().eq(DatasetDO::getType, DataConstants.dataTypePublic));
List<DatasetRespVO> datasetRespVOS1 = BeanUtils.toBean(datasetDOS1, DatasetRespVO.class);
List<List<DatasetRespVO>> result = new ArrayList<>();
result.add(datasetRespVOS0);
result.add(datasetRespVOS1);*/
List<DatasetDO> datasetDOS = datasetMapper.selectList(null); // 获取所有数据集
// 创建两个根节点分别代表两种 type
DatasetTreeNode privateRoot = new DatasetTreeNode(DataConstants.dataTypePrivate);
DatasetTreeNode publicRoot = new DatasetTreeNode(DataConstants.dataTypePublic);
for (DatasetDO datasetDO : datasetDOS) {
DatasetRespVO datasetRespVO = BeanUtils.toBean(datasetDO, DatasetRespVO.class);
// 根据 type 字段决定节点的位置
if (datasetRespVO.getType()==DataConstants.dataTypePrivate) {
privateRoot.getChildren().add(datasetRespVO);
} else if (datasetRespVO.getType()==DataConstants.dataTypePublic) {
publicRoot.getChildren().add(datasetRespVO);
}
}
List<DatasetTreeNode> root = new ArrayList<>();
root.add(privateRoot);
root.add(publicRoot);
return root;
}
}