丽知:仅退款修加锁优化

This commit is contained in:
zhengyf 2025-01-13 14:18:30 +08:00
parent 577e1fe9c0
commit a21799fa9b
2 changed files with 148 additions and 137 deletions

View File

@ -68,6 +68,9 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
*/ */
private List<String> referenceShopList = ProfilesActiveConstant.REFERENCE_SHOP_LIST; private List<String> referenceShopList = ProfilesActiveConstant.REFERENCE_SHOP_LIST;
private static final Object OBJECT_LOCK = new Object();
Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToB.class); Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToB.class);
@Override @Override
@ -160,34 +163,34 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
public void start() { public void start() {
try { try {
synchronized (OBJECT_LOCK) {
// 获取当前日期 // 获取当前日期
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
// 计算前一天的日期 // 计算前一天的日期
String previousDay = today.minusDays(1).toString(); String previousDay = today.minusDays(1).toString();
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO(); QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00"); queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00");
queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00"); queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00");
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO); List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) { if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return; return;
}
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款 returnnode:300/200 售后/售中
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} }
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款 returnnode:300/200 售后/售中
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start()方法报错:" + e); logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start()方法报错:" + e);
} }
@ -199,28 +202,30 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
public void start(String ofsCode) { public void start(String ofsCode) {
String[] split = ofsCode.split("_"); String[] split = ofsCode.split("_");
try { try {
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO(); synchronized (OBJECT_LOCK) {
queryReturnOrderRequestVO.setCode(split[0]);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO); QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) { queryReturnOrderRequestVO.setCode(split[0]);
Assert.state(false, "丽知:售后订单(ToB仅退款):{} --->U8C红字应收单未查询到OFS售后订单(ToB仅退款)", ofsCode); List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToB仅退款):{} --->U8C红字应收单未查询到OFS售后订单(ToB仅退款)", ofsCode);
}
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToB仅退款):{} --->U8C红字应收单该售后订单(ToB仅退款)已被推送成功,请勿重新推送", ofsCode);
}
//推送
implement(filterReturnGoodsOrders);
} }
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToB仅退款):{} --->U8C红字应收单该售后订单(ToB仅退款)已被推送成功,请勿重新推送", ofsCode);
}
//推送
implement(filterReturnGoodsOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start(String ofsCode)方法报错:" + e); logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start(String ofsCode)方法报错:" + e);
} }
@ -231,35 +236,36 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
*/ */
public void start(String startTime, String endTime) { public void start(String startTime, String endTime) {
try { try {
LocalDate start_parse = LocalDate.parse(startTime); synchronized (OBJECT_LOCK) {
LocalDate end_parse = LocalDate.parse(endTime).plusDays(1);
String start = start_parse + " 00:00:00"; LocalDate start_parse = LocalDate.parse(startTime);
String end = end_parse + " 00:00:00"; LocalDate end_parse = LocalDate.parse(endTime).plusDays(1);
String start = start_parse + " 00:00:00";
String end = end_parse + " 00:00:00";
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO(); QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(start); queryReturnOrderRequestVO.setRefundedAt_start(start);
queryReturnOrderRequestVO.setRefundedAt_end(end); queryReturnOrderRequestVO.setRefundedAt_end(end);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO); List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) { if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return; return;
}
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} }
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start(String startTime, String endTime)方法报错:" + e); logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start(String startTime, String endTime)方法报错:" + e);
} }

View File

@ -70,6 +70,8 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
* 需要去存货管理档案参考售价的店铺 * 需要去存货管理档案参考售价的店铺
*/ */
private List<String> referenceShopList = ProfilesActiveConstant.REFERENCE_SHOP_LIST; private List<String> referenceShopList = ProfilesActiveConstant.REFERENCE_SHOP_LIST;
private static final Object OBJECT_LOCK = new Object();
Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToC.class); Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToC.class);
@ -163,32 +165,34 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
public void start() { public void start() {
try { try {
synchronized (OBJECT_LOCK) {
// 获取当前日期 // 获取当前日期
LocalDate today = LocalDate.now(); LocalDate today = LocalDate.now();
// 计算前一天的日期 // 计算前一天的日期
String previousDay = today.minusDays(1).toString(); String previousDay = today.minusDays(1).toString();
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO(); QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00"); queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00");
queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00"); queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00");
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO); List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) { if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return; return;
}
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款 returnnode:300/200 售后/售中
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} }
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款 returnnode:300/200 售后/售中
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} catch (Exception e) { } catch (Exception e) {
@ -202,27 +206,29 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
public void start(String ofsCode) { public void start(String ofsCode) {
String[] split = ofsCode.split("_"); String[] split = ofsCode.split("_");
try { try {
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO(); synchronized (OBJECT_LOCK) {
queryReturnOrderRequestVO.setCode(split[0]); QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO); queryReturnOrderRequestVO.setCode(split[0]);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) { List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
Assert.state(false, "丽知:售后订单(ToC仅退款):{} --->U8C红字应收单未查询到OFS售后订单(ToC仅退款)", ofsCode); if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToC仅退款):{} --->U8C红字应收单未查询到OFS售后订单(ToC仅退款)", ofsCode);
}
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToC仅退款):{} --->U8C红字应收单该售后订单(ToC仅退款)已被推送成功,请勿重新推送", ofsCode);
}
//推送
implement(filterReturnGoodsOrders);
} }
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToC仅退款):{} --->U8C红字应收单该售后订单(ToC仅退款)已被推送成功,请勿重新推送", ofsCode);
}
//推送
implement(filterReturnGoodsOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知:售后订单(ToC仅退款)--->U8C红字应收单,start(String ofsCode)方法报错:" + e); logger.error("丽知:售后订单(ToC仅退款)--->U8C红字应收单,start(String ofsCode)方法报错:" + e);
@ -234,35 +240,34 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
*/ */
public void start(String startTime, String endTime) { public void start(String startTime, String endTime) {
try { try {
synchronized (OBJECT_LOCK) {
LocalDate start_parse = LocalDate.parse(startTime);
LocalDate end_parse = LocalDate.parse(endTime).plusDays(1);
LocalDate start_parse = LocalDate.parse(startTime); String start = start_parse + " 00:00:00";
LocalDate end_parse = LocalDate.parse(endTime).plusDays(1); String end = end_parse + " 00:00:00";
String start = start_parse + " 00:00:00"; QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
String end = end_parse + " 00:00:00"; queryReturnOrderRequestVO.setRefundedAt_start(start);
queryReturnOrderRequestVO.setRefundedAt_end(end);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return;
}
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO(); //保存数据
queryReturnOrderRequestVO.setRefundedAt_start(start); saveData(refundOnlyData);
queryReturnOrderRequestVO.setRefundedAt_end(end);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO); //过滤日志
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) { List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
return; if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} }
//过滤仅退款 returnType:0 不退货exchangeType:0 不换货refundInd:1 退款
List<RerturnGoodsOrderSearchData> refundOnlyData = filterRefundOnly(returnGoodsOrders);
//保存数据
saveData(refundOnlyData);
//过滤日志
List<RerturnGoodsOrderSearchData> filterReturnGoodsOrders = filterData(refundOnlyData);
if (filterReturnGoodsOrders == null || filterReturnGoodsOrders.size() == 0) {
return;
}
//推送
implement(filterReturnGoodsOrders);
} catch (Exception e) { } catch (Exception e) {
logger.error("丽知:售后订单(ToC仅退款)--->U8C红字应收单,start(String startTime, String endTime)方法报错:" + e); logger.error("丽知:售后订单(ToC仅退款)--->U8C红字应收单,start(String startTime, String endTime)方法报错:" + e);
} }