Search in sources :

Example 1 with IssueSubVO

use of io.choerodon.agile.api.vo.IssueSubVO in project agile-service by open-hand.

the class StateMachineClientServiceImpl method createSubIssue.

/**
 * 创建subIssue,用于敏捷
 *
 * @param issueSubCreateVO
 * @return
 */
@Override
public IssueSubVO createSubIssue(IssueSubCreateVO issueSubCreateVO) {
    IssueConvertDTO subIssueConvertDTO = issueAssembler.toTarget(issueSubCreateVO, IssueConvertDTO.class);
    Long projectId = subIssueConvertDTO.getProjectId();
    Long issueId = handlerSubIssue(projectId, subIssueConvertDTO, issueSubCreateVO);
    Set<Long> influenceIssueIds = new HashSet<>();
    issueService.doStateMachineCustomFlow(projectId, issueId, SchemeApplyType.AGILE, influenceIssueIds, new TriggerCarrierVO());
    // 前端请求创建issue和创建自定义字段是两个接口,issue创建不走切面,解决issue创建和自定义字段创建都走切面导致某个触发器失败的问题
    IssueSubVO issueSubVO = issueService.queryIssueSubByCreateWithoutRuleNotice(subIssueConvertDTO.getProjectId(), issueId);
    issueSubVO.setInfluenceIssueIds(new ArrayList<>(influenceIssueIds));
    return issueSubVO;
}
Also used : IssueConvertDTO(io.choerodon.agile.infra.dto.business.IssueConvertDTO) IssueSubVO(io.choerodon.agile.api.vo.IssueSubVO) TriggerCarrierVO(io.choerodon.agile.api.vo.business.TriggerCarrierVO)

Example 2 with IssueSubVO

use of io.choerodon.agile.api.vo.IssueSubVO in project agile-service by open-hand.

the class StateMachineClientServiceImpl method createSubIssueWithoutRuleNotice.

@Override
public IssueSubVO createSubIssueWithoutRuleNotice(IssueSubCreateVO issueSubCreateVO) {
    IssueConvertDTO subIssueConvertDTO = issueAssembler.toTarget(issueSubCreateVO, IssueConvertDTO.class);
    Long projectId = subIssueConvertDTO.getProjectId();
    Long issueId = handlerSubIssue(projectId, subIssueConvertDTO, issueSubCreateVO);
    Set<Long> influenceIssueIds = new HashSet<>();
    issueService.doStateMachineCustomFlow(projectId, issueId, SchemeApplyType.AGILE, influenceIssueIds, new TriggerCarrierVO());
    IssueSubVO issueSubVO = issueService.queryIssueSubByCreateWithoutRuleNotice(subIssueConvertDTO.getProjectId(), issueId);
    issueSubVO.setInfluenceIssueIds(new ArrayList<>(influenceIssueIds));
    return issueSubVO;
}
Also used : IssueConvertDTO(io.choerodon.agile.infra.dto.business.IssueConvertDTO) IssueSubVO(io.choerodon.agile.api.vo.IssueSubVO) TriggerCarrierVO(io.choerodon.agile.api.vo.business.TriggerCarrierVO)

Aggregations

IssueSubVO (io.choerodon.agile.api.vo.IssueSubVO)2 TriggerCarrierVO (io.choerodon.agile.api.vo.business.TriggerCarrierVO)2 IssueConvertDTO (io.choerodon.agile.infra.dto.business.IssueConvertDTO)2