Exemplo n.º 1
0
 public function requestRefund()
 {
     $order_id = Input::get('order_id');
     $order = AgencyOrder::find($order_id);
     if (!isset($order)) {
         return Response::json(array('errCode' => 21, 'message' => '该订单不存在'));
     }
     $refund_record = RefundRecord::where('order_id', '=', $order_id)->get();
     if (count($refund_record) != 0) {
         return Response::json(array('errCode' => 22, 'message' => '申请已提交'));
     }
     if ($order->trade_status != 1 || $order->process_status != 1) {
         return Response::json(array('errCode' => 23, 'message' => '该订单不可申请退款'));
     }
     try {
         DB::transaction(function () use($order) {
             $order->trade_status = 2;
             $order->save();
             $refund_record = new RefundRecord();
             $refund_record->order_id = $order->order_id;
             $refund_record->user_id = Sentry::getUser()->user_id;
             $refund_record->save();
         });
     } catch (Exception $e) {
         return Response::json(array('errCode' => 24, 'message' => '退款申请失败,请重新申请'));
     }
     return Response::json(array('errCode' => 0, 'message' => '申请成功'));
 }
Exemplo n.º 2
0
 /**
  * 插入随机数据
  */
 protected function create_refund_records($total = 50)
 {
     echo 'Creating refund_records...';
     $orders = AgencyOrder::all();
     foreach ($orders as $order) {
         if ($order->process_status == "1" && $order->trade_status == "2") {
             // 已受理且申请退款
             $refund_record = new RefundRecord();
             $refund_record->order_id = $order->order_id;
             $refund_record->user_id = $order->user_id;
             $flag = rand(0, 1);
             if ($flag == 0) {
                 $refund_record->status = '0';
                 // 审核中
                 $refund_record->approval_at = $this->get_random_datetime();
             } else {
                 $refund_record->status = '3';
                 // 审核不通过
                 $refund_record->approval_at = $this->get_random_datetime();
             }
             $refund_record->save();
         } else {
             if ($order->process_status == "4") {
                 // 已关闭
                 $refund_record = new RefundRecord();
                 $refund_record->order_id = $order->order_id;
                 $refund_record->user_id = $order->user_id;
                 $refund_flag = rand(0, 2);
                 if ($refund_flag == 0) {
                     $refund_record->status = '1';
                     // 审核退款通过
                     $refund_record->approval_at = $this->get_random_datetime();
                 } else {
                     if ($refund_flag == 1) {
                         $refund_record->status = '2';
                         // 退款成功
                         $refund_record->approval_at = $this->get_random_datetime();
                     } else {
                         $refund_record->status = '4';
                         // 退款失败
                         $refund_record->approval_at = $this->get_random_datetime();
                     }
                 }
                 $refund_record->save();
             }
         }
     }
     echo 'Done' . PHP_EOL;
 }