Wang Chen 4 лет назад
Родитель
Сommit
e5892f27f0
1 измененных файлов с 63 добавлено и 59 удалено
  1. 63 59
      app/Http/Controllers/QuickApp/Order/OrdersController.php

+ 63 - 59
app/Http/Controllers/QuickApp/Order/OrdersController.php

@@ -31,7 +31,7 @@ class OrdersController extends BaseController
      */
 
     /**
-     * 
+     *
      */
     private $chargeList;
 
@@ -41,8 +41,8 @@ class OrdersController extends BaseController
             if (!$item->switch_to) continue;
             $order = Order::where('uid', $this->uid)->where('status', 'PAID')->where('product_id', $item->id)->first();
             if ($order) {
-                $change = ProductService::getProductSingle($item->switch_to);
-                $item->id = $change->id;
+                $change      = ProductService::getProductSingle($item->switch_to);
+                $item->id    = $change->id;
                 $item->price = $change->price;
                 $item->given = $change->given;
             }
@@ -115,12 +115,12 @@ class OrdersController extends BaseController
      */
     public function chargeList(Request $request)
     {
-        $bid = $request->input('bid', '');
-        $temp = $bid;
+        $bid         = $request->input('bid', '');
+        $temp        = $bid;
         $template_id = PayTemplateService::getPayTemplate($this->distribution_channel_id);
         $book_config = null;
         if ($bid) {
-            $bid = Hashids::decode($bid)[0];
+            $bid         = Hashids::decode($bid)[0];
             $book_config = BookConfigService::getBookById($bid);
         }
         if ($template_id == 2) { //模板2只有在长篇小说过来的用户才显示
@@ -140,10 +140,10 @@ class OrdersController extends BaseController
         $this->chargeList = $res;
         $this->exchangeList();
         //TODO 长篇小数才有模板2
-        $uid = $this->uid;
+        $uid               = $this->uid;
         $is_first_recharge = OrderService::judgeUserFirstRecharge($uid);
 
-        $data = [];
+        $data  = [];
         $appad = 0;
 
         foreach ($res as $v) {
@@ -164,15 +164,15 @@ class OrdersController extends BaseController
                 ) {
                     continue;
                 }
-                $temp = [
-                    'price' => (float) $v->price . '元',
-                    'is_year_order' => 0,
+                $temp   = [
+                    'price'          => (float)$v->price . '元',
+                    'is_year_order'  => 0,
                     'is_month_order' => 0,
-                    'text' => sprintf('%s+%s书币', $v->price * 100, $v->given),
-                    'today_special' => $v->is_default,
-                    'first_charge' => true,
-                    'save_text' => round($v->given / 100, 1) . '元',
-                    'product_id' => $v->id,
+                    'text'           => sprintf('%s+%s书币', $v->price * 100, $v->given),
+                    'today_special'  => $v->is_default,
+                    'first_charge'   => true,
+                    'save_text'      => round($v->given / 100, 1) . '元',
+                    'product_id'     => $v->id,
                 ];
                 $data[] = $temp;
             } elseif ($v->type == 'YEAR_ORDER') {
@@ -180,18 +180,18 @@ class OrdersController extends BaseController
                     continue;
                 }
                 $save_text = '年费vip会员';
-                $text = '每天1元,全年免费看';
-                $temp = [
-                    'price' => (int) $v->price . '元',
-                    'is_year_order' => 1,
+                $text      = '每天1元,全年免费看';
+                $temp      = [
+                    'price'          => (int)$v->price . '元',
+                    'is_year_order'  => 1,
                     'is_month_order' => 0,
-                    'text' => $text,
-                    'today_special' => $v->is_default,
-                    'first_charge' => false,
-                    'save_text' => $save_text,
-                    'product_id' => $v->id,
+                    'text'           => $text,
+                    'today_special'  => $v->is_default,
+                    'first_charge'   => false,
+                    'save_text'      => $save_text,
+                    'product_id'     => $v->id,
                 ];
-                $data[] = $temp;
+                $data[]    = $temp;
             } else {
                 if ($v->type == 'NEW_USER') {
                     continue;
@@ -199,20 +199,20 @@ class OrdersController extends BaseController
                 $save_text = '';
                 if ($v->given) {
                     $save_text = round($v->given / 100, 1) . '元';
-                    $text = sprintf('%s+%s书币', $v->price * 100, $v->given);
+                    $text      = sprintf('%s+%s书币', $v->price * 100, $v->given);
                 } else {
                     $text = sprintf('%s书币', $v->price * 100);
                 }
 
-                $temp = [
-                    'price' => (float) $v->price . '元',
-                    'is_year_order' => 0,
+                $temp   = [
+                    'price'          => (float)$v->price . '元',
+                    'is_year_order'  => 0,
                     'is_month_order' => 0,
-                    'text' => $text,
-                    'today_special' => $v->is_default,
-                    'first_charge' => false,
-                    'save_text' => $save_text,
-                    'product_id' => $v->id,
+                    'text'           => $text,
+                    'today_special'  => $v->is_default,
+                    'first_charge'   => false,
+                    'save_text'      => $save_text,
+                    'product_id'     => $v->id,
                 ];
                 $data[] = $temp;
             }
@@ -265,7 +265,7 @@ class OrdersController extends BaseController
      */
     public function bookOrderList(Request $request)
     {
-        $page_size = $request->input('page_size', 15);
+        $page_size  = $request->input('page_size', 15);
         $book_order = BookOrderService::getRecord($this->uid, $page_size);
         return response()->pagination(new BookOrderTransformer(), $book_order);
     }
@@ -319,11 +319,11 @@ class OrdersController extends BaseController
     public function chapterOrderList(Request $request)
     {
         $chapter_model = new ChapterOrderService();
-        $page_size = $request->input('page_size', 15);
+        $page_size     = $request->input('page_size', 15);
         $chapter_order = $chapter_model->getByUid($this->uid, $page_size);
         foreach ($chapter_order as $item) {
             if ($item->fee == 0) {
-                $result = AdVisitStatService::getInfoV2($this->uid, $item->cid, ['UNLOCK', 'UNLOCK_2']);
+                $result    = AdVisitStatService::getInfoV2($this->uid, $item->cid, ['UNLOCK', 'UNLOCK_2']);
                 $item->fee = '解锁';
             }
         }
@@ -376,15 +376,15 @@ class OrdersController extends BaseController
     public function chargeRecordLists(Request $request)
     {
         $page_size = $request->input('page_size', 15);
-        $res = OrderService::getOrderList($this->uid, $page_size);
+        $res       = OrderService::getOrderList($this->uid, $page_size);
         return response()->pagination(new ChargeListTransformer(), $res);
     }
 
 
     private function getPayParams(Request $request)
     {
-        $uid = $this->uid;
-        $product_id = $request->get('product_id', 0);
+        $uid           = $this->uid;
+        $product_id    = $request->get('product_id', 0);
         $send_order_id = $this->send_order_id;
         if (!$product_id) {
             return false;
@@ -393,10 +393,14 @@ class OrdersController extends BaseController
         if ($bid) {
             $from_bid = BookService::decodeBidStatic($bid);
         }
-        $trade_no = date("YmdHis") . hexdec(uniqid());
+        $trade_no     = date("YmdHis") . hexdec(uniqid());
         $product_info = ProductService::getProductSingle($product_id);
+        if (!getProp($product_info, 'id')) {
+            return false;
+        }
+
         $distribution_channel_id = $this->distribution_channel_id;
-        $price = $product_info->price * 100;
+        $price                   = $product_info->price * 100;
         if (in_array($uid, explode(',', env('TEST_UID')))) {
             $price = 1;
         }
@@ -463,8 +467,8 @@ class OrdersController extends BaseController
         }
         $app = OrderArousePayFactory::wx($this->uid);
         // 微信支付参数
-        $params['trade_type']   = 'APP'; //交易类型
-        $result = $app->handle($params);
+        $params['trade_type'] = 'APP'; //交易类型
+        $result               = $app->handle($params);
         if ($result) {
             $result['trade_no'] = $params['trade_no'];
             return response()->success($result);
@@ -492,7 +496,7 @@ class OrdersController extends BaseController
      * @apiSuccess {Object}  data.nonce_str 唤起支付的nonce_str
      * @apiSuccess {Object}  data.prepay_id 唤起支付的prepay_id
      * @apiSuccess {Object}  data.sign 唤起支付的sign
-     * @apiSuccess {Object}  data.trade_type 唤起支付trade_type 
+     * @apiSuccess {Object}  data.trade_type 唤起支付trade_type
      * @apiSuccess {Object}  data.mweb_url 唤起支付mweb_url
      * @apiSuccessExample {json} Success-Response:
      *     HTTP/1.1 200 OK
@@ -512,8 +516,8 @@ class OrdersController extends BaseController
         }
         $app = OrderArousePayFactory::wx($this->uid);
         // 微信支付参数
-        $params['trade_type']   = 'MWEB'; //交易类型
-        $result = $app->handle($params);
+        $params['trade_type'] = 'MWEB'; //交易类型
+        $result               = $app->handle($params);
         if ($result) {
             $result['trade_no'] = $params['trade_no'];
             return response()->success($result);
@@ -540,17 +544,17 @@ class OrdersController extends BaseController
      *       code: 0,
      *       msg: "",
      *       data:""
-     * 
+     *
      */
     public function aliIndex(Request $request)
     {
         if ($params = $this->getPayParams($request)) {
             $params['pay_merchant_id'] = $this->ali_pay_merchat_id;
-            $params['type'] = 'App';
+            $params['type']            = 'App';
         } else {
             return response()->error('QAPP_PARAM_ERROR');
         }
-        $app = OrderArousePayFactory::ali($this->uid);
+        $app        = OrderArousePayFactory::ali($this->uid);
         $order_info = $app->handle($params);
         return response()->success(['trade_no' => $params['trade_no'], 'order_info' => $order_info]);
     }
@@ -578,7 +582,7 @@ class OrdersController extends BaseController
      */
     public function checkOrder(Request $request)
     {
-        $order = $request->input('order');
+        $order      = $request->input('order');
         $order_info = OrderService::getByTradeNo($order);
         if ($order_info && $order_info->status == 'PAID') {
             return response()->success();
@@ -594,10 +598,10 @@ class OrdersController extends BaseController
         $xml = XML::parse(strval($request->getContent()));
         myLog('wxpay')->info($xml);
         if (isset($xml['attach'])) {
-            $pay_merchant_id = (int) $xml['attach'];
-            $config = PayMerchantService::findPayConfig($pay_merchant_id);
-            $app = PayFactory::official($config);
-            $response = $app->notify()->handleNotify(function ($notify, $successful) {
+            $pay_merchant_id = (int)$xml['attach'];
+            $config          = PayMerchantService::findPayConfig($pay_merchant_id);
+            $app             = PayFactory::official($config);
+            $response        = $app->notify()->handleNotify(function ($notify, $successful) {
                 if (!$successful) {
                     return 'fail';
                 }
@@ -622,11 +626,11 @@ class OrdersController extends BaseController
         myLog('alipay')->info($param);
         $trade_no = isset($param['out_trade_no']) ? $param['out_trade_no'] : '';
         if ($trade_no) {
-            $order = Order::where('trade_no', $trade_no)->first();
+            $order           = Order::where('trade_no', $trade_no)->first();
             $pay_merchant_id = $order ? $order->pay_merchant_id : 0;
             $pay_merchant_id = $pay_merchant_id ? $pay_merchant_id : 140;
-            $config = PayMerchantService::findAliPayConfig($pay_merchant_id);
-            $app = PayFactory::aliPay($config);
+            $config          = PayMerchantService::findAliPayConfig($pay_merchant_id);
+            $app             = PayFactory::aliPay($config);
             if ($app->notify($param)) {
                 if (OrderPaySuccess::handle($param['out_trade_no'], $param['trade_no'])) {
                     return response('success');