From 3533460e6f0d0c8c79b387db614d0e6fd063e93e Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Mon, 6 Jan 2025 11:41:15 +0800 Subject: [PATCH] =?UTF-8?q?refactor(buildpackage):=20=E4=B8=BA=E5=85=B3?= =?UTF-8?q?=E9=94=AE=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E9=94=81=E5=92=8C=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86-=20?= =?UTF-8?q?=E5=9C=A8=20ConsignmachiningIn=E3=80=81ConsignmachiningInReturn?= =?UTF-8?q?=E3=80=81ProxyPurchaseReturn=E3=80=81ProxyPurchaseWarehousOrder?= =?UTF-8?q?=E3=80=81ProxyPurchaseWarehousWarehouse=20=E5=92=8C=20SoSaleRet?= =?UTF-8?q?urnPluginInitializerToB=20=E7=B1=BB=E4=B8=AD=EF=BC=8C=E4=B8=BA?= =?UTF-8?q?=20getSet=E3=80=81getSetStock=20=E5=92=8C=20getSetTrade=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0=E4=BA=86=20ReentrantLock?= =?UTF-8?q?=20=E5=90=8C=E6=AD=A5=E9=94=81=20-=20=E5=9C=A8=E4=B8=8A?= =?UTF-8?q?=E8=BF=B0=E6=96=B9=E6=B3=95=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=20try-catch=20=E5=9D=97=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=8D=95?= =?UTF-8?q?=E8=8E=B7=E5=92=8C=E8=AE=B0=E5=BD=95=E5=BC=82=E5=B8=B8=20-?= =?UTF-8?q?=E8=BF=99=E4=BA=9B=E4=BF=AE=E6=94=B9=E6=97=A8=E5=9C=A8=E6=8F=90?= =?UTF-8?q?=E9=AB=98=E7=B3=BB=E7=BB=9F=E7=9A=84=E7=A8=B3=E5=AE=9A=E6=80=A7?= =?UTF-8?q?=E5=92=8C=E5=8F=AF=E9=9D=A0=E6=80=A7=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?=E5=B9=B6=E5=8F=91=E9=97=AE=E9=A2=98=EF=BC=8C=E5=B9=B6=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E5=BC=82=E5=B8=B8=E6=83=85=E5=86=B5=E5=BE=97=E5=88=B0?= =?UTF-8?q?=E5=A6=A5=E5=96=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/outsourc/ConsignmachiningIn.java | 18 ++++++-- .../outsourc/ConsignmachiningInReturn.java | 18 ++++++-- .../plugin/purchase/ProxyPurchaseReturn.java | 18 ++++++-- .../purchase/ProxyPurchaseWarehousOrder.java | 18 ++++++-- .../ProxyPurchaseWarehousWarehouse.java | 18 ++++++-- .../SoSaleReturnPluginInitializerToB.java | 45 +++++++++++++------ 6 files changed, 102 insertions(+), 33 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java index 723fc279..ba19fd30 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java @@ -32,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -47,6 +48,8 @@ import java.util.stream.Collectors; */ public class ConsignmachiningIn extends PluginBaseEntity { + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + Logger logger = LoggerFactory.getLogger(ConsignmachiningIn.class); @Autowired @@ -326,10 +329,17 @@ public class ConsignmachiningIn extends PluginBaseEntity { * @author liuyang */ private void getSet(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //过滤成功的数据 - List stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList); - //执行推送主逻辑 - implement(stockinOrderList); + LOCK1.lock(); + try { + //过滤成功的数据 + List stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implement(stockinOrderList); + } catch (Exception e) { + logger.error("getSet方法抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java index 402204f5..bbcb0e26 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java @@ -37,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.locks.ReentrantLock; import java.util.stream.Collectors; /** @@ -51,6 +52,8 @@ import java.util.stream.Collectors; */ public class ConsignmachiningInReturn extends PluginBaseEntity { + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + Logger logger = LoggerFactory.getLogger(ConsignmachiningInReturn.class); @Autowired @@ -303,10 +306,17 @@ public class ConsignmachiningInReturn extends PluginBaseEntity { * @author liuyang */ private void getSet(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //过滤成功的数据 - List headerDetailsDtos = filterData(returnGoodHeaderDetailsDataDtoArrayList); - //执行推送主逻辑 - implement(headerDetailsDtos); + LOCK1.lock(); + try { + //过滤成功的数据 + List headerDetailsDtos = filterData(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implement(headerDetailsDtos); + } catch (Exception e) { + logger.error("getSet方法抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java index d822c045..fb5a4880 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java @@ -39,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -54,6 +55,8 @@ import java.util.stream.Collectors; */ public class ProxyPurchaseReturn extends PluginBaseEntity { + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + Logger logger = LoggerFactory.getLogger(ProxyPurchaseReturn.class); @Autowired @@ -355,10 +358,17 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { * @author liuyang */ private void getSet(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //过滤成功的数据 - List headerDetailsDtos = filterData(returnGoodHeaderDetailsDataDtoArrayList); - //执行推送主逻辑 - implement(headerDetailsDtos); + LOCK1.lock(); + try { + //过滤成功的数据 + List headerDetailsDtos = filterData(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implement(headerDetailsDtos); + } catch (Exception e) { + logger.error("getSet抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java index 9395c89a..af0b15bf 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousOrder.java @@ -35,6 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -51,6 +52,8 @@ import java.util.stream.Collectors; */ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity { + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + Logger logger = LoggerFactory.getLogger(ProxyPurchaseWarehousOrder.class); @Autowired @@ -355,10 +358,17 @@ public class ProxyPurchaseWarehousOrder extends PluginBaseEntity { * @author liuyang */ private void getSet(List allOfsPoOrderList) throws Exception { - //过滤成功的数据 - List ofsPoOrderDataList = filterData(allOfsPoOrderList); - //执行推送主逻辑 - implement(ofsPoOrderDataList); + LOCK1.lock(); + try { + //过滤成功的数据 + List ofsPoOrderDataList = filterData(allOfsPoOrderList); + //执行推送主逻辑 + implement(ofsPoOrderDataList); + } catch (Exception e) { + logger.error("getSet不能为空", e); + } finally { + LOCK1.unlock(); + } } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java index 05a9feef..f3cc9cad 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehousWarehouse.java @@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -46,6 +47,8 @@ import java.util.stream.Collectors; */ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + Logger logger = LoggerFactory.getLogger(ProxyPurchaseWarehousWarehouse.class); @Autowired @@ -353,10 +356,17 @@ public class ProxyPurchaseWarehousWarehouse extends PluginBaseEntity { * @author liuyang */ private void getSet(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //过滤成功的数据 - List stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList); - //执行推送主逻辑 - implement(stockinOrderList); + LOCK1.lock(); + try { + //过滤成功的数据 + List stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implement(stockinOrderList); + } catch (Exception e) { + logger.error("getSet抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index 58bab59b..e0edb736 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -46,6 +46,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.concurrent.locks.ReentrantLock; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -60,6 +61,10 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { Logger logger = LoggerFactory.getLogger(SoSaleReturnPluginInitializerToB.class); + private static final ReentrantLock LOCK1 = new ReentrantLock(true); + + private static final ReentrantLock LOCK2 = new ReentrantLock(true); + @Autowired private IBdCorpDao iBdCorpDao; @@ -335,7 +340,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { logger.info("插件:{} (确认收入)O接口返回行数:{} 时间段:{} {}", getPluginName(), returnGoodHeaderDetailsDataDtoArrayList.size(), startTime, endTime); // splicingPrintingOrderNumber(returnGoodHeaderDetailsDataDtoArrayList, "tran", startTime, endTime, null); printOfsDocCode(returnGoodHeaderDetailsDataDtoArrayList, startTime, endTime, "确认收入"); - + if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { returnGoodHeaderDetailsDataDtoArrayList.removeIf(new Predicate() { @Override @@ -429,12 +434,19 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * @author liuyang */ private void getSetStock(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //保存到mysql - batchInsert(returnGoodHeaderDetailsDataDtoArrayList); - //过滤成功的数据 - List stockinOrderList = filterDataStock(returnGoodHeaderDetailsDataDtoArrayList); - //执行推送主逻辑 - implementStock(stockinOrderList); + LOCK1.lock(); + try { + //保存到mysql + batchInsert(returnGoodHeaderDetailsDataDtoArrayList); + //过滤成功的数据 + List stockinOrderList = filterDataStock(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implementStock(stockinOrderList); + } catch (Exception e) { + logger.error("getSetStock方法抛出异常", e); + } finally { + LOCK1.unlock(); + } } /** @@ -443,12 +455,19 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * @author liuyang */ private void getSetTrade(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { - //保存到mysql - batchInsert(returnGoodHeaderDetailsDataDtoArrayList); - //过滤成功的数据 - List stockinOrderList = filterDataTran(returnGoodHeaderDetailsDataDtoArrayList); - //执行推送主逻辑 - implementSuccessfulTrade(stockinOrderList); + LOCK2.lock(); + try { + //保存到mysql + batchInsert(returnGoodHeaderDetailsDataDtoArrayList); + //过滤成功的数据 + List stockinOrderList = filterDataTran(returnGoodHeaderDetailsDataDtoArrayList); + //执行推送主逻辑 + implementSuccessfulTrade(stockinOrderList); + } catch (Exception e) { + logger.error("getSetTrade方法抛出异常", e); + } finally { + LOCK2.unlock(); + } } /**