Selaa lähdekoodia

Merge branch 'sess_0306' of 121.43.114.153:/home/git/repositories/shopnc into sess_0306

stanley-king 9 vuotta sitten
vanhempi
commit
f1d0c3bda7

+ 4 - 2
data/model/refund_return.model.php

@@ -629,7 +629,8 @@ class refund_returnModel extends Model
      * @param $good
      * @return int
      */
-    public function getRefundIdForGood($good){
+    public function getRefundIdForGood($good,&$refund_state){
+        $refund_state = '0';
         //只有已付款未发货的订单才处理
         if(empty($good)) {
             return 0;
@@ -640,9 +641,10 @@ class refund_returnModel extends Model
         $condition['order_id']    = $good['order_id'];
         $condition['goods_id']    = $good['goods_id'];
         $condition['seller_state'] = array('lt', '3'); //状态:1为待审核,2为同意,3为不同意
-        $result = $this->getRefundReturnList($condition,'','refund_id');
+        $result = $this->getRefundReturnList($condition,'','refund_id,refund_state');
 
         if(!empty($result)){
+            $refund_state = $result[0]['refund_state'];
             return $result[0]['refund_id'];
         }
         return 0;

+ 1 - 1
mobile/control/member_order.php

@@ -63,7 +63,7 @@ class member_orderControl extends mbMemberControl
             //商品图
             foreach ($value['extend_order_goods'] as $k => $goods_info) {
                 $value['extend_order_goods'][$k]['goods_image_url'] = cthumb($goods_info['goods_image'], 240, $value['store_id']);
-                $value['extend_order_goods'][$k]['refund_id']       = (string)$model_refund->getRefundIdForGood($goods_info);
+                $value['extend_order_goods'][$k]['refund_id']       = (string)$model_refund->getRefundIdForGood($goods_info,$value['extend_order_goods'][$k]['refund_state']);
             }
 
             $value['refund_id'] = (string)$model_refund->getRefundId($value);

+ 33 - 3
mobile/control/member_refund.php

@@ -77,7 +77,7 @@ class member_refundControl extends mbMemberControl
 
         if ($refund_id) {
             $model_refund->editOrderLock($order_id);
-            return self::outsuccess(array("ret" => 1,"refund_id"=>$refund_id));
+            return self::outsuccess(array("ret" => 1, "refund_id" => $refund_id, "order_sn" => $_GET['order_sn']));
         } else {
             return self::outerr(errcode::ErrOrderRefundError, "退款失败.");
         }
@@ -244,7 +244,7 @@ class member_refundControl extends mbMemberControl
             if ($order['order_state'] == $order_shipped) {
                 $model_refund->editOrderLock($order_id);
             }
-            return self::outsuccess(array('ret' => 1,"refund_id"=>$refund_id));
+            return self::outsuccess(array('ret' => 1, "refund_id" => $refund_id, "order_sn" => $_GET['order_sn'], "order_goods_id" => $_GET['order_goods_id']));
         } else {
             return self::outerr(errcode::ErrOrderRefundError, "退货失败.");
         }
@@ -266,7 +266,8 @@ class member_refundControl extends mbMemberControl
         $refund_list = $model_refund->getRefundReturnList($condition, '', $refund_fields);
         $refund = $refund_list[0];
         $refund['refund_state'] = $model_refund->getRefundStatueApp($refund);
-        unset($refund['return_type']);
+
+       // $refund['return_type']);
         unset($refund['seller_time']);
         unset($refund['ship_time']);
         unset($refund['admin_time']);
@@ -278,4 +279,33 @@ class member_refundControl extends mbMemberControl
         $refund['good_list'] = $model_order->getOrderGoodsList($condition, $good_fields);
         return self::outsuccess(array('refund' => $refund));
     }
+
+    /**
+     * 用户发货
+     */
+    public function refund_shipOp()
+    {
+        $model_refund = Model('refund_return');
+        $condition = array();
+        $condition['buyer_id'] = $_SESSION['member_id'];
+        $condition['refund_id'] = intval($_GET['refund_id']);
+        $return_list = $model_refund->getReturnList($condition);
+        $return = $return_list[0];
+        if ($return['seller_state'] != '2' || $return['goods_state'] != '1') {//检查状态,防止页面刷新不及时造成数据错误
+            showDialog(Language::get('wrong_argument'), 'reload', 'error');
+        }
+        $refund_array = array();
+        $refund_array['ship_time'] = time();
+        $refund_array['delay_time'] = time();
+      //  $refund_array['express_id'] = $_POST['express_id'];
+        $refund_array['invoice_no'] = $_POST['invoice_no'];
+        $refund_array['goods_state'] = '2';
+        $state = $model_refund->editRefundReturn($condition, $refund_array);
+        if ($state) {
+            return self::outsuccess(array('ret' => 1));
+        } else {
+            return self::outerr(errcode::ErrOrderRefundError, "发货失败.");
+        }
+    }
+
 }