Browse Source

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-web/src/main/java/com/iamberry/rst/utils/test.java
#	watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_repair.ftl
wangxiaoming 7 years ago
parent
commit
02f1c43385

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

@@ -48,6 +48,7 @@ public class EfastOrder implements Serializable{
     // 推送状态
     private String returnStatus;
     private String returnMsg;
+    private String platformOrderId;         //平台订单号, 用于推送efast时  导出物流信息
 
     public List<EfastOrderItem> getItemList() {
         return itemList;
@@ -256,4 +257,12 @@ public class EfastOrder implements Serializable{
     public void setRepairSendMergeAddress(String repairSendMergeAddress) {
         this.repairSendMergeAddress = repairSendMergeAddress;
     }
+
+    public String getPlatformOrderId() {
+        return platformOrderId;
+    }
+
+    public void setPlatformOrderId(String platformOrderId) {
+        this.platformOrderId = platformOrderId;
+    }
 }

+ 46 - 26
watero-rst-service/src/main/java/com/iamberry/rst/service/order/EfastOrderServiceImpl.java

@@ -6,11 +6,13 @@ 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.core.pts.PtsBomComponents;
 import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.HttpClient431Util;
 import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.payUtil.StringUtil;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -366,7 +368,7 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 
         Map<String, String> requestData = getRequestData(EFAST_ORDER_SELECT);
         requestData.put("oid", orderid);
-        requestData.put("feilds","order_status,shipping_status,consignee,address,mobile,province,city,district,invoice_no,shipping_name");   //1.order_status 订单状态:0(未确认)1(确认)2(挂起)3(作废)     2.shipping_status发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
+        requestData.put("feilds","order_status,shipping_status,consignee,address,mobile,province,city,district,invoice_no,shipping_name,goods_sn,order_amount,orders.goods_sn,orders.goods_name,orders.goods_number");   //1.order_status 订单状态:0(未确认)1(确认)2(挂起)3(作废)     2.shipping_status发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
 
         try {
             String result = HttpClient431Util.doGet(requestData, EFAST_BASE_URL);
@@ -380,32 +382,50 @@ public class EfastOrderServiceImpl implements EfastOrderService {
             // parse JSON String to Object
             JSONObject jsonObject = JSONObject.fromObject(result);
             JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
-            // 发货状态 : shipping_status
-            String shoppingStatus = respData.getString("shipping_status");
-            String shoppingOrderId = respData.getString("order_id");
-            String consignee = respData.getString("consignee");//收货人
-            String address = respData.getString("address");//收货地址
-            String mobile = respData.getString("mobile");//手机号
-            String province = respData.getString("province");//省
-            String city = respData.getString("city");//市
-            String district = respData.getString("district");//区
-            String invoice_no = respData.getString("invoice_no");//快递单号
-            String shipping_name = respData.getString("shipping_name");//快递公司
 
-            if(StringUtils.isNotEmpty(shoppingStatus)){
-                EfastOrder efastOrder = new EfastOrder();
-                efastOrder.setOrderStatus(Integer.parseInt(shoppingStatus));
-                efastOrder.setOrderId(shoppingOrderId);
-                efastOrder.setOrderAddressName(consignee);
-                efastOrder.setOrderAddress(address);
-                efastOrder.setOrderAddressTel(mobile);
-                efastOrder.setOrderProvince(province);
-                efastOrder.setOrderCity(city);
-                efastOrder.setOrderArea(district);
-                efastOrder.setOrderPostNum(invoice_no);
-                efastOrder.setOrderPostFirm(shipping_name);
-                efastOrder.setRepairSendMergeAddress(province+"-"+city+"-"+district);
-                return efastOrder;
+            // 在此处做判断,包含字段的话再继续从JSON中获取code字段的内容
+            if(respData.has("code")){
+                String code = respData.getString("code");
+                return new EfastOrder();
+            }else{
+                // 发货状态 : shipping_status
+                String shoppingStatus = respData.getString("shipping_status");
+                String shoppingOrderId = respData.getString("order_id");
+                String consignee = respData.getString("consignee");//收货人
+                String address = respData.getString("address");//收货地址
+                String mobile = respData.getString("mobile");//手机号
+                String province = respData.getString("province");//省
+                String city = respData.getString("city");//市
+                String district = respData.getString("district");//区
+                String invoice_no = respData.getString("invoice_no");//快递单号
+                String shipping_name = respData.getString("shipping_name");//快递公司
+
+                String goods_name = "";
+                String goods_number = "";
+                JSONArray citys= respData.getJSONArray("orders");
+                for(int i=0;i<citys.size();i++){
+                    JSONObject orderJson = JSONObject.fromObject(citys.get(i));
+                    goods_name = orderJson.getString("goods_name");
+                    goods_number = orderJson.getString("goods_number");
+                }
+
+                if(StringUtils.isNotEmpty(shoppingStatus)){
+                    EfastOrder efastOrder = new EfastOrder();
+                    efastOrder.setOrderStatus(Integer.parseInt(shoppingStatus));
+                    efastOrder.setOrderId(shoppingOrderId);
+                    efastOrder.setOrderAddressName(consignee);
+                    efastOrder.setOrderAddress(address);
+                    efastOrder.setOrderAddressTel(mobile);
+                    efastOrder.setOrderProvince(province);
+                    efastOrder.setOrderCity(city);
+                    efastOrder.setOrderArea(district);
+                    efastOrder.setOrderPostNum(invoice_no);
+                    efastOrder.setOrderPostFirm(shipping_name);
+                    efastOrder.setRepairSendMergeAddress(province+"-"+city+"-"+district);
+                    efastOrder.setOrderProductName(goods_name);
+                    efastOrder.setOrderNum(Integer.valueOf(goods_number));
+                    return efastOrder;
+                }
             }
             logger.error("rst-获取百胜出错,订单号-->>" + orderid + ",百胜返回信息-->" + result);
             throw new Exception(respData.getString("msg"));

File diff suppressed because it is too large
+ 514 - 274
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java


+ 9 - 1
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -241,6 +241,9 @@ public class ExcelUtil {
     }
 
 
+
+
+
     /**
      * 读取Excel内容
      * 不去除重复
@@ -304,7 +307,7 @@ public class ExcelUtil {
 
 
     public static List<EfastOrder> readCell(String filePath, String productName, String[] maps,
-                                            String[] infos, String tel, String name, String num,
+                                            String[] infos, String tel, String name,String platformOrder, String num,
                                             Map<String, ProductColor> price, String postType, String shopId)
             throws IOException {
         Map<String, String> map = new HashMap<>();
@@ -334,6 +337,7 @@ public class ExcelUtil {
 
         // 获取第一行的数据,匹配到表头
         int nameColumnIndex = -1;
+        int platformOrderColumnIndex = -1;
         int telColumnIndex = -1;
         int productColumnIndex = -1;
         int numColumnIndex = -1;
@@ -348,6 +352,9 @@ public class ExcelUtil {
             if (name.equals(cell.getStringCellValue().trim())) {
                 // 匹配姓名列
                 nameColumnIndex = cell.getColumnIndex();
+            } else if (platformOrder.equals(cell.getStringCellValue().trim())) {
+                // 匹配电话
+                platformOrderColumnIndex = cell.getColumnIndex();
             } else if (tel.equals(cell.getStringCellValue().trim())) {
                 // 匹配电话
                 telColumnIndex = cell.getColumnIndex();
@@ -381,6 +388,7 @@ public class ExcelUtil {
             try {
                 EfastOrder order = new EfastOrder();
                 order.setOrderAddressName(getValue(temp.getCell(nameColumnIndex)));                        // 读取name
+                order.setPlatformOrderId(getValue(temp.getCell(platformOrderColumnIndex)));                 //读取平台id
                 String userTel = getValue(temp.getCell(telColumnIndex)).trim();
                 // 如果手机号码校验不通过,则应该不录入
                 if (!ValidateUtil.checkMobile(userTel)) {

+ 22 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/order/excel_to_order.ftl

@@ -23,6 +23,14 @@
         </thead>
         <tbody>
             <tr class="text-c">
+                <td>平台订单编号</td>
+                <td>
+                <#list heads as head>
+                    <label><input type="radio" value="${head}" class="addr-platformOrders" name="addr-platformOrders"/>${head}</label>
+                </#list>
+                </td>
+            </tr>
+            <tr class="text-c">
                 <td>收货人姓名</td>
                 <td>
                     <#list heads as head>
@@ -123,7 +131,10 @@
                 <div class="modal-body">
                     <b style="margin-bottom: 10px">
                         <p>共<span id="order_total"></span>个订单,失败<span style="color: red;" id="order_fault_num"></span>个</p>
-                        <p>总数不对?&nbsp;&nbsp;<button class="btn btn-primary radius" onclick="check_fault()">查看校验失败内容</button></p>
+                        <p>总数不对?
+                            &nbsp;&nbsp;<button class="btn btn-primary radius" onclick="check_fault()">查看校验失败内容</button>
+                            &nbsp;&nbsp;<a href="" style="background: #5A98DE;color: #fff;width: 85px;border-radius: 3px;text-align: center;padding: 6px;text-decoration: none;" id="downloadOrderIdTxt" download="Efast交易号">保存交易号</a>
+                        </p>
                     </b>
                     <table class="table table-border table-bordered table-bg" style="margin-top: 10px;">
                         <thead>
@@ -197,6 +208,12 @@
             mapArray[i] = map[i].value;
         }
 
+        var platformOrders = $(".addr-platformOrders:checked");                 // 订单编号
+        var platformOrdersArray = new Array();
+        for (var i = 0; i < platformOrders.length; i++) {
+            platformOrdersArray[i] = platformOrders[i].value;
+        }
+
         var name = $(".addr-name:checked");                 // 用户名称列
         var nameArray = new Array();
         for (var i = 0; i < name.length; i++) {
@@ -226,6 +243,7 @@
         $.post(root_path + "/admin/order/toobj_sendefast",{
                 "filePath":$("#productUrl").val(),
                 "map":mapArray,
+                "platformOrder" : platformOrdersArray,
                 "name":nameArray,
                 "productName":productName.val(),
                 "tel":telArray,
@@ -264,6 +282,9 @@
                 $("#order_total").text(list.length);
                 $("#order_fault_num").text(faultNum);
                 modaldemo();
+
+                var fileName = result.returnMsg.fileName;
+                $("#downloadOrderIdTxt").attr("href",root_path + "/" +fileName);
             }
         });
     }

+ 21 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/order/list.ftl

@@ -54,6 +54,9 @@
         <span class="l">
             <button onClick="upFiles();" class="btn radius" style="background: #32a3d8;color: #fff;" type="submit"><i class="Hui-iconfont">&#xe632;</i> 上传Excel(仅支持XLS类型)</button>
         </span>
+        <span class="l">
+            <button onClick="downloadOrder();" class="btn radius" style="background: #32a3d8;color: #fff;" type="button"><i class="Hui-iconfont">&#xe640;</i> 下载订单</button>
+        </span>
     </div>
     <table class="table table-border table-bordered table-hover">
         <thead>
@@ -182,6 +185,8 @@
 <script type="text/javascript" src="${path}/common/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script>
 <script type="text/plain" id="upload_ue"></script>
 <script type="text/javascript">
+    /*判断上传类型 1:上传excel推送订单   2:下载订单 */
+    var editorType;
     var _editor;
     $(function() {
         //重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件
@@ -201,8 +206,12 @@
             //侦听文件上传,取上传文件列表中第一个上传的文件的路径
             _editor.addListener('afterUpfile', function (t, arg) {
                 console.log(arg[0].url);
-                window.location.href=root_path + '/admin/order/upload_excel?file='+arg[0].url;
-                $("#file").attr("value", _editor.options.filePath + arg[0].url);
+                if(editorType == 1){
+                    window.location.href=root_path + '/admin/order/upload_excel?file='+arg[0].url;
+                    $("#file").attr("value", _editor.options.filePath + arg[0].url);
+                }else{
+                    window.location.href=root_path + '/admin/order/download_excel?file='+arg[0].url;
+                }
             });
         });
     });
@@ -215,6 +224,14 @@
     function upFiles() {
         var myFiles = _editor.getDialog("attachment");
         myFiles.open();
+        editorType = 1;
+    }
+
+    /*  交易号文件上传 */
+    function downloadOrder(){
+        var myFiles = _editor.getDialog("attachment");
+        myFiles.open();
+        editorType = 2;
     }
 
     /*管理员-更换滤芯*/
@@ -286,6 +303,8 @@
             layer.msg('已启用!', {icon: 6,time:1000});
         });
     }
+
+
 </script>
 </body>
 </html>