Parcourir la source

添加了百胜退货的接口

liuzhiwei il y a 7 ans
Parent
commit
46a01ca833

+ 38 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/EfastOrder.java

@@ -5,6 +5,7 @@ package com.iamberry.rst.core.order;
  */
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * Created by ${muzx} on 2017/5/26.
@@ -38,10 +39,47 @@ public class EfastOrder implements Serializable{
     private String orderPostType;                //送货方式
     private String orderStoreId;                 //仓库id
 
+    private String orderPostNum;                //快递单号
+    private String orderPostFirm;               //快递公司
+    private String orderDealCode;               //交易号
+    private List<EfastOrderItem> itemList;      //订单项集合
+
     // 推送状态
     private String returnStatus;
     private String returnMsg;
 
+    public List<EfastOrderItem> getItemList() {
+        return itemList;
+    }
+
+    public void setItemList(List<EfastOrderItem> itemList) {
+        this.itemList = itemList;
+    }
+
+    public String getOrderPostNum() {
+        return orderPostNum;
+    }
+
+    public void setOrderPostNum(String orderPostNum) {
+        this.orderPostNum = orderPostNum;
+    }
+
+    public String getOrderPostFirm() {
+        return orderPostFirm;
+    }
+
+    public void setOrderPostFirm(String orderPostFirm) {
+        this.orderPostFirm = orderPostFirm;
+    }
+
+    public String getOrderDealCode() {
+        return orderDealCode;
+    }
+
+    public void setOrderDealCode(String orderDealCode) {
+        this.orderDealCode = orderDealCode;
+    }
+
     public String getReturnStatus() {
         return returnStatus;
     }

+ 48 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/EfastOrderItem.java

@@ -0,0 +1,48 @@
+package com.iamberry.rst.core.order;
+
+import java.io.Serializable;
+
+/**
+ * efast订单项信息
+ * Created by liuzhiwei on 2017/11/17.
+ */
+public class EfastOrderItem implements Serializable {
+
+    private static final long serialVersionUID = -6322782896641717243L;
+    private Integer itemId;         //id
+    private String itemColorBar;    //产品69码
+    private Integer itemNum;         //产品数量
+    private Integer itemDiscount;   //产品金额
+
+    public Integer getItemId() {
+        return itemId;
+    }
+
+    public void setItemId(Integer itemId) {
+        this.itemId = itemId;
+    }
+
+    public String getItemColorBar() {
+        return itemColorBar;
+    }
+
+    public void setItemColorBar(String itemColorBar) {
+        this.itemColorBar = itemColorBar;
+    }
+
+    public Integer getItemNum() {
+        return itemNum;
+    }
+
+    public void setItemNum(Integer itemNum) {
+        this.itemNum = itemNum;
+    }
+
+    public Integer getItemDiscount() {
+        return itemDiscount;
+    }
+
+    public void setItemDiscount(Integer itemDiscount) {
+        this.itemDiscount = itemDiscount;
+    }
+}

+ 16 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/EfastOrderService.java

@@ -78,4 +78,20 @@ public interface EfastOrderService {
      * @throws Exception
      */
     JSONObject listReturnOrderFormEfast(int pageNo,int pageSize, String date) throws Exception;
+
+    /**
+     * 百胜订单退货
+     * @param efastOrder
+     * @return
+     * @throws Exception
+     */
+    JSONObject returnOrderFormEfast(EfastOrder efastOrder) throws Exception;
+
+    /**
+     * 百胜退单收货
+     * @param efastOrder
+     * @return
+     * @throws Exception
+     */
+    JSONObject receiveOrderFormEfast(EfastOrder efastOrder) throws Exception;
 }

+ 79 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/EfastOrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.iamberry.rst.service.order;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.iamberry.rst.core.order.EfastOrder;
+import com.iamberry.rst.core.order.EfastOrderItem;
 import com.iamberry.rst.core.order.Order;
 import com.iamberry.rst.core.order.OrderItem;
 import com.iamberry.rst.faces.order.EfastOrderService;
@@ -455,4 +456,82 @@ public class EfastOrderServiceImpl implements EfastOrderService {
             return null;
         }
     }
