refactor(lets-plugin): 优化查询明细信息的同步机制
在查询IntegrationTaskLivingDetailsEntity时,引入同步锁以保证线程安全。重构相关代码,提升可读性与性能。 另外,修正了一些可能的NullPointerException问题。
This commit is contained in:
parent
9d4447ae7a
commit
6c4ddb00a5
|
@ -153,6 +153,13 @@ public class ConsignmachiningIn extends PluginBaseEntity {
|
|||
if (craeteDateStr != null && !"".equals(craeteDateStr)) {
|
||||
splitDateAndPush(craeteDateStr);
|
||||
}
|
||||
} else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) {
|
||||
String integration_task_living_details_id = String.valueOf(requestJson.get("integration_task_living_details_id"));
|
||||
Assert.notNull(integration_task_living_details_id, "明细行主键不能为空!");
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integration_task_living_details_id);
|
||||
if (integrationTaskLivingDetailsEntity != null && integrationTaskLivingDetailsEntity.getRootAppBill() != null) {
|
||||
startImplement(integrationTaskLivingDetailsEntity.getRootAppBill());
|
||||
}
|
||||
} else {
|
||||
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
|
||||
//默认被定时器执行,实时执行,计算时间偏移量
|
||||
|
|
|
@ -155,6 +155,13 @@ public class ConsignmachiningInReturn extends PluginBaseEntity {
|
|||
if (craeteDateStr != null && !"".equals(craeteDateStr)) {
|
||||
splitDateAndPush(craeteDateStr);
|
||||
}
|
||||
} else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) {
|
||||
String integration_task_living_details_id = String.valueOf(requestJson.get("integration_task_living_details_id"));
|
||||
Assert.notNull(integration_task_living_details_id, "明细行主键不能为空!");
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integration_task_living_details_id);
|
||||
if (integrationTaskLivingDetailsEntity != null && integrationTaskLivingDetailsEntity.getRootAppBill() != null) {
|
||||
startImplement(integrationTaskLivingDetailsEntity.getRootAppBill());
|
||||
}
|
||||
} else {
|
||||
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
|
||||
//默认被定时器执行,实时执行,计算时间偏移量
|
||||
|
|
|
@ -152,6 +152,13 @@ public class ProxyPurchaseReturn extends PluginBaseEntity {
|
|||
if (craeteDateStr != null && !"".equals(craeteDateStr)) {
|
||||
splitDateAndPush(craeteDateStr);
|
||||
}
|
||||
} else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) {
|
||||
String integration_task_living_details_id = String.valueOf(requestJson.get("integration_task_living_details_id"));
|
||||
Assert.notNull(integration_task_living_details_id, "明细行主键不能为空!");
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integration_task_living_details_id);
|
||||
if (integrationTaskLivingDetailsEntity != null && integrationTaskLivingDetailsEntity.getRootAppBill() != null) {
|
||||
startImplement(integrationTaskLivingDetailsEntity.getRootAppBill());
|
||||
}
|
||||
} else {
|
||||
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
|
||||
//默认被定时器执行,实时执行,计算时间偏移量
|
||||
|
|
|
@ -146,6 +146,13 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity {
|
|||
if (craeteDateStr != null && !"".equals(craeteDateStr)) {
|
||||
splitDateAndPush(craeteDateStr);
|
||||
}
|
||||
} else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) {
|
||||
String integration_task_living_details_id = String.valueOf(requestJson.get("integration_task_living_details_id"));
|
||||
Assert.notNull(integration_task_living_details_id, "明细行主键不能为空!");
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integration_task_living_details_id);
|
||||
if (integrationTaskLivingDetailsEntity != null && integrationTaskLivingDetailsEntity.getRootAppBill() != null) {
|
||||
startImplementByCode(integrationTaskLivingDetailsEntity.getRootAppBill());
|
||||
}
|
||||
} else {
|
||||
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
|
||||
//默认被定时器执行,实时执行,计算时间偏移量
|
||||
|
|
|
@ -149,6 +149,13 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity {
|
|||
if (craeteDateStr != null && !"".equals(craeteDateStr)) {
|
||||
splitDateAndPush(craeteDateStr);
|
||||
}
|
||||
} else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) {
|
||||
String integration_task_living_details_id = String.valueOf(requestJson.get("integration_task_living_details_id"));
|
||||
Assert.notNull(integration_task_living_details_id, "明细行主键不能为空!");
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integration_task_living_details_id);
|
||||
if (integrationTaskLivingDetailsEntity != null && integrationTaskLivingDetailsEntity.getRootAppBill() != null) {
|
||||
startImplementByCode(integrationTaskLivingDetailsEntity.getRootAppBill());
|
||||
}
|
||||
} else {
|
||||
if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(PROD_FILED)) {
|
||||
//默认被定时器执行,实时执行,计算时间偏移量
|
||||
|
|
|
@ -23,6 +23,7 @@ import com.hzya.frame.plugin.lets.queryvo.StartAndEndVo;
|
|||
import com.hzya.frame.plugin.lets.u8cdto.*;
|
||||
import com.hzya.frame.plugin.lets.util.*;
|
||||
import com.hzya.frame.split.SplitListByCountUtil;
|
||||
import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity;
|
||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto;
|
||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto;
|
||||
import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto;
|
||||
|
@ -63,6 +64,9 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
@Autowired
|
||||
private ISoSaleorderBDao iSoSaleorderBDao;
|
||||
|
||||
@Autowired
|
||||
private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil;
|
||||
|
||||
@Autowired
|
||||
private OffsetTimeTime offsetTimeTime;
|
||||
|
||||
|
|
|
@ -171,17 +171,21 @@ public class SaveOrUpdateBusinessLogUtil {
|
|||
// }
|
||||
// }
|
||||
|
||||
private static final Object queryIntegrationTaskLivingDetailsEntityLock = new Object();
|
||||
|
||||
/**
|
||||
* 根据明细id查询明细信息
|
||||
*
|
||||
* @author liuyang
|
||||
*/
|
||||
public IntegrationTaskLivingDetailsEntity queryIntegrationTaskLivingDetailsEntity(String integration_task_living_details_id) {
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
|
||||
integrationTaskLivingDetailsEntity.setId(integration_task_living_details_id);
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity1 = iIntegrationTaskLivingDetailsDao.queryEntityById(integrationTaskLivingDetailsEntity);
|
||||
Assert.notNull(integrationTaskLivingDetailsEntity, "根据主键id没有查询到明细信息");
|
||||
return integrationTaskLivingDetailsEntity1;
|
||||
synchronized (queryIntegrationTaskLivingDetailsEntityLock) {
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
|
||||
integrationTaskLivingDetailsEntity.setId(integration_task_living_details_id);
|
||||
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity1 = iIntegrationTaskLivingDetailsDao.queryEntityById(integrationTaskLivingDetailsEntity);
|
||||
Assert.notNull(integrationTaskLivingDetailsEntity, "根据主键id没有查询到明细信息");
|
||||
return integrationTaskLivingDetailsEntity1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue