|
@@ -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
|