Browse Source

express query

stanley-king 9 years ago
parent
commit
0c97ac58b3

+ 1 - 1
core/framework/core/base.php

@@ -43,7 +43,7 @@ final class Base
         session_destroy();
     }
     
-    public static function run_test()
+    public static function run_util()
     {
        	self::cp();
 		global $setting_config;

+ 5 - 4
data/model/cache.model.php

@@ -5,10 +5,11 @@
  *
  *
  *
- 
  */
+
 defined('InShopNC') or exit('Access Invalid!');
-class cacheModel extends Model {
+class cacheModel extends Model
+{
 
 	public function __construct(){
 		parent::__construct();
@@ -87,8 +88,8 @@ class cacheModel extends Model {
 	 *
 	 * @return array
 	 */
-	private function _express(){
-	    $fields = 'id,e_name,e_code,e_letter,e_order,e_url,e_zt_state';
+	private function _express() {
+	    $fields = 'id,e_name,e_code,e_kdn_code,e_oms_code,e_letter,e_order,e_url,e_zt_state';
 		$list = $this->table('express')->field($fields)->order('e_order,e_letter')->where(array('e_state'=>1))->limit(false)->select();
 		if (!is_array($list)) return null;
 		$array = array();

+ 15 - 2
data/model/order.model.php

@@ -8,8 +8,8 @@
  
  */
 defined('InShopNC') or exit('Access Invalid!');
-class orderModel extends Model {
-
+class orderModel extends Model
+{
     /**
      * 取单条订单信息
      *
@@ -574,4 +574,17 @@ class orderModel extends Model {
         return $this->getOrderAndOrderGoodsList($condition, $field, $page, $order);
     }
 
+    public function setOrderDelivery($order_sn,$express_id,$shipper_code,$ship_time)
+    {
+        $items = $this->table('order')->field('order_id')->where(array('order_sn' => $order_sn))->select();
+        if(empty($items) || count($items) == 0) {
+            return false;
+        } else {
+            $order_id = $items[0]['order_id'];
+        }
+
+        $f1 = $this->table('order_common')->where(array('order_id' => $order_id))->update(array('shipping_express_id' => $express_id,'shipping_time' => $ship_time));
+        $f2 = $this->table('order')->where(array('order_id' => $order_id))->update(array('order_state' => ORDER_STATE_SEND,'shipping_code' => $shipper_code));
+        return ($f1 && $f2);
+    }
 }

+ 1 - 1
mobile/alipay_notify_url.php

@@ -17,7 +17,7 @@ $alipayNotify = new AlipayNotify($alipay_config);
 $verify_result = $alipayNotify->verifyReturn();
 Log::record("verify_result={$verify_result}, out_trade_no={$out_trade_no}", Log::DEBUG);
 
-echo("Content-Type: text/plain; charset=UTF-8\r\n\r\n");
+fcgi_header("Content-Type: text/plain; charset=UTF-8\r\n\r\n");
 
 Log::record("ali post data:{$_SERVER['original_querystring']}",Log::DEBUG);
 

+ 44 - 18
mobile/control/member_order.php

@@ -188,10 +188,10 @@ class member_orderControl extends mbMemberControl
      */
     public function order_receiveOp()
     {
-//        $token = trim($_GET['key']);
-//        if (false == $this->checkToken($token)) {
-//            return joutput_error($this->err_code);
-//        }
+        $token = trim($_GET['key']);
+        if (false == $this->checkToken($token)) {
+            return joutput_error($this->err_code);
+        }
 
         $model_order = Model('order');
         $order_id = intval($_POST['order_id']);
@@ -219,14 +219,31 @@ class member_orderControl extends mbMemberControl
      */
     public function search_deliverOp()
     {
-//        $token = trim($_GET['key']);
-//        if (false == $this->checkToken($token)) {
-//            return joutput_error($this->err_code);
-//        }
+        $html_type = "html";
+        $cur_type = $html_type;
+
+        $token = trim($_GET['key']);
+        if (false == $this->checkToken($token))
+        {
+            if($cur_type == $html_type) {
+                Tpl::output('query_statu', false);
+                Tpl::showpage('express_info');
+                return;
+            } else {
+                return joutput_error($this->err_code);
+            }
+        }
 
         $order_id = intval($_POST['order_id']);
-        if ($order_id <= 0) {
-            return joutput_error(errcode::ErrOrder, '订单不存在');
+        if ($order_id <= 0)
+        {
+            if($cur_type == $html_type) {
+                Tpl::output('query_statu', false);
+                Tpl::showpage('express_info');
+                return;
+            } else {
+                return joutput_error(errcode::ErrOrder, '订单不存在');
+            }
         }
 
         $model_order = Model('order');
@@ -234,22 +251,30 @@ class member_orderControl extends mbMemberControl
         $condition['buyer_id'] = $this->member_info['member_id'];
         $order_info = $model_order->getOrderInfo($condition, array('order_common', 'order_goods'));
 
-        if (empty($order_info) || !in_array($order_info['order_state'], array(ORDER_STATE_SEND, ORDER_STATE_SUCCESS))) {
-            return joutput_error(errcode::ErrOrder, '订单不存在');
+        if (empty($order_info) || !in_array($order_info['order_state'], array(ORDER_STATE_SEND, ORDER_STATE_SUCCESS)))
+        {
+            if($cur_type == $html_type) {
+                Tpl::output('query_statu', false);
+                Tpl::showpage('express_info');
+                return;
+            } else {
+                return joutput_error(errcode::ErrOrder, '订单不存在');
+            }
         }
 
         $express = rkcache('express', true);
-        $e_code = $express[$order_info['extend_order_common']['shipping_express_id']]['e_code'];
+        $e_code = $express[$order_info['extend_order_common']['shipping_express_id']]['e_kdn_code'];
         $e_name = $express[$order_info['extend_order_common']['shipping_express_id']]['e_name'];
 
         $key = "express_" . $order_info['shipping_code'];
         $deliver_info = rkcache($key);
-        if (empty($deliver_info)) {
+        if (empty($deliver_info))
+        {
             $deliver_info = $this->getOrderTracesByJson($e_code, $order_info['shipping_code']);
-            //$deliver_info = $this->getOrderTracesByJson('STO', '3304699247030');
-            //$deliver_info = $this->_get_express($e_code, $order_info['shipping_code']);
-            //$deliver_info = $this->getOrderTracesByJson($e_code,$order_info['shipping_code']);
-            if ($deliver_info === false) {
+            if ($deliver_info === false)
+            {
+                Tpl::output('query_statu', false);
+                Tpl::showpage('express_info');
                 return;
             }
             wkcache($key, $deliver_info, 3600);
@@ -272,6 +297,7 @@ class member_orderControl extends mbMemberControl
                 break;
         }
 
+        Tpl::output('query_statu', true);
         Tpl::output('msg_statu', $msg);
         Tpl::output('LogisticCode', $deliver_info['LogisticCode']);
         Tpl::output('routes', $routes);

+ 12 - 12
mobile/dispatch_notify.php

@@ -6,18 +6,21 @@
  * Time: 上午10:22
  */
 
-echo("Content-Type: text/plain; charset=UTF-8\r\n\r\n");
+//tid-订单号,status-1,consign_time-发货时间,logistics_no-快递流水,logistics_company-快递公司
+fcgi_header("Content-Type: text/plain; charset=UTF-8");
 
 try
 {
-    //tid-订单号,status-1,consign_time-发货时间,logistics_no-快递流水,logistics_company-快递公司
     $order_sn = trim($_POST['tid']);
     $status = intval($_POST['status']);
-    //$consign_time = $_POST['consign_time'];
+    $consign_time = urldecode(trim($_POST['consign_time']));
+    $ship_time = strtotime($consign_time);
     $logistics_no = trim($_POST['logistics_no']);
     $logistics_company = $_POST['logistics_company'];
 
-    $express = Model('express')->field('id')->where(array('e_code' => $logistics_company))->select();
+    Log::record("dispatch notify value: order_sn = {$order_sn},status={$status},consign_time = {$consign_time} logistics_no = {$logistics_no} logistics_company = {$logistics_company}.",Log::DEBUG);
+
+    $express = Model('express')->field('id')->where(array('e_oms_code' => $logistics_company))->select();
     if(empty($express) || count($express) == 0) {
         echo 'FAIL';
         return;
@@ -25,18 +28,14 @@ try
 
     $shipping_express_id = $express[0]['id'];
 
-    Log::record("dispatch notify value: order_sn = {$order_sn},status={$status},consign_time = {$consign_time} logistics_no = {$logistics_no} logistics_company = {$logistics_company}.",Log::DEBUG);
-
     $remote_addr = $_SERVER['REMOTE_ADDR'];
 
     if(!empty($order_sn) && !empty($logistics_no))
     {
         if($status == 1)
         {
-            //,'shipping_time' => )
-            Model()->table('order_common')->where(array('order_sn' => $order_sn))->update(array('shipping_express_id' => $shipping_express_id));
-            $ret = Model()->table('order')->where(array('order_sn' => $order_sn))->update(array('order_state' => ORDER_STATE_SEND,'shipping_code' => $logistics_no));
-
+            $order = Model('order');
+            $ret = $order->setOrderDelivery($order_sn,$shipping_express_id,$logistics_no,$ship_time);
             if($ret) {
                 echo 'SUCCESS';
             } else {
@@ -51,8 +50,9 @@ try
     {
         echo 'FAIL';
     }
-
-} catch (WxPayException $e){
+}
+catch (WxPayException $e)
+{
     Log::record($e->errorMessage(),Log::ERR);
     echo 'AGAIN';
 }

+ 24 - 19
mobile/templates/default/express_info.php

@@ -11,26 +11,31 @@
     <link rel="stylesheet" type="text/css" href="<?php echo RESOURCE_SITE_URL; ?>/css/mobile/express.css">
 </head>
 <body>
-<header>
-    <div class="status">
-        <p class="wl_status">物流状态<span class="status_1"><?php echo $output['msg_statu']; ?></span></p>
-        <p>运单号:<span class="number"><?php echo $output['LogisticCode']; ?></span></p>
-    </div>
-</header>
-<article>
-    <div class="rote "></div>
-    <div class="list_box">
-        <div class="list">
-            <?php foreach($output['routes'] AS $info){ ?>
-            <div class="msg">
-                <p><?php echo $info['AcceptStation']; ?></p>
-                <p class="time"><?php echo $info['AcceptTime']; ?></p>
-                <div class="dian"></div>
+    <?php if($output['query_statu'] == true) { ?>
+        <header>
+            <div class="status">
+                <p class="wl_status">物流状态<span class="status_1"><?php echo $output['msg_statu']; ?></span></p>
+                <p>运单号:<span class="number"><?php echo $output['LogisticCode']; ?></span></p>
             </div>
-            <?php } ?>
-        </div>
-    </div>
-</article>
+        </header>
+
+        <article>
+            <div class="rote "></div>
+            <div class="list_box">
+                <div class="list">
+                    <?php foreach($output['routes'] AS $info){ ?>
+                    <div class="msg">
+                        <p><?php echo $info['AcceptStation']; ?></p>
+                        <p class="time"><?php echo $info['AcceptTime']; ?></p>
+                        <div class="dian"></div>
+                    </div>
+                    <?php } ?>
+                </div>
+            </div>
+        </article>
+    <?php } else { ?>
+        <div class="error"></div>
+    <?php } ?>
 
     <script src="<?php echo RESOURCE_SITE_URL; ?>/js/mobile/zepto.min.js"></script>
     <script type="text/javascript">

+ 1 - 1
mobile/wxnotify.php

@@ -47,7 +47,7 @@ if(empty($log)) {
 //<transaction_id><![CDATA[1002150763201512142078937308]]></transaction_id>
 //</xml>';
 
-echo("Content-Type: text/html; charset=UTF-8\r\n\r\n");
+fcgi_header("Content-Type: text/html; charset=UTF-8");
 
 try
 {