Browse Source

Merge branch 'test' of git.oschina.net:yiguanjia/php into test

洪海涛 8 years ago
parent
commit
15b0cbe738

+ 1 - 0
www/protected/config/main.php

@@ -28,6 +28,7 @@ return array(
            'application.modules.o2o.models.*',
            'application.extensions.phpexcel.*',
 
+
     ),
 
     'modules'=>array(

+ 52 - 10
www/protected/controllers/ROrderController.php

@@ -1,7 +1,7 @@
 <?php
 class ROrderController extends AdminController{
 
-    public function actionIndex()
+    public function actionIndex1()
     {
         $status_option = ROrder::$status_option;
         $status = CommonFn::getComboboxData($status_option, 100, true, 100);
@@ -357,22 +357,16 @@ class ROrderController extends AdminController{
                 $res = self::DelOrder((string)$order->_id);
             }
         }else if($order->channel == 'jingbai'){
-            if ($status == 1) {//已支付
-                $res = self::UpdateStatus((string)$order->_id, 5);
-            } else if($status ==3){//已接单
-                $res = self::UpdateStatus((string)$order->_id, 15);
+           if($status ==3){//已接单
+                $res = self::UpdateStatusForJingBai($order->OrderNo,(string)$order->_id, $status,$order->remark);
             }else if($status ==6){//服务完成
-                $res = self::UpdateStatus((string)$order->_id, 20);
-            }else if($status ==-1){//取消订单
-                $res = self::DelOrder((string)$order->_id);
+                $res = self::UpdateStatusForJingBai($order->OrderNo,(string)$order->_id, $status,$order->remark);
             }
         }
 
         if (!$res) {
             CommonFn::requestAjax(false,'修改失败');
         }
-        //
-
         $arr_order = array('cancel_time','refund_time','finish_time','status','booking_time','deal_time','remark', 'station', 'technicians');
         $success = $order->save(true,$arr_order);
         $char = false;
@@ -862,6 +856,54 @@ class ROrderController extends AdminController{
             return false;
         }
 
+    }
+    //更新订单状态
+    /**
+     * @param $orderId  => order->orderNo
+     * @param $status  "00" 为创建订单,"01"为服务派单,"02"为服务完成
+     * @param $HouseKeepingId 巾帼园自己的订单号 对应order->_id
+     * @param $remark 订单备注
+     * Sign 计算方法:OrderId+ StatusCode+ Remark+ HouseKeepingId+ Time+KEY 然后计算md5 值 KEY为巾帼园的key值
+     * @return bool
+     */
+    public function UpdateStatusForJingBai($orderId,$HouseKeepingId,$status,$remark){
+
+        $key = Yii::app()->params['JingBai'];
+        $data['OrderId'] = $orderId;
+        $data['HouseKeepingId']     = $HouseKeepingId;
+        $data['Remark'] = $remark;
+       if ($status == 3){//已接单
+           $data['StatusCode'] = '01';
+       } else if($status == 6){//已完成
+           $data['StatusCode'] = '02';
+       }
+
+        $data['Time'] = date('Y-m-d H:i:s');
+        $data['Sign'] = md5($data['OrderId'].$data['StatusCode'].$data['Remark'].$data['HouseKeepingId'].$data['Time'].$key);
+
+        $dat = '';
+        foreach ($data as $key => $value) {
+            $dat .= $key.'='.urlencode($value).'&';
+        }
+        $dat = rtrim(trim($dat),'&');
+
+        $url = 'http://139.196.47.211:9030/ServiceController/SetHouseKeepingStatus';  //调用接口的平台服务地址
+
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false);
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_POST, 1);
+        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
+        curl_setopt($ch, CURLOPT_POSTFIELDS, $dat);
+        $result = curl_exec($ch);
+        curl_close($ch);
+        $res = json_decode($result,true);
+        if ($res['ReturnCode'] == '00'){
+            return true;
+        } else {
+            return false;
+        }
+
     }
     public function actionOutputExcel(){
         $data = ROrder::model()->findAll();   //

+ 68 - 0
www/protected/controllers/TestController.php

@@ -0,0 +1,68 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: PHP
+ * Date: 2016/12/15
+ * Time: 13:13
+ */
+
+
+Yii::import('application.vendor.qiniu.src.Qiniu.*',1);
+class  TestController extends AdminController {
+
+
+    public function actionIndex()
+    {
+        $accessKey = 'Kn8GNMFOLKTNMUaKZ6r1wnjsgTk4ideQifK3umUr';
+        $secretKey = 'mLtD4GhBjQt_llcgx4rKlhAts9j8iJ0Qa5VmNyi2';
+        $auth = new Qiniu\Auth($accessKey, $secretKey);
+        var_dump($secretKey);exit;
+        $bucket = 'video';
+        $key = 'af_055bd00624e2981480363953002.mp4';
+        $pfop = new PersistentFop($auth, $bucket);
+
+        $fops = "?vframe/jpg/offset/1";
+
+        list($id, $error) = $pfop->execute($key, $fops);
+        echo "2";
+        var_dump($id);
+        $this->assertNull($error);
+        list($status, $error) = PersistentFop::status($id);
+        $this->assertNotNull($status);
+        $this->assertNull($error);
+    }
+
+    public function actionIndex1(){
+        $accessKey = 'H1mZo5YAluX1n3Ic_gWFzQFAty0DedVK24gYWbvq';
+        $secretKey = 'Kod0wn_TWOAzFe4WJedhvVHu2CzRC_R3GtpRTPiV';
+        $auth = new Qiniu\Auth($accessKey, $secretKey);
+
+        //要转码的文件所在的空间和文件名
+        $bucket = 'video';
+        $key = 'af_055bd00624e2981480363953002.mp4';
+
+        //转码是使用的队列名称
+        $pipeline = '';
+        $pfop = new PersistentFop($auth, $bucket, $pipeline);
+
+        //要进行转码的转码操作
+        $fops = "vframe/jpg/offset/1";
+
+        list($id, $err) = $pfop->execute($key, $fops);
+        echo "\n====> pfop avthumb result: \n";
+        if ($err != null) {
+            var_dump($err);
+        } else {
+            echo "PersistentFop Id: $id\n";
+        }
+
+        //查询转码的进度和状态
+        list($ret, $err) = $pfop->status($id);
+        echo "\n====> pfop avthumb status: \n";
+        if ($err != null) {
+            var_dump($err);
+        } else {
+            var_dump($ret);
+        }
+    }
+}

+ 1 - 0
www/protected/modules/o2o/O2oModule.php

@@ -6,6 +6,7 @@ class O2oModule extends CWebModule
         $this->setImport(array(
             'o2o.controllers.*',
             'o2o.components.*',
+
         ));
     }
 }