+
+    @Override
+    public JSONObject returnOrderFormEfast(EfastOrder efastOrder) throws Exception {
+        StringBuilder returnDetail = new StringBuilder();
+        if (efastOrder == null) {
+            return null;
+        }
+        if (efastOrder.getItemList() == null || efastOrder.getItemList().size() == 0) {
+            return null;
+        }
+        List<EfastOrderItem> itemList = efastOrder.getItemList();
+        for (int i = 0;i < itemList.size();i++) {
+            EfastOrderItem item = itemList.get(i);
+            returnDetail.append(item.getItemColorBar());
+            returnDetail.append("@");
+            returnDetail.append(item.getItemNum());
+            returnDetail.append("@");
+            returnDetail.append(item.getItemDiscount());
+            returnDetail.append("@");
+            returnDetail.append(efastOrder.getOrderDealCode());
+            if (i < itemList.size() - 1) {
+                returnDetail.append(",");
+            }
+        }
+        // 组装数据
+        Map<String, String> requestData = new HashMap<String, String>();
+        requestData.put("return_shipping_name", efastOrder.getOrderPostFirm());		// 退单物流代码
+        requestData.put("kehu_return_invoice_no", efastOrder.getOrderPostNum());	// 退单物流单号
+        requestData.put("return_type", "2");
+        requestData.put("app_nick", NameUtils.getConfig("app_nick"));
+        requestData.put("app_key", NameUtils.getConfig("app_key"));
+        requestData.put("app_secret", NameUtils.getConfig("app_secret"));
+        requestData.put("timestamp",DateTimeUtil.format(new Date(),"yyyyMMddHHmmss"));
+        requestData.put("app_act", "efast.trade.return");
+        requestData.put("order_sn", efastOrder.getOrderId());
+        requestData.put("return_shipping", "");
+        requestData.put("return_pfje_fee", "");
+        requestData.put("return_other_discount", "");
+        requestData.put("return_pay", "2");
+        requestData.put("return_reason", "");
+        requestData.put("return_desc", "");
+        requestData.put("return_ck", "");
+        requestData.put("return_detail", returnDetail.toString());
+        try {
+            String resultJson = HttpClient431Util.doPost(requestData, NameUtils.getConfig("efast_base_url"));
+            resultJson = StringEscapeUtils.unescapeJava(resultJson);
+            logger.info("return-订单号为:" + efastOrder.getOrderDealCode() + "的订单,百胜返回信息:" + resultJson);
+            JSONObject jsonObject = JSONObject.fromObject(resultJson);
+            JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
+            return respData;
+        } catch (Exception e) {
+            logger.error("return-订单号为:" + efastOrder.getOrderDealCode() + "的订单,发生错误:" + e.getMessage());
+            throw e;
+        }
+    }
+
+    @Override
+    public JSONObject receiveOrderFormEfast(EfastOrder efastOrder) throws Exception {
+        // 组装数据
+        Map<String, String> requestData = new HashMap<String, String>();
+        requestData.put("app_nick", NameUtils.getConfig("app_nick"));
+        requestData.put("app_key", NameUtils.getConfig("app_key"));
+        requestData.put("app_secret", NameUtils.getConfig("app_secret"));
+        requestData.put("app_act", "efast.return_receive");
+        requestData.put("return_sn", efastOrder.getOrderId());
+        requestData.put("timestamp",DateTimeUtil.format(new Date(),"yyyyMMddHHmmss"));
+        try {
+            String resultJson = HttpClient431Util.doPost(requestData, NameUtils.getConfig("efast_base_url"));
+            resultJson = StringEscapeUtils.unescapeJava(resultJson);
+            logger.info("receive-订单号为:" + efastOrder.getOrderDealCode() + "的订单,百胜返回信息:" + resultJson);
+            JSONObject jsonObject = JSONObject.fromObject(resultJson);
+            JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
+            return respData;
+        } catch (Exception e) {
+            logger.error("return-订单号为:" + efastOrder.getOrderDealCode() + "的订单,发生错误:" + e.getMessage());
+            throw e;
+        }
+    }
 }

+ 19 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -1,9 +1,7 @@
 package com.iamberry.rst.controllers.cm;
 
 import com.iamberry.rst.core.cm.*;
-import com.iamberry.rst.core.order.Product;
-import com.iamberry.rst.core.order.ProductColor;
-import com.iamberry.rst.core.order.ProductType;
+import com.iamberry.rst.core.order.*;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.ProcessNode;
 import com.iamberry.rst.core.pts.ProduceProcess;
@@ -33,7 +31,7 @@ import java.util.*;
  * Created by wxm
  */
 @Controller
-@RequestMapping("/admin/customer")
+@RequestMapping("/customer")
 public class AdminCustomerController {
 
     @Autowired
@@ -71,6 +69,23 @@ public class AdminCustomerController {
 
     private Object lock = new Object();
 
+    @RequestMapping("/test_efast")
+    public void testEfast() throws Exception{
+        EfastOrder efastOrder = new EfastOrder();
+        efastOrder.setOrderDealCode("060619392147176-1");
+        efastOrder.setOrderId("706060002366");
+        efastOrder.setOrderPostFirm("yto");
+        efastOrder.setOrderPostNum("sss");
+        List<EfastOrderItem> itemList = new ArrayList<EfastOrderItem>();
+        EfastOrderItem item = new EfastOrderItem();
+        item.setItemNum(1);
+        item.setItemDiscount(1599);
+        item.setItemColorBar("6970465730023");
+        itemList.add(item);
+        efastOrder.setItemList(itemList);
+        efastOrderService.returnOrderFormEfast(efastOrder);
+    }
+
 
     /**
      * 获取客诉列表