Explorar o código

同步订单出错

wangxiaoming %!s(int64=7) %!d(string=hai) anos
pai
achega
6d7d0e5455

+ 25 - 14
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -18,6 +18,7 @@ import com.iamberry.rst.service.sys.mapper.SysConfigMapper;
 import com.iamberry.rst.util.PageUtil;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import net.sf.json.JSONArray;
+import net.sf.json.JSONNull;
 import net.sf.json.JSONObject;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
@@ -257,22 +258,27 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             salesOrder.setSalesIsLocked(order.getInt("is_locked"));//是否锁定
             salesOrder.setSalesIsSeparate(order.getInt("is_separate"));//是否缺货
             salesOrder.setSalesStatus(order.getInt("order_status"));//订单状态 0:未确认,1:已确认,2:挂起,3:作废
-            salesOrder.setSalesPostFirm(order.getString("shipping_name"));//快递方式代码
-            salesOrder.setSalesPostNum(order.getString("invoice_no"));//快递单号
-            salesOrder.setSalesOpenId(order.getString("mobile"));//唯一标识
-            salesOrder.setSalesPayType(efastOrderService.getPayType(order.getString("pay_name")));//支付方式
+            salesOrder.setSalesPostFirm(order.getString("shipping_name").trim());//快递方式代码
+            salesOrder.setSalesPostNum(order.getString("invoice_no").trim());//快递单号
+            salesOrder.setSalesOpenId(order.getString("mobile").trim());//唯一标识
+            salesOrder.setSalesPayType(efastOrderService.getPayType(order.getString("pay_name").trim()));//支付方式
             salesOrder.setSalesPayTime(new Date(order.getLong("pay_time")*1000));//支付时间
             salesOrder.setSalesUserRemark(order.getString("postscript"));//买家留言
             salesOrder.setSalesAdminRemark(order.getString("to_buyer"));//商家留言
             salesOrder.setSalesAmount((int)(order.getDouble("order_amount")*100));//应付款
             salesOrder.setSalesPayMoney((int)(order.getDouble("money_paid")*100));//已付款
-            salesOrder.setSalesAddressName(order.getString("consignee"));//收货人
-            salesOrder.setSalesAddressTel(order.getString("mobile"));//收货人电话
+            salesOrder.setSalesAddressName(order.getString("consignee").trim());//收货人
+            String mobile = order.getString("mobile").replaceAll("[\\u00A0]+", "").trim();
+            salesOrder.setSalesAddressTel(mobile);//收货人电话
             salesOrder.setSalesAddressInfo(order.getString("address").replaceAll(" ","-"));//收货地址
             salesOrder.setSalesShippingFee((int)(order.getDouble("shipping_fee")*100));//邮费
             salesOrder.setSalesCreateTime(DateTimeUtil.parse(order.getString("create_time"),"yyyy-MM-dd HH:mm:ss"));//创建时间
-            if (StringUtils.isNotEmpty(order.getString("delivery_time"))) {
-                salesOrder.setSalesSendTime(DateTimeUtil.parse(order.getString("delivery_time"),"yyyy-MM-dd HH:mm:ss"));//发货时间
+            if (order.getInt("shipping_status") == 1) {
+                if(order.has("delivery_time")){
+                    salesOrder.setSalesSendTime(DateTimeUtil.parse(order.getString("delivery_time"),"yyyy-MM-dd HH:mm:ss"));//发货时间
+                }else{
+                    salesOrder.setSalesSendTime(new Date());//发货时间
+                }
             }
             salesOrder.setSalesDiscountMoney(salesOrder.getSalesAmount() - salesOrder.getSalesPayMoney());//优惠金额
             salesOrder.setSalesPledgeMoney(0);//押金金额
@@ -381,22 +387,27 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         salesOrder.setSalesIsLocked(orderInfo.getInt("is_locked"));//是否锁定
         salesOrder.setSalesIsSeparate(orderInfo.getInt("is_separate"));//是否缺货
         salesOrder.setSalesStatus(orderInfo.getInt("order_status"));//订单状态 0:未确认,1:已确认,2:挂起,3:作废
-        salesOrder.setSalesPostFirm(orderInfo.getString("shipping_name"));//快递方式代码
-        salesOrder.setSalesPostNum(orderInfo.getString("invoice_no"));//快递单号
-        salesOrder.setSalesOpenId(orderInfo.getString("mobile"));//唯一标识
-        salesOrder.setSalesPayType(efastOrderService.getPayType(orderInfo.getString("pay_name")));//支付方式
+        salesOrder.setSalesPostFirm(new String(orderInfo.getString("shipping_name")).trim());//快递方式代码
+        salesOrder.setSalesPostNum(new String(orderInfo.getString("invoice_no")).trim());//快递单号
+        salesOrder.setSalesOpenId(orderInfo.getString("mobile").trim());//唯一标识
+        salesOrder.setSalesPayType(efastOrderService.getPayType(orderInfo.getString("pay_name").trim()));//支付方式
         salesOrder.setSalesPayTime(new Date(orderInfo.getLong("pay_time")*1000));//支付时间
         salesOrder.setSalesUserRemark(orderInfo.getString("postscript"));//买家留言
         salesOrder.setSalesAdminRemark(orderInfo.getString("to_buyer"));//商家留言
         salesOrder.setSalesAmount((int)(orderInfo.getDouble("order_amount")*100));//应付款
         salesOrder.setSalesPayMoney((int)(orderInfo.getDouble("money_paid")*100));//已付款
         salesOrder.setSalesAddressName(orderInfo.getString("consignee"));//收货人
-        salesOrder.setSalesAddressTel(orderInfo.getString("mobile"));//收货人电话
+        String mobile = orderInfo.getString("mobile").replaceAll("[\\u00A0]+", "");
+        salesOrder.setSalesAddressTel(mobile.trim());//收货人电话
         salesOrder.setSalesAddressInfo(orderInfo.getString("address").replaceAll(" ","-"));//收货地址
         salesOrder.setSalesShippingFee((int)(orderInfo.getDouble("shipping_fee")*100));//邮费
         salesOrder.setSalesCreateTime(new Date(orderInfo.getLong("pay_time")*1000));//创建时间
         if (orderInfo.getInt("shipping_status") == 1) {
-            salesOrder.setSalesSendTime(DateTimeUtil.parse(orderInfo.getString("delivery_time"),"yyyy-MM-dd HH:mm:ss"));//发货时间
+            if(orderInfo.has("delivery_time")){
+                salesOrder.setSalesSendTime(DateTimeUtil.parse(orderInfo.getString("delivery_time"),"yyyy-MM-dd HH:mm:ss"));//发货时间
+            }else{
+                salesOrder.setSalesSendTime(new Date());//发货时间
+            }
         }
         salesOrder.setSalesDiscountMoney(salesOrder.getSalesAmount() - salesOrder.getSalesPayMoney());//优惠金额
         salesOrder.setSalesPledgeMoney(0);//押金金额

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSalesOrderController.java

@@ -303,7 +303,7 @@ public class AdminSalesOrderController {
     @RequiresPermissions("salesOrder:sync:order")
     @RequestMapping("/sync_efast_order")
     public ResponseJson syncEfastOrder(HttpServletRequest request) throws Exception {
-        String salesDealCode = request.getParameter("salesDealCode");
+        String salesDealCode = request.getParameter("salesDealCode").trim();
         if (!StringUtils.isNotEmpty(salesDealCode)) {
             return new ResponseJson(500, "订单编号不能为空,请重新输入!", 500);
         }