update dataset version
This commit is contained in:
commit
53046a939a
|
@ -0,0 +1,27 @@
|
||||||
|
package com.ruoyi.platform.domain;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
|
||||||
|
@Data
|
||||||
|
public class ModelDependency1 implements Serializable {
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String parentModel;
|
||||||
|
|
||||||
|
private String modelName;
|
||||||
|
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
private Integer repoId;
|
||||||
|
|
||||||
|
private String identifier;
|
||||||
|
|
||||||
|
private String owner;
|
||||||
|
|
||||||
|
private Integer state;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.ruoyi.platform.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.platform.domain.ModelDependency1;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ModelDependency1Dao {
|
||||||
|
|
||||||
|
int insert(ModelDependency1 modelDependency1);
|
||||||
|
|
||||||
|
List<ModelDependency1> queryByModelName(@Param("modelName") String modelName);
|
||||||
|
|
||||||
|
ModelDependency1 queryByModelNameAndVersion(@Param("repoId") Integer repoId, @Param("modelName") String modelName, @Param("version") String version);
|
||||||
|
|
||||||
|
List<ModelDependency1> queryByParentModel(@Param("parentModel") String parentModel);
|
||||||
|
|
||||||
|
int deleteModel(@Param("repoId") Integer repoId, @Param("identifier")String identifier, @Param("owner") String owner, @Param("version") String version);
|
||||||
|
|
||||||
|
int deleteModelDependency(@Param("repoId") Integer repoId, @Param("identifier")String identifier, @Param("owner") String owner, @Param("version") String version);
|
||||||
|
}
|
|
@ -11,17 +11,17 @@ public interface GitService {
|
||||||
String login(String username, String password);
|
String login(String username, String password);
|
||||||
|
|
||||||
//输入token,项目名,tag,创建新项目,返回项目地址
|
//输入token,项目名,tag,创建新项目,返回项目地址
|
||||||
Map createProject(String token, GitProjectVo gitProjectVo) throws Exception;
|
Map createProject(GitProjectVo gitProjectVo) throws Exception;
|
||||||
|
|
||||||
void createBranch(String token,String owner, String projectName, String branchName, String oldBranchName) throws Exception;
|
void createBranch(String owner, String projectName, String branchName, String oldBranchName) throws Exception;
|
||||||
|
|
||||||
void createTopic(String token, Integer id, String topicName) throws Exception;
|
void createTopic(Integer id, String topicName) throws Exception;
|
||||||
|
|
||||||
List<Map<String, Object>> getBrancheList(String token, String owner, String projectName) throws Exception;
|
List<Map<String, Object>> getBrancheList(String owner, String projectName) throws Exception;
|
||||||
|
|
||||||
void deleteProject(String token, String owner, String projectName) throws Exception;
|
void deleteProject(String owner, String projectName) throws Exception;
|
||||||
|
|
||||||
void deleteBranch(String token, String owner,String projectName ,String branchName) throws Exception;
|
void deleteBranch(String owner,String projectName ,String branchName) throws Exception;
|
||||||
|
|
||||||
Map getUserInfo(String token) throws Exception;
|
Map getUserInfo() throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
@ -432,4 +432,5 @@ public class DatasetServiceImpl implements DatasetService {
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,19 +68,47 @@ public class GitServiceImpl implements GitService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String checkoutToken() {
|
||||||
|
Jedis jedis = new Jedis(redisHost);
|
||||||
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
|
String ci4sUsername = loginUser.getUsername();
|
||||||
|
String token = jedis.get(ci4sUsername + "_gitToken");
|
||||||
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
|
||||||
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword();
|
||||||
|
|
||||||
|
if (StringUtils.isEmpty(token)) {
|
||||||
|
login(gitLinkUsername, gitLinkPassword);
|
||||||
|
token = jedis.get(ci4sUsername + "_gitToken");
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
Map userInfo = getUserInfo();
|
||||||
|
if (userInfo == null || (userInfo.get("status") != null && 401 == (Integer) userInfo.get("status"))) {
|
||||||
|
login(gitLinkUsername, gitLinkPassword);
|
||||||
|
token = jedis.get(ci4sUsername + "_gitToken");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return token;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map createProject(String token, GitProjectVo gitProjectVo) throws Exception {
|
public Map createProject(GitProjectVo gitProjectVo) throws Exception {
|
||||||
|
String token = this.checkoutToken();
|
||||||
String userReq = HttpUtils.sendPostWithToken("https://www.gitlink.org.cn/api/projects.json", JsonUtils.objectToJson(gitProjectVo), token);
|
String userReq = HttpUtils.sendPostWithToken("https://www.gitlink.org.cn/api/projects.json", JsonUtils.objectToJson(gitProjectVo), token);
|
||||||
return JsonUtils.jsonToMap(userReq);
|
return JsonUtils.jsonToMap(userReq);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createBranch(String token,String owner, String projectName, String branchName, String oldBranchName) throws Exception {
|
public void createBranch(String owner, String projectName, String branchName, String oldBranchName) throws Exception {
|
||||||
//https://www.gitlink.org.cn/api/v1/fanshuai/testdssa8755/branches.json
|
//https://www.gitlink.org.cn/api/v1/fanshuai/testdssa8755/branches.json
|
||||||
// {
|
// {
|
||||||
// "new_branch_name": "SsS",
|
// "new_branch_name": "SsS",
|
||||||
// "old_branch_name": "master"
|
// "old_branch_name": "master"
|
||||||
// }
|
// }
|
||||||
|
String token = this.checkoutToken();
|
||||||
String createBranchUrl = "https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches.json";
|
String createBranchUrl = "https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches.json";
|
||||||
Map<String, Object> resMap = new HashMap<>();
|
Map<String, Object> resMap = new HashMap<>();
|
||||||
resMap.put("new_branch_name", branchName);
|
resMap.put("new_branch_name", branchName);
|
||||||
|
@ -89,8 +117,9 @@ public class GitServiceImpl implements GitService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createTopic(String token, Integer id, String topicName) throws Exception {
|
public void createTopic(Integer id, String topicName) throws Exception {
|
||||||
// https://www.gitlink.org.cn/api/v1/project_topics.json
|
// https://www.gitlink.org.cn/api/v1/project_topics.json
|
||||||
|
String token = this.checkoutToken();
|
||||||
Map<String, Object> resMap = new HashMap<>();
|
Map<String, Object> resMap = new HashMap<>();
|
||||||
resMap.put("project_id", id);
|
resMap.put("project_id", id);
|
||||||
resMap.put("name", topicName);
|
resMap.put("name", topicName);
|
||||||
|
@ -98,7 +127,8 @@ public class GitServiceImpl implements GitService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getBrancheList(String token, String owner, String projectName) throws Exception {
|
public List<Map<String, Object>> getBrancheList(String owner, String projectName) throws Exception {
|
||||||
|
String token = checkoutToken();
|
||||||
String req = HttpUtils.sendGetWithToken("https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches/all.json", null, token);
|
String req = HttpUtils.sendGetWithToken("https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches/all.json", null, token);
|
||||||
// 解析响应JSON
|
// 解析响应JSON
|
||||||
if (StringUtils.isEmpty(req)) {
|
if (StringUtils.isEmpty(req)) {
|
||||||
|
@ -110,17 +140,20 @@ public class GitServiceImpl implements GitService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteProject(String token, String owner, String projectName) throws Exception {
|
public void deleteProject(String owner, String projectName) throws Exception {
|
||||||
|
String token = this.checkoutToken();
|
||||||
HttpUtils.sendDeleteRequest("https://www.gitlink.org.cn/api/" + owner + "/" + projectName + ".json", token);
|
HttpUtils.sendDeleteRequest("https://www.gitlink.org.cn/api/" + owner + "/" + projectName + ".json", token);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteBranch(String token, String owner, String projectName, String branchName) throws Exception {
|
public void deleteBranch(String owner, String projectName, String branchName) throws Exception {
|
||||||
|
String token = this.checkoutToken();
|
||||||
HttpUtils.sendDeleteRequest("https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches/" + branchName + ".json", token);
|
HttpUtils.sendDeleteRequest("https://www.gitlink.org.cn/api/v1/" + owner + "/" + projectName + "/branches/" + branchName + ".json", token);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map getUserInfo(String token) throws Exception {
|
public Map getUserInfo() throws Exception {
|
||||||
|
String token = this.checkoutToken();
|
||||||
String userReq = HttpUtils.sendGetWithToken("https://www.gitlink.org.cn/api/users/get_user_info.json",null, token);
|
String userReq = HttpUtils.sendGetWithToken("https://www.gitlink.org.cn/api/users/get_user_info.json",null, token);
|
||||||
if (StringUtils.isEmpty(userReq)){
|
if (StringUtils.isEmpty(userReq)){
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -514,7 +514,6 @@ public class ModelsServiceImpl implements ModelsService {
|
||||||
public CompletableFuture<String> newCreateModel(ModelsVo modelsVo) throws Exception {
|
public CompletableFuture<String> newCreateModel(ModelsVo modelsVo) throws Exception {
|
||||||
return CompletableFuture.supplyAsync(() -> {
|
return CompletableFuture.supplyAsync(() -> {
|
||||||
try {
|
try {
|
||||||
String token = gitService.login(modelsVo.getGitLinkUsername(), modelsVo.getGitLinkPassword());
|
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
|
@ -532,15 +531,15 @@ public class ModelsServiceImpl implements ModelsService {
|
||||||
gitProjectVo.setUserId(userId);
|
gitProjectVo.setUserId(userId);
|
||||||
|
|
||||||
// 创建项目
|
// 创建项目
|
||||||
Map project = gitService.createProject(token, gitProjectVo);
|
Map project = gitService.createProject(gitProjectVo);
|
||||||
|
|
||||||
// 创建分支
|
// 创建分支
|
||||||
String branchName = modelsVo.getVersion();
|
String branchName = modelsVo.getVersion();
|
||||||
gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master");
|
gitService.createBranch((String) userInfo.get("login"), repositoryName, branchName, "master");
|
||||||
// 定义标签 标签1:ci4s_model 标签2:ModelTag 标签3:ModelType
|
// 定义标签 标签1:ci4s_model 标签2:ModelTag 标签3:ModelType
|
||||||
gitService.createTopic(token, (Integer) project.get("id"), "ci4s_model");
|
gitService.createTopic((Integer) project.get("id"), "ci4s_model");
|
||||||
gitService.createTopic(token, (Integer) project.get("id"), "ModelTag_" + modelsVo.getModelTag());
|
gitService.createTopic((Integer) project.get("id"), "ModelTag_" + modelsVo.getModelTag());
|
||||||
gitService.createTopic(token, (Integer) project.get("id"), "ModelType_" + modelsVo.getModelType());
|
gitService.createTopic((Integer) project.get("id"), "ModelType_" + modelsVo.getModelType());
|
||||||
// 得到项目地址
|
// 得到项目地址
|
||||||
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git";
|
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git";
|
||||||
// 得到用户操作的路径
|
// 得到用户操作的路径
|
||||||
|
@ -592,7 +591,7 @@ public class ModelsServiceImpl implements ModelsService {
|
||||||
// 创建分支
|
// 创建分支
|
||||||
String branchName = modelsVo.getVersion();
|
String branchName = modelsVo.getVersion();
|
||||||
String repositoryName = modelsVo.getRepositoryName();
|
String repositoryName = modelsVo.getRepositoryName();
|
||||||
gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master");
|
gitService.createBranch((String) userInfo.get("login"), repositoryName, branchName, "master");
|
||||||
// 得到项目地址
|
// 得到项目地址
|
||||||
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git";
|
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git";
|
||||||
// 得到用户操作的路径
|
// 得到用户操作的路径
|
||||||
|
|
|
@ -62,11 +62,9 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String newCreateDataset(NewDatasetVo datasetVo) throws Exception {
|
public String newCreateDataset(NewDatasetVo datasetVo) throws Exception {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
String token = jedis.get(ci4sUsername + "_gitToken");
|
|
||||||
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
|
||||||
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword();
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword();
|
||||||
String userReq = jedis.get(ci4sUsername + "_gitUserInfo");
|
String userReq = jedis.get(ci4sUsername + "_gitUserInfo");
|
||||||
|
@ -81,15 +79,15 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
gitProjectVo.setPrivate(!datasetVo.getIsPublic());
|
gitProjectVo.setPrivate(!datasetVo.getIsPublic());
|
||||||
gitProjectVo.setUserId(userId);
|
gitProjectVo.setUserId(userId);
|
||||||
// 创建项目
|
// 创建项目
|
||||||
Map project = gitService.createProject(token, gitProjectVo);
|
Map project = gitService.createProject(gitProjectVo);
|
||||||
Integer gitlinIid = (Integer) project.get("id");
|
Integer gitlinIid = (Integer) project.get("id");
|
||||||
// 创建分支
|
// 创建分支
|
||||||
String branchName = datasetVo.getVersion();
|
String branchName = datasetVo.getVersion();
|
||||||
gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master");
|
gitService.createBranch((String) userInfo.get("login"), repositoryName, branchName, "master");
|
||||||
// 定义标签 标签1:ci4s_dataset 标签2:DataTag 标签3:DataType
|
// 定义标签 标签1:ci4s_dataset 标签2:DataTag 标签3:DataType
|
||||||
gitService.createTopic(token, gitlinIid, "ci4s_dataset");
|
gitService.createTopic(gitlinIid, "ci4s_dataset");
|
||||||
gitService.createTopic(token, gitlinIid, "DataTag_" + datasetVo.getDataTag());
|
gitService.createTopic(gitlinIid, "DataTag_" + datasetVo.getDataTag());
|
||||||
gitService.createTopic(token, gitlinIid, "DataType_" + datasetVo.getDataType());
|
gitService.createTopic( gitlinIid, "DataType_" + datasetVo.getDataType());
|
||||||
// 得到项目地址
|
// 得到项目地址
|
||||||
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/"+ repositoryName + ".git";
|
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/"+ repositoryName + ".git";
|
||||||
|
|
||||||
|
@ -139,7 +137,6 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
public CompletableFuture<String> newCreateVersion(NewDatasetVo datasetVo) {
|
public CompletableFuture<String> newCreateVersion(NewDatasetVo datasetVo) {
|
||||||
return CompletableFuture.supplyAsync(() -> {
|
return CompletableFuture.supplyAsync(() -> {
|
||||||
try {
|
try {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
|
@ -152,7 +149,7 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
String branchName = StringUtils.isEmpty(datasetVo.getVersion()) ? "master" : datasetVo.getVersion();
|
String branchName = StringUtils.isEmpty(datasetVo.getVersion()) ? "master" : datasetVo.getVersion();
|
||||||
String repositoryName = datasetVo.getIdentifier();
|
String repositoryName = datasetVo.getIdentifier();
|
||||||
if (StringUtils.equals(branchName, "master")) {
|
if (StringUtils.equals(branchName, "master")) {
|
||||||
gitService.createBranch(token, (String) userInfo.get("login"), repositoryName, branchName, "master");
|
gitService.createBranch((String) userInfo.get("login"), repositoryName, branchName, "master");
|
||||||
}
|
}
|
||||||
// 得到项目地址
|
// 得到项目地址
|
||||||
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git";
|
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git";
|
||||||
|
@ -211,7 +208,6 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<NewDatasetVo> newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception {
|
public Page<NewDatasetVo> newPersonalQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
|
@ -234,7 +230,6 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<NewDatasetVo> newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception {
|
public Page<NewDatasetVo> newPubilcQueryByPage(Dataset dataset, PageRequest pageRequest) throws Exception {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
|
@ -274,7 +269,7 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
version = (String) versionList.get(0).get("name");
|
version = (String) versionList.get(0).get("name");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Map<String, Object>> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull("E:\\test\\" +id, repositoryName, version, gitLinkUsername, gitLinkPassword);
|
List<Map<String, Object>> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull("E:\\test\\" +id, repositoryName, version, "data",gitLinkUsername, gitLinkPassword);
|
||||||
// 在localPathlocal+id+"/"+repositoryName目录下的dataset.yaml中取到元数据
|
// 在localPathlocal+id+"/"+repositoryName目录下的dataset.yaml中取到元数据
|
||||||
Map<String, Object> stringObjectMap = YamlUtils.loadYamlFile("E:\\test\\" + id + "\\" + repositoryName + "\\" + "dataset.yaml");
|
Map<String, Object> stringObjectMap = YamlUtils.loadYamlFile("E:\\test\\" + id + "\\" + repositoryName + "\\" + "dataset.yaml");
|
||||||
NewDatasetVo newDatasetVo = ConvertUtil.convertMapToObject(stringObjectMap, NewDatasetVo.class);
|
NewDatasetVo newDatasetVo = ConvertUtil.convertMapToObject(stringObjectMap, NewDatasetVo.class);
|
||||||
|
@ -295,12 +290,11 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getVersionList(String repo, String owner) throws Exception {
|
public List<Map<String, Object>> getVersionList(String repo, String owner) throws Exception {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
String token = jedis.get(ci4sUsername+"_gitToken");
|
String token = jedis.get(ci4sUsername+"_gitToken");
|
||||||
List<Map<String, Object>> brancheList = gitService.getBrancheList(token, owner, repo);
|
List<Map<String, Object>> brancheList = gitService.getBrancheList(owner, repo);
|
||||||
return brancheList.stream()
|
return brancheList.stream()
|
||||||
.filter(branch -> !"master".equals(branch.get("name")))
|
.filter(branch -> !"master".equals(branch.get("name")))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
@ -308,22 +302,20 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteDatasetNew(String repo, String owner) throws Exception {
|
public void deleteDatasetNew(String repo, String owner) throws Exception {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
String token = jedis.get(ci4sUsername+"_gitToken");
|
String token = jedis.get(ci4sUsername+"_gitToken");
|
||||||
gitService.deleteProject(token, owner, repo);
|
gitService.deleteProject(owner, repo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteDatasetVersionNew(String repo, String owner, String version) throws Exception {
|
public void deleteDatasetVersionNew(String repo, String owner, String version) throws Exception {
|
||||||
checkoutToken();
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
Jedis jedis = new Jedis(redisHost);
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String ci4sUsername = loginUser.getUsername();
|
String ci4sUsername = loginUser.getUsername();
|
||||||
String token = jedis.get(ci4sUsername+"_gitToken");
|
String token = jedis.get(ci4sUsername+"_gitToken");
|
||||||
gitService.deleteBranch(token, owner, repo, version);
|
gitService.deleteBranch(owner, repo, version);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -378,7 +370,6 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<InputStreamResource> downloadAllDatasetFilesNew(String repositoryName, String version) throws Exception {
|
public ResponseEntity<InputStreamResource> downloadAllDatasetFilesNew(String repositoryName, String version) throws Exception {
|
||||||
// 命令行操作 git clone 项目地址
|
// 命令行操作 git clone 项目地址
|
||||||
checkoutToken();
|
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
|
||||||
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword();
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword();
|
||||||
|
@ -471,31 +462,5 @@ public class NewDatasetServiceImpl implements NewDatasetService {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String checkoutToken(){
|
|
||||||
Jedis jedis = new Jedis(redisHost);
|
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
|
||||||
String ci4sUsername = loginUser.getUsername();
|
|
||||||
String token = jedis.get(ci4sUsername+"_gitToken");
|
|
||||||
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername();
|
|
||||||
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword();
|
|
||||||
|
|
||||||
if(StringUtils.isEmpty(token)){
|
|
||||||
gitService.login(gitLinkUsername, gitLinkPassword);
|
|
||||||
token = jedis.get(ci4sUsername+"_gitToken");
|
|
||||||
}else {
|
|
||||||
try {
|
|
||||||
Map userInfo = gitService.getUserInfo(token);
|
|
||||||
if (userInfo == null ||(userInfo.get("status")!=null&&401==(Integer) userInfo.get("status"))){
|
|
||||||
gitService.login(gitLinkUsername, gitLinkPassword);
|
|
||||||
token = jedis.get(ci4sUsername+"_gitToken");
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
return token;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
package com.ruoyi.platform.utils;
|
package com.ruoyi.platform.utils;
|
||||||
|
|
||||||
|
|
||||||
|
import org.apache.commons.beanutils.PropertyUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.apache.commons.beanutils.PropertyUtils;
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -90,7 +91,8 @@ public class ConvertUtil {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return targetObject;
|
return targetObject;
|
||||||
} catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
} catch (InstantiationException | IllegalAccessException | InvocationTargetException |
|
||||||
|
NoSuchMethodException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -98,8 +100,13 @@ public class ConvertUtil {
|
||||||
|
|
||||||
private static boolean hasProperty(Class<?> clazz, String propertyName) {
|
private static boolean hasProperty(Class<?> clazz, String propertyName) {
|
||||||
try {
|
try {
|
||||||
|
Class<?> superClazz = clazz.getSuperclass();
|
||||||
|
if(superClazz != Object.class){
|
||||||
|
return hasProperty(superClazz, propertyName);
|
||||||
|
} else {
|
||||||
Field field = clazz.getDeclaredField(propertyName);
|
Field field = clazz.getDeclaredField(propertyName);
|
||||||
return field != null;
|
return field != null;
|
||||||
|
}
|
||||||
} catch (NoSuchFieldException e) {
|
} catch (NoSuchFieldException e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,12 +193,12 @@ public class DVCUtils {
|
||||||
* @param branch 分支名称
|
* @param branch 分支名称
|
||||||
* @return 包含文件路径、名称和大小的List<Map<String, Object>>
|
* @return 包含文件路径、名称和大小的List<Map<String, Object>>
|
||||||
*/
|
*/
|
||||||
public static List<Map<String, Object>> getFileDetailsAfterGitPull(String localPath, String repoFolder, String branch,String username, String password) {
|
public static List<Map<String, Object>> getFileDetailsAfterGitPull(String localPath, String repoFolder, String branch, String filePath , String username, String password) {
|
||||||
List<Map<String, Object>> fileInfoList = new ArrayList<>();
|
List<Map<String, Object>> fileInfoList = new ArrayList<>();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 切换到指定目录
|
// 切换到指定目录
|
||||||
Path repoPath = Paths.get(localPath, repoFolder);
|
Path repoPath = Paths.get(localPath, repoFolder, branch);
|
||||||
|
|
||||||
//刷新
|
//刷新
|
||||||
// gitFetch(localPath, username, password);
|
// gitFetch(localPath, username, password);
|
||||||
|
@ -207,19 +207,19 @@ public class DVCUtils {
|
||||||
// // 执行git pull
|
// // 执行git pull
|
||||||
// gitPull(localPath, username, password);
|
// gitPull(localPath, username, password);
|
||||||
// 读取data文件夹中的文件列表
|
// 读取data文件夹中的文件列表
|
||||||
Path dataPath = Paths.get(repoPath.toString(), "data");
|
Path dataPath = Paths.get(repoPath.toString(), filePath);
|
||||||
File[] files = dataPath.toFile().listFiles();
|
File[] files = dataPath.toFile().listFiles();
|
||||||
|
|
||||||
if (files != null) {
|
if (files != null) {
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
if (file.isFile()) {
|
if (file.isFile()) {
|
||||||
long size = Files.size(file.toPath());
|
long size = Files.size(file.toPath());
|
||||||
String filePath = file.getAbsolutePath();
|
String absoluteFilePath = file.getAbsolutePath();
|
||||||
String fileName = file.getName();
|
String fileName = file.getName();
|
||||||
|
|
||||||
Map<String, Object> fileDetails = new HashMap<>();
|
Map<String, Object> fileDetails = new HashMap<>();
|
||||||
fileDetails.put("size", size);
|
fileDetails.put("size", size);
|
||||||
fileDetails.put("filePath", filePath);
|
fileDetails.put("filePath", absoluteFilePath);
|
||||||
fileDetails.put("fileName", fileName);
|
fileDetails.put("fileName", fileName);
|
||||||
|
|
||||||
fileInfoList.add(fileDetails);
|
fileInfoList.add(fileDetails);
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.ruoyi.platform.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import com.ruoyi.platform.domain.ModelDependency1;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
|
||||||
|
public class ModelDependency1TreeVo extends ModelDependency1 implements Serializable {
|
||||||
|
|
||||||
|
List<ModelDependency1> patrentModelList;
|
||||||
|
|
||||||
|
List<ModelDependency1TreeVo> childModelList;
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
package com.ruoyi.platform.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
|
||||||
|
public class ModelMetaVo implements Serializable {
|
||||||
|
@ApiModelProperty(name = "模型名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "版本")
|
||||||
|
private String version;
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "版本描述")
|
||||||
|
private String versionDescription;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "创建人")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "更新时间")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "训练镜像")
|
||||||
|
private String image;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "训练代码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "模型来源")
|
||||||
|
private String modelSource;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "训练数据集")
|
||||||
|
private List<String> trainDatasets;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "测试数据集")
|
||||||
|
private List<String> testDatasets;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "参数")
|
||||||
|
private HashMap<String, String> params;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标")
|
||||||
|
private HashMap<String, String> metrics;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "训练任务")
|
||||||
|
private String trainTask;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "模型标签(模型能力)")
|
||||||
|
private String modelTag;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "模型类型(模型框架)")
|
||||||
|
private String modelType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "模型描述")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "示例用法")
|
||||||
|
private String examples;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.platform.mapper.ModelDependency1Dao">
|
||||||
|
|
||||||
|
|
||||||
|
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
|
||||||
|
insert into model_dependency1(parent_model, model_name, version, repo_id, identifier, owner)
|
||||||
|
values (#{parentModel}, #{modelName}, #{version}, #{repoId}, #{identifier}, #{owner})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<select id="queryByModelName" resultType="com.ruoyi.platform.domain.ModelDependency1">
|
||||||
|
select *
|
||||||
|
from model_dependency1
|
||||||
|
where model_name = #{modelName}
|
||||||
|
and state = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryByModelNameAndVersion" resultType="com.ruoyi.platform.domain.ModelDependency1">
|
||||||
|
select *
|
||||||
|
from model_dependency1
|
||||||
|
where repo_id = #{repoId}
|
||||||
|
and model_name = #{modelName}
|
||||||
|
and version = #{version}
|
||||||
|
and state = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="queryByParentModel" resultType="com.ruoyi.platform.domain.ModelDependency1">
|
||||||
|
select *
|
||||||
|
from model_dependency1
|
||||||
|
where parent_model = #{parentModel}
|
||||||
|
and state = 1
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="deleteModel">
|
||||||
|
update model_dependency1
|
||||||
|
set state = 0
|
||||||
|
where repo_id = #{repoId} and identifier = #{identifier} and owner = #{owner}
|
||||||
|
<if test="version != null and version != ''">
|
||||||
|
and version = #{version}
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="deleteModelDependency">
|
||||||
|
update model_dependency1
|
||||||
|
set parent_model = null
|
||||||
|
where parent_model like concat(#{repoId}, ':', #{identifier},
|
||||||
|
<if test="version != null and version != ''">
|
||||||
|
':', #{version},
|
||||||
|
</if>
|
||||||
|
'%')
|
||||||
|
</update>
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue