fcb9a4aa by xiaojie

【数据资产】

1、发起跨平台审批流程
1 parent 721ffc83
......@@ -89,6 +89,14 @@ public class DemandController {
return CommonRes.success(true);
}
@PostMapping("/cross-flow-call-back")
@SystemLog(value = "数据需求-流程结束后进行业务回调(跨服务审批)")
@Operation(summary = "数据需求-流程结束后进行业务回调(跨服务审批)", hidden = true)
public CommonRes<Boolean> crossFlowCallBack(@RequestBody @Valid BizCallbackDTO dto) {
demandService.crossFlowCallBack(dto);
return CommonRes.success(true);
}
@PostMapping("/last-approve")
@SystemLog(value = "数据需求审批")
@Operation(summary = "数据需求审批-最后一个节点时调用")
......
......@@ -69,6 +69,12 @@ public interface DemandService {
*/
void flowCallBack(BizCallbackDTO dto);
/**
* 数据需求-流程结束后进行业务回调(跨服务审批)
* @param dto
*/
void crossFlowCallBack(BizCallbackDTO dto);
Boolean lastApprove(DemandApproveVO dto);
DemandRSVO getDemandDetailByProcess(String processOrderNo);
......
......@@ -34,6 +34,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import io.seata.spring.annotation.GlobalTransactional;
import org.springframework.transaction.annotation.Transactional;
......@@ -84,6 +85,9 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService
@Resource
private WorkflowFeign workflowFeign;
@Value("${isCrossPlatform:}")
private Boolean isCrossPlatform;
/**
* 数据需求分页查询
* @author xcq
......@@ -284,6 +288,29 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService
throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME));
}
String orderNo = null;
if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState()) && !dto.getIsZqPlatformApprove() && !isCrossPlatform) {
//生成加工单
orderNo = addOrder(mfDemandService.getById(dto.getBizGuid()),dto);
}
// 同步更新审批状态
LambdaUpdateWrapper<MfDemand> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(MfDemand::getBizApproveState, dto.getApprovalState());
updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessOrderNo, orderNo);
updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessingGenerateTime, new Date());
updateWrapper.eq(MfDemand::getGuid, dto.getBizGuid());
boolean flag = mfDemandService.update(updateWrapper);
if (!flag) {
throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME)));
}
}
@Override
public void crossFlowCallBack(BizCallbackDTO dto) {
MfDemand entity = mfDemandService.getById(dto.getBizGuid());
if (entity == null) {
throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME));
}
String orderNo = null;
if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) {
//生成加工单
orderNo = addOrder(mfDemandService.getById(dto.getBizGuid()),dto);
......@@ -291,6 +318,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService
// 同步更新审批状态
LambdaUpdateWrapper<MfDemand> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(MfDemand::getBizApproveState, dto.getApprovalState());
updateWrapper.set(MfDemand::getCrossPlatformApproveState, dto.getApprovalState());
updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessOrderNo, orderNo);
updateWrapper.set(StringUtils.isNotBlank(orderNo),MfDemand::getProcessingGenerateTime, new Date());
updateWrapper.eq(MfDemand::getGuid, dto.getBizGuid());
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!