丽知:仅退款修加锁优化

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 static final Object OBJECT_LOCK = new Object();
Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToB.class);
@Override
@ -160,34 +163,34 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
public void start() {
try {
synchronized (OBJECT_LOCK) {
// 获取当前日期
LocalDate today = LocalDate.now();
// 计算前一天的日期
String previousDay = today.minusDays(1).toString();
// 获取当前日期
LocalDate today = LocalDate.now();
// 计算前一天的日期
String previousDay = today.minusDays(1).toString();
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00");
queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00");
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return;
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00");
queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00");
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
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) {
logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start()方法报错:" + e);
}
@ -199,28 +202,30 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
public void start(String ofsCode) {
String[] split = ofsCode.split("_");
try {
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setCode(split[0]);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToB仅退款):{} --->U8C红字应收单未查询到OFS售后订单(ToB仅退款)", ofsCode);
synchronized (OBJECT_LOCK) {
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setCode(split[0]);
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) {
logger.error("丽知:售后订单(ToB仅退款)--->U8C红字应收单,start(String ofsCode)方法报错:" + e);
}
@ -231,35 +236,36 @@ public class RefundOnlyPluginInitializerToB extends PluginBaseEntity {
*/
public void start(String startTime, String endTime) {
try {
LocalDate start_parse = LocalDate.parse(startTime);
LocalDate end_parse = LocalDate.parse(endTime).plusDays(1);
synchronized (OBJECT_LOCK) {
String start = start_parse + " 00:00:00";
String end = end_parse + " 00:00:00";
LocalDate start_parse = LocalDate.parse(startTime);
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.setRefundedAt_start(start);
queryReturnOrderRequestVO.setRefundedAt_end(end);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return;
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
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);
//保存数据
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) {
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 static final Object OBJECT_LOCK = new Object();
Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToC.class);
@ -163,32 +165,34 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
public void start() {
try {
synchronized (OBJECT_LOCK) {
// 获取当前日期
LocalDate today = LocalDate.now();
// 计算前一天的日期
String previousDay = today.minusDays(1).toString();
// 获取当前日期
LocalDate today = LocalDate.now();
// 计算前一天的日期
String previousDay = today.minusDays(1).toString();
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00");
queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00");
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return;
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setRefundedAt_start(previousDay + " 00:00:00");
queryReturnOrderRequestVO.setRefundedAt_end(today + " 00:00:00");
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
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) {
@ -202,27 +206,29 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
public void start(String ofsCode) {
String[] split = ofsCode.split("_");
try {
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setCode(split[0]);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
Assert.state(false, "丽知:售后订单(ToC仅退款):{} --->U8C红字应收单未查询到OFS售后订单(ToC仅退款)", ofsCode);
synchronized (OBJECT_LOCK) {
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
queryReturnOrderRequestVO.setCode(split[0]);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
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) {
logger.error("丽知:售后订单(ToC仅退款)--->U8C红字应收单,start(String ofsCode)方法报错:" + e);
@ -234,35 +240,34 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity {
*/
public void start(String startTime, String endTime) {
try {
synchronized (OBJECT_LOCK) {
LocalDate start_parse = LocalDate.parse(startTime);
LocalDate end_parse = LocalDate.parse(endTime).plusDays(1);
LocalDate start_parse = LocalDate.parse(startTime);
LocalDate end_parse = LocalDate.parse(endTime).plusDays(1);
String start = start_parse + " 00:00:00";
String end = end_parse + " 00:00:00";
String start = start_parse + " 00:00:00";
String end = end_parse + " 00:00:00";
QueryReturnOrderRequestVO queryReturnOrderRequestVO = new QueryReturnOrderRequestVO();
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);
queryReturnOrderRequestVO.setRefundedAt_end(end);
List<RerturnGoodsOrderSearchData> returnGoodsOrders = queryOfsOnlyReturnOrders(queryReturnOrderRequestVO);
if (returnGoodsOrders == null || returnGoodsOrders.size() == 0) {
return;
//保存数据
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) {
logger.error("丽知:售后订单(ToC仅退款)--->U8C红字应收单,start(String startTime, String endTime)方法报错:" + e);
}