Browse Source

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

洪海涛 8 years ago
parent
commit
4e75c4fb27
1 changed files with 25 additions and 7 deletions
  1. 25 7
      www/protected/controllers/ROrderController.php

+ 25 - 7
www/protected/controllers/ROrderController.php

@@ -235,23 +235,41 @@ class ROrderController extends AdminController{
         //精佰退单接口 状态为申请退款并且是精佰的订单
         if ($order->status == -3 && $order->channel == 'jingbai') {
             //确认申请退款状态变更成已退款订单  为退单订单
+            $criteria = new EMongoCriteria();
+            $criteria->OrderNo('==',$order->OrderNo);
+            $orders = ROrder::model()->findAll($criteria);
+            $orderId = '';
+            $fin_price = 0;
+            foreach ($orders as $value) {
+                $orderId .= $value->_id.',';
+                $fin_price += $order->final_price*0.5;
+
+            }
+            $orderId = rtrim(trim($orderId),',');
             if ($status == -2){
                 if ($remark == '1'){
                     //已出发 已上门 订单
-                    $res = self::feedbackOrder(1,$order->OrderNo,(string)$order->_id,number_format($order->final_price*0.5,2));
+                    $res = self::feedbackOrder(1,$order->OrderNo,$orderId,number_format($fin_price,2));
                 } else {
-                    $res = self::feedbackOrder(1,$order->OrderNo,(string)$order->_id,0);
+                    $res = self::feedbackOrder(1,$order->OrderNo,$orderId,0);
                 }
 
                 $flag = 1;
             } else if($status == 2 &&$order->booking_time != $booking_time){
                 //2  确认申请退款状态变更成已处理 为修改订单  此时修改订单预约时间
-                $res = self::feedbackOrder(0,$order->OrderNo,(string)$order->_id,'',$order->booking_time);
+                $res = self::feedbackOrder(0,$order->OrderNo,$orderId,0,$order->booking_time);
                 $flag = 1;
             } else if($status == 2 &&$order->booking_time == $booking_time){//不退单 没有修改
-                $res = self::feedbackOrder(0,$order->OrderNo,(string)$order->_id);
+                $res = self::feedbackOrder(0,$order->OrderNo,$orderId,0);
                 $flag = 1;
             }
+            var_dump($res);exit;
+            if ($flag && $res){
+                foreach ($orders as $value) {
+                   $value->status = $status;
+                }
+            }
+
         }
 
         if(($order->status!=-1||$order->status!=-2)&&($status==-1||$status==-2)){
@@ -946,15 +964,13 @@ class ROrderController extends AdminController{
      * @param null $remark  退单状态备注包含修改信息,无修改此字段可不传
      * @return bool
      */
-    public  function feedbackOrder($isCancel,$orderId,$orderNo,$money='',$remark=null)
+    public  function feedbackOrder($isCancel,$orderId,$orderNo,$money=0,$remark=null)
     {
 
         $key = Yii::app()->params['JingBai'];
         $data['IsCancel'] = $isCancel;
         $data['OrderId'] = $orderId;
         $data['OrderNo'] = $orderNo;
-        if (!empty($money))
-            $data['Money'] = $money;
         //不退单, 但是需要修改信息
         if(!$isCancel && !empty($remark)){
             $data['Type'] = 'OrderRemark';
@@ -967,7 +983,9 @@ class ROrderController extends AdminController{
         }
         else {
             $data['Type'] = 'CancleOrder';
+            $data['Money'] = $money;
             $data['Sign'] = md5($isCancel.$orderId.$orderNo.$money.$key);
+
         }
         $dat = '';
         foreach ($data as $key => $value) {