| @@ -1,16 +1,20 @@ | |||
| package com.ruoyi.platform.controller.dataset; | |||
| import com.ruoyi.common.core.web.domain.AjaxResult; | |||
| import com.ruoyi.common.security.utils.SecurityUtils; | |||
| import com.ruoyi.platform.domain.Dataset; | |||
| import com.ruoyi.platform.domain.DatasetVersion; | |||
| import com.ruoyi.platform.service.DatasetService; | |||
| import com.ruoyi.platform.service.DatasetVersionService; | |||
| import com.ruoyi.platform.vo.DatasetVo; | |||
| import com.ruoyi.system.api.model.LoginUser; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import org.springframework.core.io.InputStreamResource; | |||
| import org.springframework.data.domain.PageRequest; | |||
| import org.springframework.http.ResponseEntity; | |||
| import org.springframework.security.core.Authentication; | |||
| import org.springframework.security.core.context.SecurityContextHolder; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import org.springframework.web.multipart.MultipartFile; | |||
| @@ -41,23 +45,40 @@ public class DatasetController { | |||
| * @param dataset 筛选条件 | |||
| * @param page 页数 | |||
| * @param size 大小 | |||
| * @param availableRange 可用范围:1表示公开,0表示私有 | |||
| // * @param availableRange 可用范围:1表示公开,0表示私有 | |||
| * @return 查询结果 | |||
| */ | |||
| @GetMapping | |||
| @ApiOperation("分页查询,根据available_range筛选,1公开0私有") | |||
| @ApiOperation("数据集广场公开数据集分页查询,根据available_range筛选,1公开0私有") | |||
| public AjaxResult queryByPage(Dataset dataset, @RequestParam("page") int page, | |||
| @RequestParam("size") int size, | |||
| @RequestParam("available_range") int availableRange , | |||
| @RequestParam("data_type") int dataType) { | |||
| dataset.setAvailableRange(availableRange); // 设置筛选条件 | |||
| dataset.setAvailableRange(dataType); // 设置筛选条件 | |||
| //@RequestParam("available_range") int availableRange , | |||
| @RequestParam(value = "data_type", required = false) String dataType) { | |||
| if (dataType != null) { // 仅当dataType有值时设置 | |||
| dataset.setDataType(dataType); | |||
| } | |||
| PageRequest pageRequest = PageRequest.of(page, size); | |||
| return AjaxResult.success(this.datasetService.queryByPage(dataset, pageRequest)); | |||
| } | |||
| @GetMapping("/personalDatasets") | |||
| @ApiOperation("分页查询当前用户的个人数据集,根据data_type筛选") | |||
| public AjaxResult queryByPagePersonal(Dataset dataset, @RequestParam("page") int page, | |||
| @RequestParam("size") int size, | |||
| @RequestParam(value = "data_type", required = false) String dataType) { | |||
| // 获取当前用户的认证信息 | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| // 设置筛选条件 | |||
| dataset.setCreateBy(loginUser.getUsername()); | |||
| dataset.setDataType(dataType); // 根据传入的参数设置数据类型 | |||
| PageRequest pageRequest = PageRequest.of(page, size); | |||
| return AjaxResult.success(this.datasetService.queryByPage(dataset, pageRequest)); | |||
| } | |||
| /** | |||
| * 通过主键查询单条数据 | |||
| * | |||
| @@ -2,12 +2,14 @@ package com.ruoyi.platform.controller.model; | |||
| import com.ruoyi.common.core.web.domain.AjaxResult; | |||
| import com.ruoyi.common.security.utils.SecurityUtils; | |||
| import com.ruoyi.platform.domain.Dataset; | |||
| import com.ruoyi.platform.domain.Models; | |||
| import com.ruoyi.platform.domain.ModelsVersion; | |||
| import com.ruoyi.platform.service.ModelsService; | |||
| import com.ruoyi.platform.vo.DatasetVo; | |||
| import com.ruoyi.platform.vo.ModelsVo; | |||
| import com.ruoyi.system.api.model.LoginUser; | |||
| import io.swagger.annotations.Api; | |||
| import io.swagger.annotations.ApiOperation; | |||
| import org.springframework.core.io.InputStreamResource; | |||
| @@ -35,26 +37,54 @@ public class ModelsController { | |||
| private ModelsService modelsService; | |||
| /** | |||
| * 分页查询 | |||
| * 模型广场分页查询 | |||
| * | |||
| * @param models 筛选条件 | |||
| * @param page 分页对象 | |||
| * @param size 分页对象 | |||
| * @param availableRange 可用范围:1表示公开,0表示私有 | |||
| // * @param availableRange 可用范围:1表示公开,0表示私有 | |||
| * @return 查询结果 | |||
| */ | |||
| @GetMapping | |||
| @ApiOperation("分页查询,根据available_range筛选,1公开0私有") | |||
| @ApiOperation("模型广场分页查询,可传model_type进行筛选") | |||
| public AjaxResult queryByPage(Models models, @RequestParam("page") int page, | |||
| @RequestParam("size") int size, | |||
| @RequestParam("available_range") int availableRange, | |||
| @RequestParam("model_type") int modelType) { | |||
| models.setAvailableRange(availableRange); // 设置筛选条件 | |||
| models.setAvailableRange(modelType); // 设置筛选条件 | |||
| //@RequestParam("available_range") int availableRange, | |||
| @RequestParam(value = "model_type", required = false) String modelType) { | |||
| // models.setAvailableRange(availableRange); // 设置筛选条件 | |||
| if (modelType != null){ | |||
| models.setModelType(modelType); // 设置筛选条件 | |||
| } | |||
| PageRequest pageRequest = PageRequest.of(page, size); | |||
| return AjaxResult.success(this.modelsService.queryByPage(models, pageRequest)); | |||
| } | |||
| /** | |||
| * 个人模型分页查询 | |||
| * | |||
| * @param models 筛选条件 | |||
| * @param page 分页对象 | |||
| * @param size 分页对象 | |||
| * @return 查询结果 | |||
| */ | |||
| @GetMapping("/personalDatasets") | |||
| @ApiOperation("分页查询当前用户的个人模型 ,根据model_type筛选") | |||
| public AjaxResult queryByPagePersonal(Models models, @RequestParam("page") int page, | |||
| @RequestParam("size") int size, | |||
| @RequestParam(value = "model_type", required = false) String modelType) { | |||
| // 获取当前用户的认证信息 | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| // 设置筛选条件 | |||
| models.setCreateBy(loginUser.getUsername()); | |||
| if (modelType != null){ | |||
| models.setModelType(modelType); // 设置筛选条件 | |||
| } | |||
| PageRequest pageRequest = PageRequest.of(page, size); | |||
| return AjaxResult.success(this.modelsService.queryByPage(models, pageRequest)); | |||
| } | |||
| /** | |||
| * 通过主键查询单条数据 | |||
| * | |||
| @@ -58,7 +58,7 @@ public class WorkflowParamController { | |||
| */ | |||
| @PostMapping | |||
| @ApiOperation("新增流水线参数") | |||
| public AjaxResult add(WorkflowParam workflowParam) { | |||
| public AjaxResult add(WorkflowParam workflowParam) throws Exception { | |||
| return AjaxResult.success(this.workflowParamService.insert(workflowParam)); | |||
| } | |||
| @@ -29,14 +29,22 @@ public class Dataset implements Serializable { | |||
| private String description; | |||
| /** | |||
| * 是否公开1公开,0私有 | |||
| * 是否公开: 1公开,0私有 | |||
| */ | |||
| @ApiModelProperty(name = "available_range") | |||
| private int availableRange; | |||
| /** | |||
| * 数据集类型 | |||
| */ | |||
| @ApiModelProperty(name = "data_type") | |||
| private Integer dataType; | |||
| private String dataType; | |||
| /** | |||
| * 数据集tag | |||
| */ | |||
| @ApiModelProperty(name = "data_tag") | |||
| private Integer dataTag; | |||
| private String dataTag; | |||
| /** | |||
| * 创建者 | |||
| */ | |||
| @@ -97,18 +105,18 @@ public class Dataset implements Serializable { | |||
| } | |||
| public Integer getDataType() { | |||
| public String getDataType() { | |||
| return dataType; | |||
| } | |||
| public void setDataType(Integer dataType) { | |||
| public void setDataType(String dataType) { | |||
| this.dataType = dataType; | |||
| } | |||
| public Integer getDataTag() { | |||
| public String getDataTag() { | |||
| return dataTag; | |||
| } | |||
| public void setDataTag(Integer dataTag) { | |||
| public void setDataTag(String dataTag) { | |||
| this.dataTag = dataTag; | |||
| } | |||
| @@ -25,8 +25,6 @@ public class Models implements Serializable { | |||
| @ApiModelProperty(name = "description") | |||
| private String description; | |||
| /** | |||
| * 模型可见范围 | |||
| */ | |||
| @@ -35,17 +33,15 @@ public class Models implements Serializable { | |||
| @ApiModelProperty(name = "model_type") | |||
| private Integer modelType; | |||
| private String modelType; | |||
| @ApiModelProperty(name = "model_tag") | |||
| private Integer modelTag; | |||
| private String modelTag; | |||
| /** | |||
| * 创建者 | |||
| */ | |||
| @ApiModelProperty(name = "create_by") | |||
| private String createBy; | |||
| /** | |||
| * 创建时间 | |||
| */ | |||
| @@ -117,19 +113,19 @@ public class Models implements Serializable { | |||
| // this.url = url; | |||
| // } | |||
| public Integer getModelType() { | |||
| public String getModelType() { | |||
| return modelType; | |||
| } | |||
| public void setModelType(Integer modelType) { | |||
| public void setModelType(String modelType) { | |||
| this.modelType = modelType; | |||
| } | |||
| public Integer getModelTag() { | |||
| public String getModelTag() { | |||
| return modelTag; | |||
| } | |||
| public void setModelTag(Integer modelTag) { | |||
| public void setModelTag(String modelTag) { | |||
| this.modelTag = modelTag; | |||
| } | |||
| @@ -366,6 +366,7 @@ public class ModelsServiceImpl implements ModelsService { | |||
| .collect(Collectors.toList()); // 收集到List中 | |||
| } | |||
| @Override | |||
| @Transactional | |||
| public String insertModelAndVersion(ModelsVo modelsVo) throws Exception { | |||
| @@ -22,9 +22,9 @@ public class DatasetVo implements Serializable { | |||
| @ApiModelProperty(name = "available_range") | |||
| private int availableRange; | |||
| @ApiModelProperty(name = "data_type") | |||
| private Integer dataType; | |||
| private String dataType; | |||
| @ApiModelProperty(name = "data_tag") | |||
| private Integer dataTag; | |||
| private String dataTag; | |||
| /** | |||
| * 版本 | |||
| */ | |||
| @@ -61,19 +61,19 @@ public class DatasetVo implements Serializable { | |||
| this.availableRange = availableRange; | |||
| } | |||
| public Integer getDataType() { | |||
| public String getDataType() { | |||
| return dataType; | |||
| } | |||
| public void setDataType(Integer dataType) { | |||
| public void setDataType(String dataType) { | |||
| this.dataType = dataType; | |||
| } | |||
| public Integer getDataTag() { | |||
| public String getDataTag() { | |||
| return dataTag; | |||
| } | |||
| public void setDataTag(Integer dataTag) { | |||
| public void setDataTag(String dataTag) { | |||
| this.dataTag = dataTag; | |||
| } | |||
| @@ -26,11 +26,11 @@ public class ModelsVo implements Serializable { | |||
| // private String url; | |||
| @ApiModelProperty(name = "model_type") | |||
| private Integer modelType; | |||
| private String modelType; | |||
| @ApiModelProperty(name = "model_tag") | |||
| private Integer modelTag; | |||
| private String modelTag; | |||
| /** | |||
| * 版本 | |||
| */ | |||
| @@ -83,19 +83,19 @@ public class ModelsVo implements Serializable { | |||
| } | |||
| public Integer getModelType() { | |||
| public String getModelType() { | |||
| return modelType; | |||
| } | |||
| public void setModelType(Integer modelType) { | |||
| public void setModelType(String modelType) { | |||
| this.modelType = modelType; | |||
| } | |||
| public Integer getModelTag() { | |||
| public String getModelTag() { | |||
| return modelTag; | |||
| } | |||
| public void setModelTag(Integer modelTag) { | |||
| public void setModelTag(String modelTag) { | |||
| this.modelTag = modelTag; | |||
| } | |||
| @@ -7,8 +7,8 @@ | |||
| <result property="name" column="name" jdbcType="VARCHAR"/> | |||
| <result property="description" column="description" jdbcType="VARCHAR"/> | |||
| <result property="availableRange" column="available_range" jdbcType="INTEGER"/> | |||
| <result property="dataType" column="data_type" jdbcType="INTEGER"/> | |||
| <result property="dataTag" column="data_tag" jdbcType="INTEGER"/> | |||
| <result property="dataType" column="data_type" jdbcType="VARCHAR"/> | |||
| <result property="dataTag" column="data_tag" jdbcType="VARCHAR"/> | |||
| <result property="createBy" column="create_by" jdbcType="VARCHAR"/> | |||
| <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> | |||
| <result property="updateBy" column="update_by" jdbcType="VARCHAR"/> | |||
| @@ -30,6 +30,7 @@ | |||
| id,dataset_id,version,url,file_name,file_size,available_cluster,status,create_by,create_time,update_by,update_time,state | |||
| from dataset_version | |||
| where dataset_id = #{datasetId} and state = 1 | |||
| order by create_time desc | |||
| </select> | |||
| <select id="queryByDatasetVersion" resultMap="DatasetVersionMap"> | |||
| @@ -7,8 +7,8 @@ | |||
| <result property="name" column="name" jdbcType="VARCHAR"/> | |||
| <result property="description" column="description" jdbcType="VARCHAR"/> | |||
| <result property="availableRange" column="available_range" jdbcType="INTEGER"/> | |||
| <result property="modelType" column="model_type" jdbcType="INTEGER"/> | |||
| <result property="modelTag" column="model_tag" jdbcType="INTEGER"/> | |||
| <result property="modelType" column="model_type" jdbcType="VARCHAR"/> | |||
| <result property="modelTag" column="model_tag" jdbcType="VARCHAR"/> | |||
| <result property="createBy" column="create_by" jdbcType="VARCHAR"/> | |||
| <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> | |||
| <result property="updateBy" column="update_by" jdbcType="VARCHAR"/> | |||
| @@ -21,7 +21,9 @@ | |||
| id,models_id,version,url,file_name,file_size,status,create_by,create_time,update_by,update_time,state | |||
| from models_version | |||
| where models_id = #{modelsId} and state = 1 | |||
| order by create_time desc | |||
| </select> | |||
| <!--查询单个--> | |||
| <select id="queryById" resultMap="ModelsVersionMap"> | |||
| select | |||