コード例 #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' => '申请成功'));
 }
コード例 #2
0
 public static function getRefundStatus($refund_id, $channel = 'WX')
 {
     $data = static::returnDataArray();
     // if( $channel != 'WX' || $channel != 'ALI' );
     // 	return Response::json(array( 'errCode'=>21, 'message'=>'支付方式只能选去微信或支付宝') );
     $data["channel"] = $channel;
     $refund = RefundRecord::find($refund_id);
     if (!isset($refund)) {
         return array('errCode' => 21, 'message' => '该订单不存在');
     }
     $data["refund_no"] = $refund->refund_no;
     try {
         $result = BCRESTApi::refundStatus($data);
         if ($result->result_code != 0 || $result->result_msg != "OK") {
             return array('errCode' => 22, 'message' => $result->err_detail);
         }
     } catch (Exception $e) {
         return ['errCode' => 23, 'message' => $e->getMessage()];
     }
     $results = static::refundStatus($data["refund_no"], $channel);
     return $results;
 }
コード例 #3
0
 public function refundApplicationList()
 {
     $type = Input::get("type", "all");
     $perPage = 15;
     if ($type == "approving") {
         $refundIndents = RefundRecord::where("status", "=", "0")->orderBy("updated_at", "desc")->with(["order", "user_info"])->paginate($perPage);
     } else {
         if ($type == "pass") {
             $refundIndents = RefundRecord::where("status", "=", "1")->orWhere("status", "=", "2")->orWhere("status", "=", "4")->orderBy("updated_at", "desc")->with(["order", "user_info"])->paginate($perPage);
         } else {
             if ($type == "unpass") {
                 $refundIndents = RefundRecord::where("status", "=", "3")->orderBy("updated_at", "desc")->with(["order", "user_info"])->paginate($perPage);
             } else {
                 $refundIndents = RefundRecord::orderBy("created_at", "desc")->with(["order", "user_info"])->paginate($perPage);
             }
         }
     }
     return View::make('pages.admin.business-center.refund-application-list', ["refundIndents" => $refundIndents, "count" => $refundIndents->count(), "totalCount" => $refundIndents->getTotal()]);
 }
コード例 #4
0
ファイル: CcobSeeder.php プロジェクト: Jv-Juven/carService
 /**
  * 插入随机数据
  */
 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;
 }
コード例 #5
0
 public function refund_record()
 {
     $paginator = RefundRecord::where('user_id', Sentry::getUser()->user_id)->paginate(static::$default_per_page);
     return View::make('pages.finance-center.cost-manage.refund-record', ['records' => $paginator->getCollection(), 'paginator' => $paginator]);
 }