1bd5da4f by 肖初晴

Merge remote-tracking branch 'origin/develop' into develop

2 parents f2e8698d 60e628d4
......@@ -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 = "数据需求审批-最后一个节点时调用")
......
......@@ -19,7 +19,7 @@ import java.util.Map;
@FeignClient(value = "ms-data-process-basic-service",url = "${dataProcessUrl}", configuration = FastCallFeignConfiguration.class)
public interface DataProcessBasicFeign {
@PostMapping(value = "/process-order/save", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = "/process-order/saveOrUpdate", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
CommonRes<Boolean> saveProcessOrder(@RequestBody @Valid ProcessOrderRQVO vo);
@PostMapping(value = "/process-order-process-dtl/get-order-state", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
......
......@@ -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());
......@@ -495,6 +523,7 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService
checkProductGuid(rqVO.getDataProductGuid());
}
//endregion 2.数据验证特殊处理
rqVO.setBizApproveState(entity.getBizApproveState());
//region 3.数据转换处理
......
......@@ -557,6 +557,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
//endregion 2.2.业务数据验证
//endregion 2.数据验证特殊处理
rqVO.setBizApproveState(entity.getBizApproveState());
//region 3.数据转换处理
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!