Wan Xin 9 роки тому
батько
коміт
dd887b55dc

+ 92 - 5
data/logic/delivery.logic.php

@@ -1,7 +1,94 @@
 <?php
 /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2015/12/22
- * Time: 13:56
- */
+ * 物流推送
+ *
+ *
+ *
+ *
+ * by Jeff Wan
+ */
+
+defined('InShopNC') or exit('Access Invalid!');
+class deliveryLogic {
+    private static $appURL = '';
+
+    private static $appkey = '';
+    private static $appPassWord = '';
+
+    private function _getSign($data){
+        return md5(self::$appkey . self::$appPassWord . json_encode($data));
+    }
+
+    public function putOrder($pay_sn, $trade_no) {
+        $order_list = Model('order')->getNormalOrderList(array('pay_sn'=> $pay_sn), $this->page, '*', 'order_id desc', '', array('order_address', 'order_goods'));
+        $delivery_order_list = array();
+        foreach ($order_list as $order_info) {
+            if ($order_info['order_state'] === '20') {
+                $delivery_order = array();
+                $delivery_order['tid'] = $order_info['order_sn'];
+                $delivery_order['total_fee'] = $order_info['order_amount'];
+                $delivery_order['discount_fee'] = ''; //待运营有折扣活动需计算优惠金额
+                $delivery_order['post_fee'] = $order_info['shipping_fee'];
+                $delivery_order['created'] = date('Y-m-d H:i:s', $order_info['add_time']);
+                $delivery_order['pay_time'] = date('Y-m-d H:i:s',$order_info['payment_time']);
+                $delivery_order['buyer_message'] = '';
+                $delivery_order['express_code'] = '';
+                $delivery_order['pay_account_type'] = $order_info['payment_code'] == 'wxpay' ? '微信支付': '支付宝';
+                $delivery_order['pay_account_id'] = '';
+                $delivery_order['pay_account_no'] = $trade_no;
+                $delivery_order['buyer_nick'] = $order_info['buyer_name'] === 'anonymous' ? 'anonymous'.'_'. $order_info['buyer_id'] : $order_info['buyer_name'];
+                $delivery_order['buyer_email'] = $order_info['buyer_email'];
+                $delivery_order['trade_memo'] = '';
+                $delivery_order['receiver_name'] = $order_info['reciver_name'];
+                $delivery_area =  explode(' ', $order_info['reciver_info']['area']);
+                $delivery_order['receiver_state'] = $delivery_area[0];
+                $delivery_order['receiver_city'] = $delivery_area[1];
+                $delivery_order['receiver_district'] = $delivery_area[2];
+                $delivery_order['receiver_address'] = $order_info['reciver_info']['street'];
+                $delivery_order['receiver_zip'] = '000000';
+                $delivery_order['receiver_mobile'] = $order_info['reciver_info']['mob_phone'];
+                $delivery_order['receiver_phone'] = $order_info['reciver_info']['tel_phone'];
+                $delivery_order['order_size'] = count($order_info['extend_order_goods']);
+                $delivery_order['orderList'] = array();
+                foreach($order_info['extend_order_goods'] as $key => $goods){
+                    $delivery_goods = array();
+                    $delivery_goods['oid'] =  $order_info['order_sn'] . $key;
+                    $delivery_goods['tid'] =  $order_info['order_sn'];
+                    $delivery_goods['title'] =  $goods['goods_name'];
+                    $delivery_goods['price'] =  $goods['goods_price'];
+                    $delivery_goods['num'] =  $goods['goods_num'];
+                    $goods_serial = Model('goods')->getGoodsInfo(array('goods_id'=>$goods['goods_id']));
+                    $delivery_goods['outer_sku_id'] = $goods_serial['goods_serial'];
+                    $delivery_goods['outer_sku_properties_name'] = $goods['goods_name'];
+                    $delivery_goods['buyer_nick'] = $order_info['buyer_name'] === 'anonymous' ? 'anonymous'.'_'. $order_info['buyer_id'] : $order_info['buyer_name'];
+                    array_push($delivery_order['orderList'] , $delivery_goods);
+                }
+                array_push($delivery_order_list, $delivery_order);
+            }
+        }
+        $data = array('type' => 'PUT_TRADE', 'data' => $delivery_order_list);
+        $sign = $this->_getSign($data);
+        $result =  json_decode($this->_postData($sign, json_encode($data)));
+        return $result['data'][0];
+    }
+
+    private function _postData($sign, $data_json){
+        $postData = array();
+        $postData['v_appkey'] = self::$appkey;
+        $postData['v_sign'] = $sign;
+        $postData['data'] = $data_json;
+        $encodeData = "" ;
+        foreach ( $postData as $k => $v )
+        {
+            $encodeData .= " $k = " . urlencode ( $v ) . " & " ;
+        }
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
+        curl_setopt($ch, CURLOPT_POST, TRUE);
+        curl_setopt($ch, CURLOPT_POSTFIELDS, substr ( $encodeData , 0 ,- 1 ) );
+        curl_setopt($ch, CURLOPT_URL, self::$appURL);
+        $ret = curl_exec($ch);
+        curl_close($ch);
+        return $ret;
+    }
+}

+ 11 - 0
data/model/invoice.model.php

@@ -51,6 +51,17 @@ class invoiceModel extends Model {
     }
 
     /**
+     * 编辑发票信息
+     *
+     * @param unknown_type $condition
+     * @param unknown_type $data
+     * @return unknown
+     */
+    public function editInv($condition, $data){
+        return $this->where($condition)->update($data);
+    }
+
+    /**
      * 新增发票信息
      *
      * @param unknown_type $data

+ 19 - 0
mobile/control/member_invoice.php

@@ -71,6 +71,25 @@ class member_invoiceControl extends mobileMemberControl {
     }
 
     /**
+     * 发票信息添加
+     */
+    public function invoice_editOp() {
+        $model_invoice = Model('invoice');
+
+        $condition = array();
+        array_push($condition, array('inv_id' => $_POST['inv_id']));
+
+        $data = array();
+        $data['inv_title'] = $_POST['inv_title'];
+        $result = $model_invoice->editInv($condition, $data);
+        if($result) {
+            joutput_data(array('result' => 1));
+        } else {
+            joutput_error(errcode::ErrInvoice, '添加失败');
+        }
+    }
+
+    /**
      * 发票内容列表
      */
     public function invoice_content_listOp() {