Browse Source

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

洪海涛 8 years ago
parent
commit
666412e2e3

+ 20 - 15
www/protected/commands/GetKennelDetailWorkCommand.php

@@ -105,17 +105,19 @@ class GetKennelDetailWorkCommand extends CConsoleCommand {
                         $dealPet->pet_type = new MongoId($pet_type->_id);
 
                         $dealPet->name = $tmp['name'];
-                        //$dealPet->status = $tmp['status'];
+                        $dealPet->status = 1;
                         $dealPet->price = $tmp['price'];
                         $dealPet->pics = array();
-                        foreach ($tmp['photos'] as $v) {
+                        foreach ($tmp['photos'] as $key =>$v) {
+                            $pic = array();
                             $size = CommonFn::getPicSize($v);
                             if (isset($size['width']) && isset($size['height'])) {
-                                $dealPet->pics['width'] = intval($size['width']);
-                                $dealPet->pics['height'] = intval($size['height']);
+                                $pic['width'] = intval($size['width']);
+                                $pic['height'] = intval($size['height']);
                             }
 
-                            $dealPet->pics['url'] = $v;
+                            $pic['url'] = $v;
+                            $dealPet->pics[] = (object)$pic;
                         }
 
                         $dealPet->kennel = $kennel->_id;
@@ -126,14 +128,16 @@ class GetKennelDetailWorkCommand extends CConsoleCommand {
                         foreach ($tmp['tags'] as $v){
                             $dealPet->tags[] = $v;
                         }*/
-                        $tmp['father_info'] = array();
-                        $tmp['mother_info'] = array();
+                        $father_info = array();
+                        $mother_info = array();
                         if (isset($tmp['extra']['parents'][0]['pic']))
-                            $tmp['father_info']['avatar'] = $tmp['extra']['parents'][0]['pic'];
+                            $father_info['avatar'] = $tmp['extra']['parents'][0]['pic'];
                         if (isset($tmp['extra']['parents'][1]['pic']))
-                            $tmp['mother_info']['avatar'] = $tmp['extra']['parents'][1]['pic'];
-                        $dealPet->father_info = (Object)$tmp['father_info'];
-                        $dealPet->mother_info = (Object)$tmp['mother_info'];
+                            $mother_info['avatar'] = $tmp['extra']['parents'][1]['pic'];
+
+                        $dealPet->father_info = (object)$father_info;
+                        var_dump($dealPet->father_info);exit;
+                        $dealPet->mother_info = (object)$mother_info;
                         $dealPet->desc = $tmp['desc'];
                         $dealPet->vaccine_info = array();
                         if (isset($tmp['extra'])){
@@ -141,8 +145,9 @@ class GetKennelDetailWorkCommand extends CConsoleCommand {
 
 
                                 $datetime = date_create($v['date'])->format('U');
-                                $dealPet->vaccine_info['time'] = intval($datetime);
-                                $dealPet->vaccine_info['brand'] = $v['value'];
+                                $vaccine_info['time'] = intval($datetime);
+                                $vaccine_info['brand'] = $v['value'];
+                                $dealPet->vaccine_info[] = (object)$vaccine_info;
 
                             }
                         }
@@ -158,9 +163,9 @@ class GetKennelDetailWorkCommand extends CConsoleCommand {
                             $tmp['deworming_info']['time'] = intval(date_create($tmp['parasited']['date'])->format('U'));
                         }
 
-                        $_deworming_info = (Object)$tmp['deworming_info'];
+
                         $dealPet->deworming_info = array();
-                        $dealPet->deworming_info[] = $_deworming_info;
+                        $dealPet->deworming_info[] = (Object)$tmp['deworming_info'];
 
                         if (isset($value['videos']['length'])) {
                             $value['video']['length'] = floatval($value['video']['length']);

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

@@ -356,6 +356,16 @@ class ROrderController extends AdminController{
             }else if($status ==-1){//取消订单
                 $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);
+            }else if($status ==6){//服务完成
+                $res = self::UpdateStatus((string)$order->_id, 20);
+            }else if($status ==-1){//取消订单
+                $res = self::DelOrder((string)$order->_id);
+            }
         }
 
         if (!$res) {

+ 52 - 18
www/protected/modules/o2o/controllers/JingBaiController.php

@@ -158,7 +158,7 @@ class JingBaiController extends O2oBaseController
             die();
         }
 
-        $productId = Yii::app()->getRequest()->getParam('productId', '');
+        $productId = Yii::app()->getRequest()->getParam('ProductId', '');
         if (!CommonFn::isMongoId($productId)) {
             echo '
             {
@@ -170,7 +170,9 @@ class JingBaiController extends O2oBaseController
         }
         $data['code'] = '0';
         $data['message'] = 'success';
+
         $product = Product::model()->get(new MongoId($productId));
+
         $data['data']['productId'] = (string)$product->_id;
         $data['data']['name'] = $product->name;
         $data['data']['status'] = $product->status;
@@ -213,18 +215,30 @@ class JingBaiController extends O2oBaseController
             ';
             die();
         }
-
-        $OrderNo = Yii::app()->getRequest()->getParam('OrderNo');//Jingbai订单id
-        $ProductId = Yii::app()->getRequest()->getParam('ProductId');
-        $name = Yii::app()->getRequest()->getParam('ExpectedMotherName');
-        $mobile = Yii::app()->getRequest()->getParam('Mobile');
-        $address = Yii::app()->getRequest()->getParam('Address');
-        $extra = Yii::app()->getRequest()->getParam('extra');
-        $memo = Yii::app()->getRequest()->getParam('Memo');
-        $areaId = Yii::app()->getRequest()->getParam('areaId');
-        $count = Yii::app()->getRequest()->getParam('Quantity');
-        $finalPrice = Yii::app()->getRequest()->getParam('Price');
-        $booking_time = Yii::app()->getRequest()->getParam('AppointmentTime');
+        //创建订单必需参数
+        $OrderNo = Yii::app()->getRequest()->getParam('OrderNo','');//Jingbai订单id
+        $ProductId = Yii::app()->getRequest()->getParam('ProductId','');
+        $name = Yii::app()->getRequest()->getParam('ExpectedMotherName','');
+        $mobile = Yii::app()->getRequest()->getParam('Mobile','');
+        $address = Yii::app()->getRequest()->getParam('Address','');
+        $extra = Yii::app()->getRequest()->getParam('extra','');
+        $memo = Yii::app()->getRequest()->getParam('Memo','');
+        $areaId = intval(Yii::app()->getRequest()->getParam('areaId'));
+        $count = intval(Yii::app()->getRequest()->getParam('Quantity',''));
+        $finalPrice = intval(Yii::app()->getRequest()->getParam('Price',''));
+        $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 (empty($OrderNo) || empty($ProductId) ||empty($name) ||empty($mobile) ||empty($address)  ||empty($memo) ||empty($count) ||empty($finalPrice) ||empty($booking_time) ) {
+            echo '
+            {
+               "code": "10001",
+                "message": "缺少参数,请检查"
+            }
+            ';
+            die();
+        }
         $rOrder = new ROrder();
 
         $rOrder->channel      = 'jingbai';
@@ -233,11 +247,23 @@ class JingBaiController extends O2oBaseController
 
         $products[0]['product'] = new MongoId($ProductId);
         $products[0]['count'] = $count;
-        $products[0]['extra'] = (object)$extra;
-
+        if (!empty($extra)){
+            $products[0]['extra'] = (object)$extra;
+        } else {
+            $extra =array();
+            $products[0]['extra'] = (object)$extra;
+        }
         $rOrder->products     = $products;
-        $rOrder->price        = floatval($extra['price']);
+        if (isset($extra['price'])) {
+            $rOrder->price = floatval($extra['price']);
+        }else{
+            $rOrder->price = floatval($finalPrice);
+        }
+
         $rOrder->final_price  = floatval($finalPrice);
+        if($invoice == 1){
+            $rOrder->remark = '需要发票,发票价格为'.$invoice_price;
+        }
 
         $rOrder->counts       = $count;
         $rOrder->status       = intval(1);
@@ -251,14 +277,15 @@ class JingBaiController extends O2oBaseController
         $add['city'] = $coverage['city'];
         $add['area'] = $coverage['area'];
         $add['detail'] = $address;
-        var_dump($address);exit;
+
         $add['mobile'] = $mobile;
         $add['name'] = $name;
         $rOrder->OrderNo = $OrderNo;
+
         $rOrder->address      = (object)$add;
         $rOrder->pay_channel  = "jingbai";
 
-        $addROrder_arr = array('channel', 'booking_time', 'order_time', 'price','products', 'final_price', 'counts','precedence', 'coupons', 'user', 'status', 'memo', 'remark', 'type', 'have_comment', 'station', 'address', 'pay_channel');
+        $addROrder_arr = array('OrderNo','channel', 'booking_time', 'order_time', 'price','products', 'final_price', 'counts','precedence', 'coupons', 'user', 'status', 'memo', 'remark', 'type', 'have_comment', 'station', 'address', 'pay_channel');
         $success = $rOrder->save(true, $addROrder_arr);
         if ($success) {
             echo '
@@ -268,6 +295,13 @@ class JingBaiController extends O2oBaseController
             }
             ';
             die();
+        } else {
+            echo '
+            {
+               "code": "10001",
+                "message": "订单创建失败,请检查数据格式"
+            }
+            ';
         }
 
 

+ 0 - 1
www/protected/modules/o2o/models/ROrder.php

@@ -132,7 +132,6 @@ class ROrder extends MongoAr
         $newRow['type'] = CommonFn::get_val_if_isset($row,'type','');
 
         $newRow['counts'] = CommonFn::get_val_if_isset($row,'counts',1);
-
         $newRow['booking_time'] = CommonFn::get_val_if_isset($row,'booking_time',0);
         $newRow['order_time'] = CommonFn::get_val_if_isset($row,'order_time',0);
         $newRow['have_comment'] = CommonFn::get_val_if_isset($row,'have_comment',0);