Merge branch 'dev_PMS_ZPK' of code.gitlink.org.cn:Gitlink/microservices into dev_PMS_ZPK
This commit is contained in:
commit
0d5818337b
|
|
@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -391,4 +392,18 @@ public class PmsProjectIssuesController extends BaseController {
|
|||
public GenericsTableDataInfo<PmsProjectTestsheetCaseVo> linkTestcase(@ApiParam("工作项id") @PathVariable Long issueId, @ApiParam("项目Id") @RequestParam(name = "pmProjectId") Long pmProjectId) {
|
||||
return pmsProjectTestsheetIssuesService.getProjectIssueLinkTestcaseList(issueId, pmProjectId);
|
||||
}
|
||||
|
||||
@RequiresPermissions(value = {"pms:pmsProject:show", "pms:pmsProject:showMe"}, logical = Logical.OR)
|
||||
@PostMapping("/import")
|
||||
@ApiOperation(value = "导入工作项")
|
||||
public AjaxResult importIssuesFromFile(@PathVariable String enterpriseIdentifier, @RequestPart("file") MultipartFile file, @ApiParam("项目Id") @RequestParam(name = "pmProjectId") Long pmProjectId) {
|
||||
return success(pmsProjectIssuesService.importIssuesFromFile(enterpriseIdentifier, file, pmProjectId));
|
||||
}
|
||||
|
||||
@RequiresPermissions(value = {"pms:pmsProject:show", "pms:pmsProject:showMe"}, logical = Logical.OR)
|
||||
@GetMapping("/export")
|
||||
@ApiOperation(value = "导出工作项")
|
||||
public void exportIssues(HttpServletResponse response, @ApiParam("项目Id") @RequestParam(name = "pmProjectId") Long pmProjectId) {
|
||||
pmsProjectIssuesService.exportIssues(response, pmProjectId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,9 @@ public class PmsProjectRepositorySearchVo
|
|||
@NotNull
|
||||
private Long limit;
|
||||
|
||||
@ApiModelProperty(value = "是否导入成功 0未成功 1成功")
|
||||
private Boolean actived;
|
||||
|
||||
public PmsProjectRepository toPmsProjectRepository() {
|
||||
PmsProjectRepository pmsProjectRepository = new PmsProjectRepository();
|
||||
pmsProjectRepository.setPmsProjectId(pmsProjectId);
|
||||
|
|
|
|||
|
|
@ -28,4 +28,7 @@ public class PmsProjectUnlinkedRepositorySearchVo
|
|||
@ApiModelProperty(value = "每页数量")
|
||||
@NotNull
|
||||
private Long limit;
|
||||
|
||||
@ApiModelProperty(value = "是否导入成功")
|
||||
private Boolean actived;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import com.microservices.common.core.exception.ServiceException;
|
|||
import com.microservices.common.core.utils.DateUtils;
|
||||
import com.microservices.common.httpClient.util.GitLinkRequestHelper;
|
||||
import com.microservices.common.security.utils.SecurityUtils;
|
||||
import com.microservices.pms.enterprise.domain.PmsEnterprise;
|
||||
import com.microservices.pms.enterprise.service.IPmsEnterpriseService;
|
||||
import com.microservices.pms.project.domain.PmsProject;
|
||||
import com.microservices.pms.project.domain.SimpleRepository;
|
||||
import com.microservices.pms.project.domain.vo.*;
|
||||
|
|
@ -20,6 +22,7 @@ import org.springframework.context.annotation.Lazy;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -51,6 +54,9 @@ public class PmsProjectIssuesService {
|
|||
@Lazy
|
||||
private IPmsProjectTestsheetIssuesService pmsProjectTestsheetIssuesService;
|
||||
|
||||
@Autowired
|
||||
private IPmsEnterpriseService pmsEnterpriseService;
|
||||
|
||||
|
||||
public JSONObject selectPmsProjectIssuesList(PmsProjectIssuesSearchVo pmsProjectIssuesSearchVo) {
|
||||
pmsProjectService.selectAndCheckPmsProjectById(pmsProjectIssuesSearchVo.getPmProjectId());
|
||||
|
|
@ -323,4 +329,25 @@ public class PmsProjectIssuesService {
|
|||
public JSONObject deletePmsEnterpriseIssueTag(Long tagId) {
|
||||
return gitLinkRequestHelper.doDelete(PmsGitLinkRequestUrl.DELETE_ORGANIZATION_ISSUE_TAG(tagId));
|
||||
}
|
||||
|
||||
public JSONObject importIssuesFromFile(String enterpriseIdentifier, MultipartFile file, Long pmProjectId) {
|
||||
PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseByIdentifier(enterpriseIdentifier);
|
||||
JSONObject result;
|
||||
try {
|
||||
result = gitLinkRequestHelper.doPostFile(PmsGitLinkRequestUrl.IMPORT_ISSUES(pmProjectId, pmsEnterprise.getGitlinkOrgId()), file);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage());
|
||||
throw new ServiceException("导入工作项失败");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void exportIssues(HttpServletResponse response, Long pmProjectId) {
|
||||
try {
|
||||
gitLinkRequestHelper.doGetResponse(PmsGitLinkRequestUrl.EXPORT_ISSUES(pmProjectId), response);
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage());
|
||||
throw new ServiceException("导出工作项失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,7 +90,8 @@ public class PmsProjectRepositoryServiceImpl implements IPmsProjectRepositorySer
|
|||
pmsProjectRepositorySearchVo.getLimit(),
|
||||
pmsProjectRepositorySearchVo.getSortBy(),
|
||||
projectRepositoryIds,
|
||||
null);
|
||||
null,
|
||||
pmsProjectRepositorySearchVo.getActived());
|
||||
try {
|
||||
return gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ORGANIZATION_REPO_LIST(pmsProjectRepositorySearchVo.getEnterpriseIdentifier(), queryParams));
|
||||
} catch (URISyntaxException e) {
|
||||
|
|
@ -108,7 +109,8 @@ public class PmsProjectRepositoryServiceImpl implements IPmsProjectRepositorySer
|
|||
pmsProjectUnlinkedRepositorySearchVo.getLimit(),
|
||||
pmsProjectUnlinkedRepositorySearchVo.getSortBy(),
|
||||
null,
|
||||
linkedRepositoryIdsString);
|
||||
linkedRepositoryIdsString,
|
||||
pmsProjectUnlinkedRepositorySearchVo.getActived());
|
||||
try {
|
||||
return gitLinkRequestHelper.doGet(PmsGitLinkRequestUrl.GET_ORGANIZATION_REPO_LIST(pmsProjectUnlinkedRepositorySearchVo.getEnterpriseIdentifier(), queryParams));
|
||||
} catch (URISyntaxException e) {
|
||||
|
|
@ -187,13 +189,16 @@ public class PmsProjectRepositoryServiceImpl implements IPmsProjectRepositorySer
|
|||
|
||||
private static Map<String, String> convertToGetRepoListQueryParam(String search, @NotNull Long page, @NotNull Long limit,
|
||||
String sortBy, String projectRepositoryIds,
|
||||
String linkedRepositoryIdsString) {
|
||||
String linkedRepositoryIdsString, Boolean actived) {
|
||||
Map<String, String> queryParams = new HashMap<>();
|
||||
queryParams.put("search", search);
|
||||
queryParams.put("page" , String.valueOf(page));
|
||||
queryParams.put("limit", String.valueOf(limit));
|
||||
queryParams.put("sort_by", sortBy);
|
||||
queryParams.put("sort_direction", "desc");
|
||||
if (actived != null) {
|
||||
queryParams.put("actived", actived ? "true" : "false");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(projectRepositoryIds)) {
|
||||
queryParams.put("pm_project_repository_ids", projectRepositoryIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ public class PmsRepositorySearchVo {
|
|||
private Long page;
|
||||
@ApiModelProperty(value = "每页数量")
|
||||
private Long limit;
|
||||
@ApiModelProperty(value = "是否导入成功")
|
||||
private Boolean actived;
|
||||
|
||||
public String genQueryString() {
|
||||
StringBuilder stringBuilder = new StringBuilder("?");
|
||||
|
|
@ -41,6 +43,9 @@ public class PmsRepositorySearchVo {
|
|||
if (StringUtils.isNotEmpty(search)) {
|
||||
stringBuilder.append("&search=").append(search);
|
||||
}
|
||||
if (actived != null) {
|
||||
stringBuilder.append("&actived=").append(actived ? "true" : "false");
|
||||
}
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -261,6 +261,16 @@ public class PmsGitLinkRequestUrl extends GitLinkRequestUrl {
|
|||
return getGitLinkRequestUrl(path);
|
||||
}
|
||||
|
||||
public static GitLinkRequestUrl IMPORT_ISSUES(Long pmProjectId, Long organizationId) {
|
||||
String path = String.format("/api/pm/issues/import?pm_project_id=%s&organization_id=%s", pmProjectId, organizationId);
|
||||
return getGitLinkRequestUrl(path);
|
||||
}
|
||||
|
||||
public static GitLinkRequestUrl EXPORT_ISSUES(Long pmProjectId) {
|
||||
String path = "/api/pm/issues/export?pm_project_id=" + pmProjectId;
|
||||
return getGitLinkRequestUrl(path);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取组织下代码库列表
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue