|
@@ -79,22 +79,34 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ Map<String, OrderInfo> orderMap = context.getOrderMap();
|
|
|
+
|
|
|
|
|
|
for (JSONObject wlnOrder : wlnOrderList) {
|
|
|
|
|
|
-
|
|
|
- OrderInfo orderInfo = createOrder(context, wlnOrder);
|
|
|
+
|
|
|
+ String storageCode = wlnOrder.getString("storage_code");
|
|
|
|
|
|
-
|
|
|
- if (orderInfo == null) {
|
|
|
+
|
|
|
+ String wlnUid = wlnOrder.getString("uid");
|
|
|
+
|
|
|
+
|
|
|
+ Department department = context.getDepartmentMap().get(storageCode);
|
|
|
+
|
|
|
+
|
|
|
+ if (department == null) {
|
|
|
+ log.error("未知仓库code:{}", storageCode);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- boolean existOrder = existOrder(context, orderInfo);
|
|
|
+ OrderInfo orderInfo = orderMap.get(wlnUid);
|
|
|
|
|
|
-
|
|
|
- if (existOrder) {
|
|
|
+ if (orderInfo == null) {
|
|
|
+
|
|
|
+ orderInfo = createOrder(wlnOrder, department);
|
|
|
+ } else {
|
|
|
+
|
|
|
+ updateOrder(context, wlnOrder, department, orderInfo);
|
|
|
continue;
|
|
|
}
|
|
|
|
|
@@ -112,93 +124,37 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- * 订单是否存在,若订单存在且订单信息被修改,则添加到更新订单数组
|
|
|
- */
|
|
|
- private boolean existOrder(OrderContext context, OrderInfo orderInfo) {
|
|
|
- Map<String, OrderInfo> orderMap = context.getOrderMap();
|
|
|
- List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
-
|
|
|
-
|
|
|
- OrderInfo oldOrderInfo = orderMap.get(orderInfo.getWlnUid());
|
|
|
-
|
|
|
- if (oldOrderInfo != null) {
|
|
|
- if (ObjectUtil.notEqual(oldOrderInfo.getWlnStatus(), orderInfo.getWlnStatus())
|
|
|
- || ObjectUtil.notEqual(oldOrderInfo.getWlnModifyTimestamp(), orderInfo.getWlnModifyTimestamp())
|
|
|
- || ObjectUtil.notEqual(DateUtil.formatDateTime(oldOrderInfo.getWlnApproveTime()), DateUtil.formatDateTime(orderInfo.getWlnApproveTime()))
|
|
|
- || ObjectUtil.notEqual(DateUtil.formatDateTime(oldOrderInfo.getWlnPrintTime()), DateUtil.formatDateTime(orderInfo.getWlnPrintTime()))
|
|
|
- || ObjectUtil.notEqual(oldOrderInfo.getWlnStorageCode(), orderInfo.getWlnStorageCode())
|
|
|
- || ObjectUtil.notEqual(oldOrderInfo.getDepartmentId(), orderInfo.getDepartmentId())) {
|
|
|
-
|
|
|
- OrderInfo updateOrder = new OrderInfo();
|
|
|
- updateOrder.setId(oldOrderInfo.getId());
|
|
|
- updateOrder.setWlnStatus(orderInfo.getWlnStatus());
|
|
|
- updateOrder.setWlnModifyTime(orderInfo.getWlnModifyTime());
|
|
|
- updateOrder.setWlnModifyTimestamp(orderInfo.getWlnModifyTimestamp());
|
|
|
- updateOrder.setWlnApproveTime(orderInfo.getWlnApproveTime());
|
|
|
- updateOrder.setWlnPrintTime(orderInfo.getWlnPrintTime());
|
|
|
- updateOrder.setWlnStorageCode(orderInfo.getWlnStorageCode());
|
|
|
- updateOrder.setDepartmentId(orderInfo.getDepartmentId());
|
|
|
- updateOrderList.add(updateOrder);
|
|
|
-
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
* 创建订单
|
|
|
*/
|
|
|
- private OrderInfo createOrder(OrderContext context, JSONObject wlnOrder) {
|
|
|
-
|
|
|
-
|
|
|
- String storageCode = wlnOrder.getString("storage_code");
|
|
|
-
|
|
|
-
|
|
|
- Department department = context.getDepartmentMap().get(storageCode);
|
|
|
-
|
|
|
-
|
|
|
- if (department == null) {
|
|
|
- log.error("未知仓库code:{}", storageCode);
|
|
|
- return null;
|
|
|
- }
|
|
|
+ private OrderInfo createOrder(JSONObject wlnOrder, Department department) {
|
|
|
|
|
|
OrderInfo orderInfo = new OrderInfo();
|
|
|
orderInfo.setId(IdWorker.getId());
|
|
|
orderInfo.setSource(2);
|
|
|
+ orderInfo.setTaxRate(new BigDecimal("10.00"));
|
|
|
+ orderInfo.setTag("0");
|
|
|
+ orderInfo.setSettlementStatus(1);
|
|
|
+
|
|
|
+ orderInfo.setDepartmentId(department.getId());
|
|
|
+ orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
+ orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
|
orderInfo.setWlnCode(wlnOrder.getString("trade_no"));
|
|
|
orderInfo.setWlnStatus(wlnOrder.getInteger("process_status"));
|
|
|
- orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
+ orderInfo.setWlnCreateTime(wlnOrder.getDate("create_time"));
|
|
|
orderInfo.setWlnModifyTime(wlnOrder.getDate("modify_time"));
|
|
|
orderInfo.setWlnModifyTimestamp(wlnOrder.getLong("modify_time"));
|
|
|
- orderInfo.setWlnCreateTime(wlnOrder.getDate("create_time"));
|
|
|
orderInfo.setWlnApproveTime(wlnOrder.getDate("approve_time"));
|
|
|
orderInfo.setWlnPrintTime(wlnOrder.getDate("print_time"));
|
|
|
- orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
- orderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
+ orderInfo.setSourcePlatform(wlnOrder.getString("source_platform"));
|
|
|
+ orderInfo.setShopName(wlnOrder.getString("shop_name"));
|
|
|
orderInfo.setProvince(wlnOrder.getString("province"));
|
|
|
orderInfo.setCity(wlnOrder.getString("city"));
|
|
|
orderInfo.setCounty(wlnOrder.getString("district"));
|
|
|
orderInfo.setDetailedAddress(wlnOrder.getString("address"));
|
|
|
orderInfo.setPostcode(wlnOrder.getString("zip"));
|
|
|
- orderInfo.setDepartmentId(department.getId());
|
|
|
+ orderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
orderInfo.setRemark(wlnOrder.getString("remark"));
|
|
|
- orderInfo.setTaxRate(new BigDecimal("10.00"));
|
|
|
- orderInfo.setTag("0");
|
|
|
- orderInfo.setSettlementStatus(1);
|
|
|
-
|
|
|
- StringBuilder builder = new StringBuilder();
|
|
|
-
|
|
|
- if (wlnOrder.containsKey("source_platform")) {
|
|
|
- builder.append(wlnOrder.getString("source_platform"));
|
|
|
- }
|
|
|
-
|
|
|
- if (wlnOrder.containsKey("shop_name")) {
|
|
|
- builder.append("_").append(wlnOrder.getString("shop_name"));
|
|
|
- }
|
|
|
- orderInfo.setCommercePlatform(builder.toString());
|
|
|
|
|
|
|
|
|
if (orderInfo.getWlnStatus() == 10 || orderInfo.getWlnStatus() == 11 || orderInfo.getWlnStatus() == 12) {
|
|
@@ -212,6 +168,37 @@ public class WlnOrderServiceImpl implements WlnOrderService {
|
|
|
return orderInfo;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+ * 修改订单
|
|
|
+ */
|
|
|
+ private void updateOrder(OrderContext context, JSONObject wlnOrder, Department department, OrderInfo orderInfo) {
|
|
|
+ List<OrderInfo> updateOrderList = context.getUpdateOrderList();
|
|
|
+
|
|
|
+ orderInfo.setDepartmentId(department.getId());
|
|
|
+ orderInfo.setWlnStorageCode(wlnOrder.getString("storage_code"));
|
|
|
+ orderInfo.setWlnUid(wlnOrder.getString("uid"));
|
|
|
+ orderInfo.setCode(wlnOrder.getString("tp_tid"));
|
|
|
+ orderInfo.setWlnCode(wlnOrder.getString("trade_no"));
|
|
|
+ orderInfo.setWlnStatus(wlnOrder.getInteger("process_status"));
|
|
|
+ orderInfo.setWlnCreateTime(wlnOrder.getDate("create_time"));
|
|
|
+ orderInfo.setWlnModifyTime(wlnOrder.getDate("modify_time"));
|
|
|
+ orderInfo.setWlnModifyTimestamp(wlnOrder.getLong("modify_time"));
|
|
|
+ orderInfo.setWlnApproveTime(wlnOrder.getDate("approve_time"));
|
|
|
+ orderInfo.setWlnPrintTime(wlnOrder.getDate("print_time"));
|
|
|
+ orderInfo.setSourcePlatform(wlnOrder.getString("source_platform"));
|
|
|
+ orderInfo.setShopName(wlnOrder.getString("shop_name"));
|
|
|
+ orderInfo.setProvince(wlnOrder.getString("province"));
|
|
|
+ orderInfo.setCity(wlnOrder.getString("city"));
|
|
|
+ orderInfo.setCounty(wlnOrder.getString("district"));
|
|
|
+ orderInfo.setDetailedAddress(wlnOrder.getString("address"));
|
|
|
+ orderInfo.setPostcode(wlnOrder.getString("zip"));
|
|
|
+ orderInfo.setDeliveryTime(DateUtil.offsetDay(orderInfo.getWlnCreateTime(), 1));
|
|
|
+ orderInfo.setRemark(wlnOrder.getString("remark"));
|
|
|
+
|
|
|
+ updateOrderList.add(orderInfo);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
* 创建订单sku
|
|
|
*/
|