Browse Source

海博订单模块

fubojin 6 days ago
parent
commit
fbffe48999

+ 1 - 0
yami-shop-bean/src/main/java/com/yami/shop/bean/model/Order.java

@@ -87,6 +87,7 @@ public class Order implements Serializable {
 
     /**
      * 海博订单状态
+     * 0-待支付 20-订单已接单(待拣货),30-订单待配送(拣货完成/自提类订单为待自提),40-订单配送中 ,50-订单取消待审核,60-订单已取消,70-订单已送达,80-订单已完成
      */
     private Integer hbOrderStatus;
 

+ 1 - 0
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/hb/GoodsController.java

@@ -62,6 +62,7 @@ public class GoodsController {
         log.info("海博商品可售状态变更{}",HBRequest);
         return goodsService.updateGoodsStatus(HBRequest);
     }
+
     /**
      * 海博商品价格变更信息-回调
      *

+ 19 - 5
yami-shop-service/src/main/java/com/yami/shop/service/hb/impl/HBOrderService.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.yami.shop.bean.dto.hb.*;
 import com.yami.shop.bean.enums.DvyType;
+import com.yami.shop.bean.enums.OrderStatus;
 import com.yami.shop.bean.model.*;
 import com.yami.shop.common.util.hb.HBR;
 import com.yami.shop.dao.*;
@@ -172,9 +173,21 @@ public class HBOrderService implements IHBOrderService {
         String bodyStr = hBRequest.getString("body");
         log.info("订单信息,body:{}", bodyStr);
         JSONObject bodyJson = JSON.parseObject(bodyStr);
-        Order order = orderMapper.getOrderAndOrderItemByOrderNumber(bodyJson.getString("channelOrderId"));
-        order.setHbOrderStatus(bodyJson.getInteger("operatorType"));
+        Integer operatorType = bodyJson.getInteger("operatorType");
+        String channelOrderId = bodyJson.getString("channelOrderId");
+        Order order = orderMapper.getOrderAndOrderItemByOrderNumber(channelOrderId);
+        //如果是已送达直接完成并且通知海博
+        order.setHbOrderStatus(operatorType);
+        if (operatorType == 70){
+            order.setHbOrderStatus(80);
+        }
         orderMapper.updateById(order);
+
+
+        //成功直接通知海博
+        if (operatorType == 70){
+            changeOrderStatus(channelOrderId,80);
+        }
     }
 
     @Override
@@ -272,9 +285,10 @@ public class HBOrderService implements IHBOrderService {
         }
 
         int dvyType = 10;
-        if (order.getDvyType() == 1) {
-            dvyType = 80;
-        } else if (order.getDvyType() == 2) {
+//        if (order.getDvyType() == 1) {
+//            dvyType = 80;
+//        } else
+            if (order.getDvyType() == 2) {
             dvyType = 40;
         }