+ 33 - 3
www/protected/modules/o2o/controllers/JingBaiController.php

@@ -221,7 +221,7 @@ class JingBaiController extends O2oBaseController
         $name = Yii::app()->getRequest()->getParam('ExpectedMotherName','');
         $mobile = Yii::app()->getRequest()->getParam('Mobile','');
         $address = Yii::app()->getRequest()->getParam('Address','');
-        $extra = Yii::app()->getRequest()->getParam('extra','');
+        $extra = json_decode(Yii::app()->getRequest()->getParam('extra',''),true);
         $memo = Yii::app()->getRequest()->getParam('Memo','');
         $areaId = intval(Yii::app()->getRequest()->getParam('areaId'));
         $count = intval(Yii::app()->getRequest()->getParam('Quantity',''));
@@ -229,12 +229,40 @@ class JingBaiController extends O2oBaseController
         $booking_time = Yii::app()->getRequest()->getParam('AppointmentTime','');
         $invoice = intval(Yii::app()->getRequest()->getParam('invoice',0));//默认不需要
         $invoice_price = floatval(Yii::app()->getRequest()->getParam('invoicePrice',0));//发票价格
+        if (!CommonFn::isMongoId($ProductId)){
+            echo '
+            {
+                "code" : "1001",
+                "message": "Productid错误"
+            }
+            ';
+            die();
+        }
+
         //参数不能为空
-        if (empty($OrderNo) || empty($ProductId) ||empty($name) ||empty($mobile) ||empty($address)  ||empty($memo) ||empty($count) ||empty($finalPrice) ||empty($booking_time) ) {
+        if (empty($OrderNo) || empty($ProductId) ||empty($name) ||empty($mobile) ||empty($address)   ||empty($count) ||empty($finalPrice) ||empty($booking_time) ) {
+            if(empty($OrderNo)){
+                $tmp = 'orderNo';
+            } else if(empty($ProductId)){
+                $tmp = 'ProductId';
+            }else if(empty($name)){
+                $tmp = 'ExpectedMotherName';
+            }else if(empty($mobile)){
+                $tmp = 'Mobile';
+            }else if(empty($address)){
+                $tmp = 'Address';
+            }else if(empty($count)){
+                $tmp = 'Quantity';
+            }else if(empty($finalPrice)){
+                $tmp = 'Price';
+            }else if(empty($booking_time)){
+                $tmp = 'AppointmentTime';
+            }
+
             echo '
             {
                "code": "10001",
-                "message": "缺少参数,请检查"
+                "message": "缺少参数,请检查'.$tmp.'"
             }
             ';
             die();
@@ -253,6 +281,8 @@ class JingBaiController extends O2oBaseController
             $extra =array();
             $products[0]['extra'] = (object)$extra;
         }
+
+
         $rOrder->products     = $products;
         if (isset($extra['price'])) {
             $rOrder->price = floatval($extra['price']);

+ 1 - 0
www/protected/vendor/qiniu/php-sdk/tests/Qiniu/Tests/PfopTest.php

@@ -18,6 +18,7 @@ class PfopTest extends \PHPUnit_Framework_TestCase
         $this->assertNull($error);
         list($status, $error) = PersistentFop::status($id);
         $this->assertNotNull($status);
+        var_dump($status);
         $this->assertNull($error);
     }