瀏覽代碼

菠萝派

yueshen 7 年之前
父節點
當前提交
6ef0e2b2c7

+ 10 - 3
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/order/OrderItem.java

@@ -43,9 +43,10 @@ public class OrderItem implements Serializable {
 	//			5:青色	6:蓝色	7:紫色	8:白色
 	
 	private String produectRemark;		//产品备注,存放百胜商品69码的
-	
 
+	private String colorPolyCode;		//菠萝派对应的商品编号
 	
+
 	public Integer getItemColorId() {
 		return itemColorId;
 	}
@@ -170,6 +171,12 @@ public class OrderItem implements Serializable {
 	public void setProductStatus(Integer productStatus) {
 		this.productStatus = productStatus;
 	}
-	
-	
+
+	public String getColorPolyCode() {
+		return colorPolyCode;
+	}
+
+	public void setColorPolyCode(String colorPolyCode) {
+		this.colorPolyCode = colorPolyCode;
+	}
 }

+ 9 - 0
tooth-common-core/src/main/java/com/iamberry/wechat/core/entity/product/ProductColor.java

@@ -28,6 +28,7 @@ public class ProductColor implements java.io.Serializable{
 	
 	private Integer colorPrice;			//产品市场价
 	private String color69Code;			//产品69码
+	private String colorPolyCode;		//菠萝派对应的商品编号
 	@DateTimeFormat(pattern="yyyy-MM-dd")
 	@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
 	private Date colorCretaeTime;		//创建时间
@@ -179,6 +180,14 @@ public class ProductColor implements java.io.Serializable{
 		this.colorStatus = colorStatus;
 	}
 
+	public String getColorPolyCode() {
+		return colorPolyCode;
+	}
+
+	public void setColorPolyCode(String colorPolyCode) {
+		this.colorPolyCode = colorPolyCode;
+	}
+
 	@Override
 	public String toString() {
 		return "ProductColor [colorId=" + colorId + ", colorProductId="

+ 1 - 1
tooth-wechat-service/src/main/java/com/iamberry/wechat/service/mapper/adminOrderMapper.xml

@@ -784,7 +784,7 @@ PUBLIC
 		I.item_id itemId,
 		I.ITEM_PRODUCT_NAME itemProductName, I.ITEM_PRODUCT_PIC itemProductPic, I.ITEM_PRODUCT_PRICE itemProductPrice,
 		I.ITEM_PRODUCT_DISCOUNT itemProductDiscount, I.ITEM_NUM itemNum, I.ITEM_TOTAL itemTotal, C.COLOR_NAME productColor,
-		C.COLOR_69CODE produectRemark, I.ITEM_PRODUCT_TYPE itemProductType
+		C.COLOR_69CODE produectRemark, C.COLOR_POLY_CODE colorPolyCode, I.ITEM_PRODUCT_TYPE itemProductType
 		FROM
 		TB_IAMBERRY_SHOP_ORDER_ITEM I LEFT JOIN TB_IAMBERRY_PRODUCT_INFO P
 		ON I.ITEM_PRODUCT_ID = P.PRODUCT_ID

+ 25 - 9
tooth-wechat-web/src/main/java/com/iamberry/wechat/handles/polyapi/ExternalDockPolyApiHandler.java

@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * 对接菠萝派接口,用与回调订单
+ * 对接菠萝派接口
  */
 @Controller
 public class ExternalDockPolyApiHandler {
@@ -57,7 +57,7 @@ public class ExternalDockPolyApiHandler {
     /**
      * 请求示例:
      * appkey=438b2f6ff103422a98a9349507293bb2
-     * &method=Differ.JH.Business.GetOrder&token=95a8d1a00b6dfbadc3da07805131931e
+     * &method=Differ.JH.Business.GetOrder
      * &bizcontent={"OrderStatus":"JH_01","PlatOrderNo":"20182270207","StartTime":"2016-07-26 10:59:10","EndTime":"2016-08-02 10:59:10","TimeType":"JH_02","PageIndex":"1","PageSize":"20"}
      * &token=9415c33b04d24c7dae320b0185f42fb0
      * &sign=347e07a557e2720256e64e1e828eff1b
@@ -85,6 +85,14 @@ public class ExternalDockPolyApiHandler {
             return map;
         }
 
+        if(requstMap == null ){
+            map.put("code","40000");
+            map.put("message","请求未能识别");
+            map.put("submessage","参数有误");
+            map.put("numtotalorder",0);
+            return map;
+        }
+
         String method =  request.getParameter("method");
         switch (method){
             case "Differ.JH.Business.GetOrder" :  //订单下载
@@ -100,7 +108,7 @@ public class ExternalDockPolyApiHandler {
                 map = updateOrderRemark(requstMap);
                 break;
             case "Differ.JH.Business.DownloadProduct" :  //商品下载
-                map = downProduct(requstMap);
+                //map = downProduct(requstMap);
                 break;
             case "Differ.JH.Business.SyncStock" :  //商品库存同步
                 break;
@@ -163,8 +171,8 @@ public class ExternalDockPolyApiHandler {
         }catch (ParseException e){
             logger.info("=========日期转换失败=========");
             map.put("code","40000");
-            map.put("message","日期转换失败");
-            map.put("submessage","日期转换失败");
+            map.put("message","查询出错");
+            map.put("submessage","查询出错");
             map.put("numtotalorder",0);
             return map;
         }
@@ -180,7 +188,11 @@ public class ExternalDockPolyApiHandler {
         for(Order or : orderList){
             List<OrderItem> orderItemList = adminOrderService.getShopOrderItemByOrderIdToPola(or.getSalesOrderid());
             or.setOrderItemList(orderItemList);
-            orders.add(getOrderMap(or));
+            try {
+                orders.add(getOrderMap(or));
+            }catch (Exception e){
+                logger.info("订单无法被转换为接口所需要的数据!");
+            }
         }
         map.put("orders",orders);
         map.put("numtotalorder",orderNum);
@@ -286,6 +298,8 @@ public class ExternalDockPolyApiHandler {
             String  firm = this.selectFirm(LogisticType);  //快递公司
             String  num = LogisticNo;       //快递单号
             try {
+
+                /*微信推送发货信息*/
                 sendMessageUtil.orderSendSuccess(
                         "尊敬的朵粉,您的订单已发货,物流信息:",
                         order.getSalesOrderid(),
@@ -439,8 +453,10 @@ public class ExternalDockPolyApiHandler {
             for(ProductColor productColor : colors){
                 Map<String,Object> colorMap = new HashMap<String,Object>();
                 colorMap.put("SkuID",String.valueOf(productColor.getColorId()));      //平台规格ID
+
+                // TODO: 2018/2/21 判断是否是货号编码
                 //规格外部商家编码(注:若与管家对接,这里需要返回与管家商品相匹配的编号,方便管家商品与平台商品的匹配)
-                colorMap.put("skuOuterID",String.valueOf(productColor.getColorId()));
+                colorMap.put("skuOuterID",productColor.getColorPolyCode());
                 double colorDiscount = productColor.getColorDiscount().intValue() / 100;
                 colorMap.put("skuprice",colorDiscount);      //规格价格
                 colorMap.put("skuQuantity",10000);      //规格数量
@@ -629,9 +645,9 @@ public class ExternalDockPolyApiHandler {
         List<Map<String,Object>> goodinfos = new ArrayList<>();
         for (OrderItem orderItem: order.getOrderItemList()){
             Map<String,Object> orderItemMap = new HashMap<String,Object>();
-            orderItemMap.put("ProductId",orderItem.getProduectRemark()); //必填 平台商品ID或SKUID(SKUID优先)
+            orderItemMap.put("ProductId",orderItem.getColorPolyCode()); //必填 平台商品ID或SKUID(SKUID优先)
             orderItemMap.put("suborderno",orderItem.getItemId());  //子订单号(若需要支持拆单发货,则必填)
-            orderItemMap.put("tradegoodsno",orderItem.getProduectRemark());    //必填  部商家编码或外部SKU编码(SKU编码优先)。注意,如果要与管家对接,这里一般返回管家的商品编码,作为平台的外部商家编码,与管家商品映射。
+            orderItemMap.put("tradegoodsno",orderItem.getColorPolyCode());    //必填  部商家编码或外部SKU编码(SKU编码优先)。注意,如果要与管家对接,这里一般返回管家的商品编码,作为平台的外部商家编码,与管家商品映射。
             orderItemMap.put("tradegoodsname",orderItem.getItemProductName());  //必填 商品交易名称
             orderItemMap.put("tradegoodsspec",orderItem.getProductColor());  //颜色    必填   商品交易规格
             orderItemMap.put("goodscount",orderItem.getItemNum());  //必填  商品数量  int

+ 6 - 6
tooth-wechat-web/src/main/resources/jdbc.properties

@@ -5,14 +5,14 @@ jdbc.driver=com.mysql.jdbc.Driver
 #jdbc.password=Tooth123223
 
 #±¾µØ¿â
-jdbc.url=jdbc:mysql://192.168.1.254:3306/tooth?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-jdbc.username=root
-jdbc.password=root
+#jdbc.url=jdbc:mysql://192.168.1.254:3306/tooth?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+#jdbc.username=root
+#jdbc.password=root
 
 #²âÊÔ¿â
-#jdbc.url=jdbc:mysql://watero2db.mysql.rds.aliyuncs.com/test_watero_pf?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
-#jdbc.username=test_watero
-#jdbc.password=waterO123
+jdbc.url=jdbc:mysql://iamberry.mysql.rds.aliyuncs.com/test_tooth?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull
+jdbc.username=tooth
+jdbc.password=Tooth123223
 
 #pool settings
 jdbc.pool.init=1