编写不重复时提示注解
This commit is contained in:
parent
c18804104d
commit
53c4a38048
|
@ -0,0 +1,12 @@
|
||||||
|
package com.ruoyi.platform.annotations;
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface CheckDuplicate {
|
||||||
|
String value() default "";
|
||||||
|
String message() default "不能重复";
|
||||||
|
}
|
|
@ -77,7 +77,7 @@ public class DatasetController {
|
||||||
*/
|
*/
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@ApiOperation("添加数据集")
|
@ApiOperation("添加数据集")
|
||||||
public AjaxResult add(@RequestBody Dataset dataset) {
|
public AjaxResult add(@RequestBody Dataset dataset) throws Exception {
|
||||||
return AjaxResult.success(this.datasetService.insert(dataset));
|
return AjaxResult.success(this.datasetService.insert(dataset));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@ public class DatasetVersionController {
|
||||||
*/
|
*/
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@ApiOperation("添加数据集版本")
|
@ApiOperation("添加数据集版本")
|
||||||
public AjaxResult add(@RequestBody DatasetVersion datasetVersion) {
|
public AjaxResult add(@RequestBody DatasetVersion datasetVersion) throws Exception {
|
||||||
return AjaxResult.success(this.datasetVersionService.insert(datasetVersion));
|
return AjaxResult.success(this.datasetVersionService.insert(datasetVersion));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ruoyi.platform.domain;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import com.ruoyi.platform.annotations.CheckDuplicate;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -13,11 +14,14 @@ import java.io.Serializable;
|
||||||
* @author Xidaray
|
* @author Xidaray
|
||||||
* @since 2023-11-28 11:51:22
|
* @since 2023-11-28 11:51:22
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
|
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
|
||||||
public class Dataset implements Serializable {
|
public class Dataset implements Serializable {
|
||||||
private static final long serialVersionUID = 918442714458737041L;
|
private static final long serialVersionUID = 918442714458737041L;
|
||||||
@ApiModelProperty(name = "id")
|
@ApiModelProperty(name = "id")
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
|
@CheckDuplicate
|
||||||
@ApiModelProperty(name = "name")
|
@ApiModelProperty(name = "name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ruoyi.platform.domain;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import com.ruoyi.platform.annotations.CheckDuplicate;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -27,6 +28,7 @@ public class DatasetVersion implements Serializable {
|
||||||
* 版本
|
* 版本
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(name = "version")
|
@ApiModelProperty(name = "version")
|
||||||
|
@CheckDuplicate
|
||||||
private String version;
|
private String version;
|
||||||
/**
|
/**
|
||||||
* 数据集存储地址
|
* 数据集存储地址
|
||||||
|
|
|
@ -80,5 +80,6 @@ public interface DatasetDao {
|
||||||
*/
|
*/
|
||||||
int deleteById(Integer id);
|
int deleteById(Integer id);
|
||||||
|
|
||||||
|
Dataset findByName(String name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,6 @@ public interface DatasetVersionDao {
|
||||||
List<DatasetVersion> queryAllByDatasetVersion(@Param("datasetId") Integer datasetId, @Param("version") String version);
|
List<DatasetVersion> queryAllByDatasetVersion(@Param("datasetId") Integer datasetId, @Param("version") String version);
|
||||||
|
|
||||||
|
|
||||||
|
DatasetVersion findByDatasetAndVersion(Integer datasetId, String version);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ public interface DatasetService {
|
||||||
* @param dataset 实例对象
|
* @param dataset 实例对象
|
||||||
* @return 实例对象
|
* @return 实例对象
|
||||||
*/
|
*/
|
||||||
Dataset insert(Dataset dataset);
|
Dataset insert(Dataset dataset) throws Exception;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,4 +77,5 @@ public interface DatasetService {
|
||||||
Map getDatasetVersions(Integer datasetId) throws Exception;
|
Map getDatasetVersions(Integer datasetId) throws Exception;
|
||||||
|
|
||||||
String insertDatasetAndVersion(DatasetVo datasetVo) throws Exception;
|
String insertDatasetAndVersion(DatasetVo datasetVo) throws Exception;
|
||||||
|
public void checkDeclaredName(Dataset insert) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.ruoyi.platform.service;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.platform.domain.Dataset;
|
||||||
import com.ruoyi.platform.domain.DatasetVersion;
|
import com.ruoyi.platform.domain.DatasetVersion;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
|
@ -41,7 +42,7 @@ public interface DatasetVersionService {
|
||||||
* @param datasetVersion 实例对象
|
* @param datasetVersion 实例对象
|
||||||
* @return 实例对象
|
* @return 实例对象
|
||||||
*/
|
*/
|
||||||
DatasetVersion insert(DatasetVersion datasetVersion);
|
DatasetVersion insert(DatasetVersion datasetVersion) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改数据
|
* 修改数据
|
||||||
|
@ -63,11 +64,11 @@ public interface DatasetVersionService {
|
||||||
|
|
||||||
List<DatasetVersion> queryByDatasetId(Integer datasetId);
|
List<DatasetVersion> queryByDatasetId(Integer datasetId);
|
||||||
|
|
||||||
DatasetVersion duplicateDatasetVersion(DatasetVersion oldDatasetVersion);
|
|
||||||
|
|
||||||
DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion);
|
DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion);
|
||||||
|
|
||||||
List<DatasetVersion> queryByDatasetIdAndVersion(Integer datasetId, String version);
|
List<DatasetVersion> queryByDatasetIdAndVersion(Integer datasetId, String version);
|
||||||
|
|
||||||
Map<Integer,String> deleteDatasetVersion(Integer datasetId, String version);
|
Map<Integer,String> deleteDatasetVersion(Integer datasetId, String version);
|
||||||
|
|
||||||
|
void checkDeclaredVersion(DatasetVersion insert) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ruoyi.platform.service.impl;
|
||||||
|
|
||||||
|
|
||||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.platform.annotations.CheckDuplicate;
|
||||||
import com.ruoyi.platform.domain.Dataset;
|
import com.ruoyi.platform.domain.Dataset;
|
||||||
import com.ruoyi.platform.domain.DatasetVersion;
|
import com.ruoyi.platform.domain.DatasetVersion;
|
||||||
import com.ruoyi.platform.domain.Models;
|
import com.ruoyi.platform.domain.Models;
|
||||||
|
@ -34,6 +35,7 @@ import javax.annotation.Resource;
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -111,7 +113,9 @@ public class DatasetServiceImpl implements DatasetService {
|
||||||
* @return 实例对象
|
* @return 实例对象
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Dataset insert(Dataset dataset) {
|
public Dataset insert(Dataset dataset) throws Exception {
|
||||||
|
|
||||||
|
checkDeclaredName(dataset);
|
||||||
|
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
dataset.setCreateBy(loginUser.getUsername());
|
dataset.setCreateBy(loginUser.getUsername());
|
||||||
|
@ -349,4 +353,18 @@ public class DatasetServiceImpl implements DatasetService {
|
||||||
private String extractFileName(String urlStr) {
|
private String extractFileName(String urlStr) {
|
||||||
return urlStr.substring(urlStr.lastIndexOf('/') + 1);
|
return urlStr.substring(urlStr.lastIndexOf('/') + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void checkDeclaredName(Dataset insert) throws Exception {
|
||||||
|
Dataset dataset = datasetDao.findByName(insert.getName());
|
||||||
|
if (dataset != null) {
|
||||||
|
Field[] fields = Dataset.class.getDeclaredFields();
|
||||||
|
for (Field field : fields) {
|
||||||
|
if (field.isAnnotationPresent(CheckDuplicate.class)) {
|
||||||
|
CheckDuplicate annotation = field.getAnnotation(CheckDuplicate.class);
|
||||||
|
throw new Exception(annotation.value() + "不能重复");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.ruoyi.platform.service.impl;
|
package com.ruoyi.platform.service.impl;
|
||||||
|
|
||||||
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.platform.annotations.CheckDuplicate;
|
||||||
|
import com.ruoyi.platform.domain.Dataset;
|
||||||
import com.ruoyi.platform.domain.DatasetVersion;
|
import com.ruoyi.platform.domain.DatasetVersion;
|
||||||
import com.ruoyi.platform.domain.ModelsVersion;
|
import com.ruoyi.platform.domain.ModelsVersion;
|
||||||
import com.ruoyi.platform.domain.Workflow;
|
import com.ruoyi.platform.domain.Workflow;
|
||||||
|
@ -14,6 +16,7 @@ import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -61,8 +64,8 @@ public class DatasetVersionServiceImpl implements DatasetVersionService {
|
||||||
* @return 实例对象
|
* @return 实例对象
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public DatasetVersion insert(DatasetVersion datasetVersion) {
|
public DatasetVersion insert(DatasetVersion datasetVersion) throws Exception {
|
||||||
|
checkDeclaredVersion(datasetVersion);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
datasetVersion.setCreateBy(loginUser.getUsername());
|
datasetVersion.setCreateBy(loginUser.getUsername());
|
||||||
datasetVersion.setUpdateBy(loginUser.getUsername());
|
datasetVersion.setUpdateBy(loginUser.getUsername());
|
||||||
|
@ -127,22 +130,6 @@ public class DatasetVersionServiceImpl implements DatasetVersionService {
|
||||||
return datasetVersionDao.queryByDatasetId(datasetId);
|
return datasetVersionDao.queryByDatasetId(datasetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 复制数据集版本
|
|
||||||
*
|
|
||||||
* @param oldDatasetVersion 待更新的数据集版本
|
|
||||||
* @return 新的数据集版本记录
|
|
||||||
*/
|
|
||||||
public DatasetVersion duplicateDatasetVersion(DatasetVersion oldDatasetVersion) {
|
|
||||||
DatasetVersion newDatasetVersion = new DatasetVersion();
|
|
||||||
newDatasetVersion.setDatasetId(oldDatasetVersion.getDatasetId());
|
|
||||||
newDatasetVersion.setVersion(oldDatasetVersion.getVersion());
|
|
||||||
newDatasetVersion.setAvailableCluster(oldDatasetVersion.getAvailableCluster());
|
|
||||||
newDatasetVersion.setStatus(oldDatasetVersion.getStatus());
|
|
||||||
return this.insert(newDatasetVersion);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion) {
|
public DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion) {
|
||||||
return datasetVersionDao.queryByDatasetVersion(datasetVersion);
|
return datasetVersionDao.queryByDatasetVersion(datasetVersion);
|
||||||
|
@ -167,4 +154,17 @@ public class DatasetVersionServiceImpl implements DatasetVersionService {
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void checkDeclaredVersion(DatasetVersion insert) throws Exception {
|
||||||
|
DatasetVersion datasetVersion = datasetVersionDao.findByDatasetAndVersion(insert.getDatasetId(),insert.getVersion());
|
||||||
|
if (datasetVersion != null) {
|
||||||
|
Field[] fields = Dataset.class.getDeclaredFields();
|
||||||
|
for (Field field : fields) {
|
||||||
|
if (field.isAnnotationPresent(CheckDuplicate.class)) {
|
||||||
|
CheckDuplicate annotation = field.getAnnotation(CheckDuplicate.class);
|
||||||
|
throw new Exception(annotation.value() + "不能重复");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,13 @@
|
||||||
where id = #{id} and state = 1
|
where id = #{id} and state = 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!--查询单个-->
|
||||||
|
<select id="findByName" resultMap="DatasetMap">
|
||||||
|
select
|
||||||
|
id,name,description,available_range,data_type,data_tag,create_by,create_time,update_by,update_time,state
|
||||||
|
from dataset
|
||||||
|
where name = #{name} and state = 1
|
||||||
|
</select>
|
||||||
<!--查询指定行数据-->
|
<!--查询指定行数据-->
|
||||||
<select id="queryAllByLimit" resultMap="DatasetMap">
|
<select id="queryAllByLimit" resultMap="DatasetMap">
|
||||||
select
|
select
|
||||||
|
|
|
@ -24,7 +24,12 @@
|
||||||
from dataset_version
|
from dataset_version
|
||||||
where id = #{id} and state = 1
|
where id = #{id} and state = 1
|
||||||
</select>
|
</select>
|
||||||
|
<select id="findByDatasetAndVersion" resultMap="DatasetVersionMap">
|
||||||
|
select
|
||||||
|
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 version = #{version} and state = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
<!--查询单个-->
|
<!--查询单个-->
|
||||||
<select id="queryByDatasetId" resultMap="DatasetVersionMap">
|
<select id="queryByDatasetId" resultMap="DatasetVersionMap">
|
||||||
|
|
Loading…
Reference in New Issue