|
|
@@ -516,16 +516,14 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public CompletableFuture<String> newCreateModel(ModelsVo modelsVo) throws Exception { |
|
|
|
|
|
|
|
|
public CompletableFuture<String> newCreateModel(ModelsVo modelsVo) { |
|
|
return CompletableFuture.supplyAsync(() -> { |
|
|
return CompletableFuture.supplyAsync(() -> { |
|
|
try { |
|
|
try { |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
Jedis jedis = new Jedis(redisHost); |
|
|
|
|
|
String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); |
|
|
|
|
|
Map<String, Object> userInfo = JsonUtils.jsonToMap(userReq); |
|
|
|
|
|
|
|
|
Map<String, Object> userInfo = getUserInfo(ci4sUsername); |
|
|
Integer userId = (Integer) userInfo.get("user_id"); |
|
|
Integer userId = (Integer) userInfo.get("user_id"); |
|
|
|
|
|
|
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
@@ -605,17 +603,16 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public ResponseEntity<InputStreamResource> downloadAllModelFilesNew(String repositoryName, String version, String gitLinkUsername, String gitLinkPassword) throws IOException, Exception { |
|
|
|
|
|
|
|
|
public ResponseEntity<InputStreamResource> downloadAllModelFilesNew(String identifier, String version) throws Exception { |
|
|
// 命令行操作 git clone 项目地址 |
|
|
// 命令行操作 git clone 项目地址 |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
|
|
|
Jedis jedis = new Jedis(redisHost); |
|
|
|
|
|
String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); |
|
|
|
|
|
Map<String, Object> userInfo = JsonUtils.jsonToMap(userReq); |
|
|
|
|
|
Integer userId = (Integer) userInfo.get("user_id"); |
|
|
|
|
|
String projectUrl = gitendpoint + "/" + (String) userInfo.get("login") + "/" + repositoryName + ".git"; |
|
|
|
|
|
String localPath1 = localPath + ci4sUsername + "/model/" + repositoryName; |
|
|
|
|
|
|
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
|
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
|
|
|
Map<String, Object> userInfo = getUserInfo(ci4sUsername); |
|
|
|
|
|
|
|
|
|
|
|
String projectUrl = gitendpoint + "/" + userInfo.get("login") + "/" + identifier + ".git"; |
|
|
|
|
|
String localPath1 = localPath + ci4sUsername + "/model/" + identifier; |
|
|
File folder = new File(localPath1); |
|
|
File folder = new File(localPath1); |
|
|
if (folder.exists() && folder.isDirectory()) { |
|
|
if (folder.exists() && folder.isDirectory()) { |
|
|
//切换分支 |
|
|
//切换分支 |
|
|
@@ -665,16 +662,17 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
Jedis jedis = new Jedis(redisHost); |
|
|
|
|
|
String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); |
|
|
|
|
|
Map<String, Object> userInfo = JsonUtils.jsonToMap(userReq); |
|
|
|
|
|
|
|
|
Map<String, Object> userInfo = getUserInfo(ci4sUsername); |
|
|
|
|
|
|
|
|
//拼接查询url |
|
|
//拼接查询url |
|
|
String modelTagName = modelsVo.getModelTag(); |
|
|
String modelTagName = modelsVo.getModelTag(); |
|
|
String modelTypeName = modelsVo.getModelType(); |
|
|
String modelTypeName = modelsVo.getModelType(); |
|
|
|
|
|
String search = modelsVo.getName(); |
|
|
String topic_name = "ci4s_model"; |
|
|
String topic_name = "ci4s_model"; |
|
|
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltag_" + modelTypeName; |
|
|
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltag_" + modelTypeName; |
|
|
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltype_" + modelTypeName; |
|
|
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltype_" + modelTypeName; |
|
|
String url = gitendpoint + "/api/users/" + (String) userInfo.get("login") + "/projects.json?page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&category=manage&topic_name=" + topic_name; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String url = gitendpoint + "/api/users/" + userInfo.get("login") + "/projects.json?page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&category=manage&topic_name=" + topic_name + "&search=" + search; |
|
|
String req = HttpUtils.sendGetWithToken(url, null, token); |
|
|
String req = HttpUtils.sendGetWithToken(url, null, token); |
|
|
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); |
|
|
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); |
|
|
Integer total = (Integer) stringObjectMap.get("count"); |
|
|
Integer total = (Integer) stringObjectMap.get("count"); |
|
|
@@ -689,18 +687,18 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
Jedis jedis = new Jedis(redisHost); |
|
|
|
|
|
String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); |
|
|
|
|
|
Map<String, Object> userInfo = JsonUtils.jsonToMap(userReq); |
|
|
|
|
|
|
|
|
Map<String, Object> userInfo = getUserInfo(ci4sUsername); |
|
|
Integer userId = (Integer) userInfo.get("user_id"); |
|
|
Integer userId = (Integer) userInfo.get("user_id"); |
|
|
|
|
|
|
|
|
//拼接查询url |
|
|
//拼接查询url |
|
|
String modelTagName = modelsVo.getModelTag(); |
|
|
String modelTagName = modelsVo.getModelTag(); |
|
|
String modelTypeName = modelsVo.getModelType(); |
|
|
String modelTypeName = modelsVo.getModelType(); |
|
|
|
|
|
String search = modelsVo.getName(); |
|
|
String topic_name = "ci4s_model"; |
|
|
String topic_name = "ci4s_model"; |
|
|
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltag_" + modelTagName; |
|
|
topic_name = StringUtils.isEmpty(modelTagName) ? topic_name : topic_name + ",modeltag_" + modelTagName; |
|
|
topic_name = StringUtils.isEmpty(modelTypeName) ? topic_name : topic_name + ",modeltype_" + modelTypeName; |
|
|
topic_name = StringUtils.isEmpty(modelTypeName) ? topic_name : topic_name + ",modeltype_" + modelTypeName; |
|
|
|
|
|
|
|
|
String url = gitendpoint + "/api/projects.json?user_id=" + userId + "&page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&sort_by=praises_count&topic_name=" + topic_name; |
|
|
|
|
|
|
|
|
String url = gitendpoint + "/api/projects.json?user_id=" + userId + "&page=" + pageRequest.getPageNumber() + "&limit=" + pageRequest.getPageSize() + "&sort_by=praises_count&topic_name=" + topic_name + "&search=" + search; |
|
|
String req = HttpUtils.sendGetWithToken(url, null, token); |
|
|
String req = HttpUtils.sendGetWithToken(url, null, token); |
|
|
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); |
|
|
Map<String, Object> stringObjectMap = JacksonUtil.parseJSONStr2Map(req); |
|
|
Integer total = (Integer) stringObjectMap.get("total_count"); |
|
|
Integer total = (Integer) stringObjectMap.get("total_count"); |
|
|
@@ -715,17 +713,36 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public ModelMetaVo getModelMeta(String modelName, String version) throws Exception { |
|
|
|
|
|
|
|
|
public ModelsVo getModelDetail(String modelName, String version) { |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
|
|
|
|
|
|
// git pull操作,然后读取里面的文件列表,列出每个文件的大小和名称,封装成MAP |
|
|
// git pull操作,然后读取里面的文件列表,列出每个文件的大小和名称,封装成MAP |
|
|
List<Map<String, Object>> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull(localPath + ci4sUsername + "/model/", modelName, version, "model", gitLinkUsername, gitLinkPassword); |
|
|
List<Map<String, Object>> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull(localPath + ci4sUsername + "/model/", modelName, version, "model", gitLinkUsername, gitLinkPassword); |
|
|
|
|
|
|
|
|
Map<String, Object> stringObjectMap = YamlUtils.loadYamlFile(localPath + ci4sUsername + "/model/" + modelName + "/" + version + "/metadata/metadata.yaml"); |
|
|
Map<String, Object> stringObjectMap = YamlUtils.loadYamlFile(localPath + ci4sUsername + "/model/" + modelName + "/" + version + "/metadata/metadata.yaml"); |
|
|
assert stringObjectMap != null; |
|
|
assert stringObjectMap != null; |
|
|
return ConvertUtil.convertMapToObject(stringObjectMap, ModelMetaVo.class); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ModelMetaVo modelMetaVo = ConvertUtil.convertMapToObject(stringObjectMap, ModelMetaVo.class); |
|
|
|
|
|
ModelsVo modelsVo = new ModelsVo(); |
|
|
|
|
|
BeanUtils.copyProperties(modelMetaVo, modelsVo); |
|
|
|
|
|
|
|
|
|
|
|
List<VersionVo> versionVos = new ArrayList<VersionVo>(); |
|
|
|
|
|
if (!fileDetailsAfterGitPull.isEmpty()) { |
|
|
|
|
|
for (Map<String, Object> fileDetail : fileDetailsAfterGitPull) { |
|
|
|
|
|
VersionVo versionVo = new VersionVo(); |
|
|
|
|
|
versionVo.setUrl((String) fileDetail.get("filePath")); |
|
|
|
|
|
versionVo.setFileName((String) fileDetail.get("fileName")); |
|
|
|
|
|
long size = (long) fileDetail.get("size"); |
|
|
|
|
|
versionVo.setFileSize(FileUtil.formatFileSize(size)); |
|
|
|
|
|
versionVos.add(versionVo); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
modelsVo.setModelVersionVos(versionVos); |
|
|
|
|
|
|
|
|
|
|
|
return modelsVo; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@@ -745,6 +762,32 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
return modelDependency1TreeVo; |
|
|
return modelDependency1TreeVo; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void deleteModel(Integer repoId, String identifier, String owner) throws Exception { |
|
|
|
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
|
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
|
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
|
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
|
|
|
gitService.deleteProject(token, owner, identifier); |
|
|
|
|
|
|
|
|
|
|
|
//删除模型依赖 |
|
|
|
|
|
modelDependency1Dao.deleteModel(repoId, identifier, owner, null); |
|
|
|
|
|
modelDependency1Dao.deleteModelDependency(repoId, identifier, owner, null); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public void deleteVersion(Integer repoId, String identifier, String owner, String version) throws Exception { |
|
|
|
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
|
|
|
String gitLinkUsername = loginUser.getSysUser().getGitLinkUsername(); |
|
|
|
|
|
String gitLinkPassword = loginUser.getSysUser().getGitLinkPassword(); |
|
|
|
|
|
String token = gitService.login(gitLinkUsername, gitLinkPassword); |
|
|
|
|
|
gitService.deleteBranch(token, owner, identifier, version); |
|
|
|
|
|
|
|
|
|
|
|
//删除模型依赖 |
|
|
|
|
|
modelDependency1Dao.deleteModel(repoId, identifier, owner, version); |
|
|
|
|
|
modelDependency1Dao.deleteModelDependency(repoId, identifier, owner, version); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void commonDvc(String token, Map<String, Object> userInfo, String username, String repositoryName, ModelsVo modelsVo, String gitLinkUsername, String gitLinkPassword, String type) throws Exception { |
|
|
void commonDvc(String token, Map<String, Object> userInfo, String username, String repositoryName, ModelsVo modelsVo, String gitLinkUsername, String gitLinkPassword, String type) throws Exception { |
|
|
String branchName = modelsVo.getVersion(); |
|
|
String branchName = modelsVo.getVersion(); |
|
|
|
|
|
|
|
|
@@ -856,4 +899,9 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
modelDependency1TreeVo.setChildModelList(childModelList); |
|
|
modelDependency1TreeVo.setChildModelList(childModelList); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> getUserInfo(String ci4sUsername) throws IOException { |
|
|
|
|
|
Jedis jedis = new Jedis(redisHost); |
|
|
|
|
|
String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); |
|
|
|
|
|
return JsonUtils.jsonToMap(userReq); |
|
|
|
|
|
} |
|
|
} |
|
|
} |