mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
cad拆单多租户信息透传异常修复
This commit is contained in:
+14
-6
@@ -2,6 +2,7 @@ package com.cf.imes.module.plan.service.orderImport.consumer;
|
|||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.cf.imes.framework.common.exception.ServiceException;
|
import com.cf.imes.framework.common.exception.ServiceException;
|
||||||
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
||||||
@@ -122,8 +123,6 @@ public class WebCadOrderImportConsumer {
|
|||||||
boolean nackSent = false;
|
boolean nackSent = false;
|
||||||
TransactionStatus transactionStatus = null;
|
TransactionStatus transactionStatus = null;
|
||||||
try {
|
try {
|
||||||
transactionStatus = transactionManager.getTransaction(TransactionDefinition.withDefaults());
|
|
||||||
|
|
||||||
organId = OrganContextHolder.getOrganId();
|
organId = OrganContextHolder.getOrganId();
|
||||||
if (ObjectUtil.isNull(organId)) {
|
if (ObjectUtil.isNull(organId)) {
|
||||||
throw ServiceExceptionUtil.exception(ORDER_IMPORT_ORGANID_NOT_EXISTS);
|
throw ServiceExceptionUtil.exception(ORDER_IMPORT_ORGANID_NOT_EXISTS);
|
||||||
@@ -134,8 +133,11 @@ public class WebCadOrderImportConsumer {
|
|||||||
} else {
|
} else {
|
||||||
DynamicDataSourceContextHolder.push(peek);
|
DynamicDataSourceContextHolder.push(peek);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取事务
|
||||||
|
transactionStatus = transactionManager.getTransaction(TransactionDefinition.withDefaults());
|
||||||
// 确认任务,更新状态为消费成功,没有找到任务中断后续消费
|
// 确认任务,更新状态为消费成功,没有找到任务中断后续消费
|
||||||
OrderImportTaskDO orderImportTaskDO = confirmOrderImport(taskId);
|
OrderImportTaskDO orderImportTaskDO = confirmOrderImport(taskId, organId);
|
||||||
if (ObjectUtil.isNull(orderImportTaskDO)) {
|
if (ObjectUtil.isNull(orderImportTaskDO)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -190,12 +192,14 @@ public class WebCadOrderImportConsumer {
|
|||||||
*
|
*
|
||||||
* @param taskId
|
* @param taskId
|
||||||
*/
|
*/
|
||||||
private OrderImportTaskDO confirmOrderImport(Long taskId) {
|
private OrderImportTaskDO confirmOrderImport(Long taskId, Long organId) {
|
||||||
boolean taskExist = false;
|
boolean taskExist = false;
|
||||||
OrderImportTaskDO orderImportTaskDO = null;
|
OrderImportTaskDO orderImportTaskDO = null;
|
||||||
// 线程每1s查询一次,查三次没有就提示任务不存在
|
// 线程每1s查询一次,查三次没有就提示任务不存在
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
orderImportTaskDO = orderImportTaskMapper.selectById(taskId);
|
orderImportTaskDO = orderImportTaskMapper.selectOne(new LambdaQueryWrapper<OrderImportTaskDO>()
|
||||||
|
.eq(OrderImportTaskDO::getId, taskId)
|
||||||
|
.eq(OrderImportTaskDO::getOrganId, organId));
|
||||||
if (ObjectUtil.isNotNull(orderImportTaskDO)) {
|
if (ObjectUtil.isNotNull(orderImportTaskDO)) {
|
||||||
taskExist = true;
|
taskExist = true;
|
||||||
break;
|
break;
|
||||||
@@ -209,13 +213,17 @@ public class WebCadOrderImportConsumer {
|
|||||||
}
|
}
|
||||||
if (taskExist) {
|
if (taskExist) {
|
||||||
// 更新状态为消费成功
|
// 更新状态为消费成功
|
||||||
orderImportTaskMapper.update(new LambdaUpdateWrapper<OrderImportTaskDO>().eq(OrderImportTaskDO::getId, taskId).set(OrderImportTaskDO::getStatus, OrderImportTaskStatusEnum.CONSUME_SUCCESS.getStatus()));
|
orderImportTaskMapper.update(new LambdaUpdateWrapper<OrderImportTaskDO>()
|
||||||
|
.eq(OrderImportTaskDO::getId, taskId)
|
||||||
|
.eq(OrderImportTaskDO::getOrganId, organId)
|
||||||
|
.set(OrderImportTaskDO::getStatus, OrderImportTaskStatusEnum.CONSUME_SUCCESS.getStatus()));
|
||||||
} else {
|
} else {
|
||||||
String taskNotExistNotify = String.format("%s不存在的导入任务,消费中止", taskId);
|
String taskNotExistNotify = String.format("%s不存在的导入任务,消费中止", taskId);
|
||||||
// 更新状态为消费成功,导入失败
|
// 更新状态为消费成功,导入失败
|
||||||
orderImportTaskMapper.update(
|
orderImportTaskMapper.update(
|
||||||
new LambdaUpdateWrapper<OrderImportTaskDO>()
|
new LambdaUpdateWrapper<OrderImportTaskDO>()
|
||||||
.eq(OrderImportTaskDO::getId, taskId)
|
.eq(OrderImportTaskDO::getId, taskId)
|
||||||
|
.eq(OrderImportTaskDO::getOrganId, organId)
|
||||||
.set(OrderImportTaskDO::getStatus, OrderImportTaskStatusEnum.CONSUME_SUCCESS.getStatus())
|
.set(OrderImportTaskDO::getStatus, OrderImportTaskStatusEnum.CONSUME_SUCCESS.getStatus())
|
||||||
.set(OrderImportTaskDO::getImportStatus, OrderImportStatusEnum.IMPORT_FAIL.getStatus())
|
.set(OrderImportTaskDO::getImportStatus, OrderImportStatusEnum.IMPORT_FAIL.getStatus())
|
||||||
.set(OrderImportTaskDO::getResult, taskNotExistNotify)
|
.set(OrderImportTaskDO::getResult, taskNotExistNotify)
|
||||||
|
|||||||
Reference in New Issue
Block a user