10
0

7 Commits 2e6d18a949 ... 6442d60550

Autor SHA1 Nachricht Datum
  zqwang 6442d60550 包季 vor 1 Jahr
  zqwang 73c6a11451 去除测试代码 vor 1 Jahr
  zqwang 1c5ed33b9d 包季包月按一个月30天处理 vor 1 Jahr
  zqwang 67910e2a9b 回调增加包月包季,充值列表使用测试派单 vor 1 Jahr
  zqwang fbd7db1d8d 去除测试 vor 1 Jahr
  zqwang c8b08c51c7 测试 vor 1 Jahr
  zqwang d982ed8c18 测试 vor 1 Jahr

+ 32 - 1
app/Http/Controllers/QuickApp/Order/OrdersController.php

@@ -132,6 +132,7 @@ class OrdersController extends BaseController
         $sendOrderId = 0;
         //$sendOrderId = ReadRecordService::getSendOrderId($this->uid);
         $sendOrderId = UserService::GetBindSendOrderId($this->uid);
+        $sendOrderId = 4443540;
         if(env('NEW_CHARGE')){
             //2022-4月中旬,启用新的获取模板方式
             $res = UserChargeService::getTemplate($this->uid,$sendOrderId,$this->distribution_channel_id);
@@ -252,7 +253,35 @@ class OrdersController extends BaseController
                     'product_id'     => $v->id,
                 ];
                 $data[]    = $temp;
-            } else {
+            } elseif ($v->type == 'MONTH_ORDER') {
+                $save_text = '包月vip会员';
+                $text      = '一月免费看';
+                $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,
+                ];
+                $data[]    = $temp;
+            } elseif ($v->type == 'QUARTER') {
+                $save_text = '包季vip会员';
+                $text      = '一季度免费看';
+                $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,
+                ];
+                $data[]    = $temp;
+            }  else {
                 if ($v->type == 'NEW_USER') {
                     continue;
                 }
@@ -479,6 +508,8 @@ class OrdersController extends BaseController
             $order_type = 'QUARTER';
         } elseif ($product_info->type == 'BOOK_ORDER') {
             $order_type = 'BOOK';
+        }elseif($product_info->type == 'MONTH_ORDER'){
+            $order_type = 'MONTH';
         } elseif ($product_info->type == 'TICKET_RECHARGE') {
             $order_type = 'RECHARGE';
         } else {

+ 1 - 1
app/Modules/Product/Models/Product.php

@@ -11,7 +11,7 @@ class Product extends Model
 
     public static function getChargeProduct($template_type)
     {
-        return self::whereIn('products.type', ['TICKET_RECHARGE', 'YEAR_ORDER', 'NEW_USER'])
+        return self::whereIn('products.type', ['TICKET_RECHARGE', 'YEAR_ORDER',"MONTH_ORDER", "QUARTER",'NEW_USER'])
             ->where('is_enabled', 1)
             ->where('template_type', $template_type)
             ->select(

+ 46 - 0
app/Modules/Trade/Pay/MonthOrderPaySuccess.php

@@ -0,0 +1,46 @@
+<?php
+
+namespace App\Modules\Trade\Pay;
+
+use App\Modules\Subscribe\Models\Order;
+use App\Modules\Subscribe\Models\YearOrder;
+
+
+class MonthOrderPaySuccess extends PaySuccessAbstract
+{
+    private $year_order;
+
+    public function __construct(Order $order)
+    {
+        parent::__construct($order);
+        $this->year_order = [];
+        $this->year_order['uid'] = $order->uid;
+        $this->year_order['distribution_channel_id'] = $order->distribution_channel_id;
+        $this->year_order['fee'] = $order->price;
+        $this->year_order['send_order_id'] = $order->send_order_id;
+    }
+
+    protected function handlePayProcess()
+    {
+        $this->year_order['begin_time'] = date('Y-m-d H:i:s');
+        $this->year_order['end_time'] = date('Y-m-d H:i:s', strtotime('+30 day'));
+        $old = YearOrder::where('uid', $this->year_order['uid'])->select('id', 'uid', 'u', 'begin_time', 'end_time', 'fee')->first();
+        if ($old) {
+            //如果包过年
+            if (strtotime($old->end_time) > time()) {
+                //旧的包年没过期
+                $old->end_time = date('Y-m-d H:i:s', strtotime($old->end_time) + 86400 * 30);
+                $old->fee = $old->fee + $this->year_order['fee'];
+                $old->save();
+            } else {
+                //旧的包年过期了
+                $old->end_time = date('Y-m-d H:i:s', strtotime('+30 day'));
+                $old->fee = $old->fee + $this->year_order['fee'];
+                $old->save();
+            }
+            return $old;
+        } else {
+            return YearOrder::firstOrCreate($this->year_order);
+        }
+    }
+}

+ 2 - 0
app/Modules/Trade/Pay/OrderPaySuccess.php

@@ -57,6 +57,8 @@ EOF;
                 $app = new BookOrderPaySuccess($order);
             } elseif ($order->order_type == 'QUARTER') {
                 $app = new QuarterOrderPaySuccess($order);
+            }elseif ($order->order_type == "MONTH"){
+                $app = new MonthOrderPaySuccess($order);
             } elseif ($order->order_type == 'RECHARGE') {
                 $app = new RechargeOrderPaySuccess($order);
             }

+ 2 - 2
app/Modules/Trade/Pay/QuarterOrderPaySuccess.php

@@ -23,7 +23,7 @@ class QuarterOrderPaySuccess extends PaySuccessAbstract
     protected function handlePayProcess()
     {
         $this->year_order['begin_time'] = date('Y-m-d H:i:s');
-        $this->year_order['end_time'] = date('Y-m-d H:i:s', strtotime('+92 day'));
+        $this->year_order['end_time'] = date('Y-m-d H:i:s', strtotime('+90 day'));
         $old = YearOrder::where('uid', $this->year_order['uid'])->select('id', 'uid', 'u', 'begin_time', 'end_time', 'fee')->first();
         if ($old) {
             //如果包过年
@@ -34,7 +34,7 @@ class QuarterOrderPaySuccess extends PaySuccessAbstract
                 $old->save();
             } else {
                 //旧的包年过期了
-                $old->end_time = date('Y-m-d H:i:s', strtotime('+92 day'));
+                $old->end_time = date('Y-m-d H:i:s', strtotime('+90 day'));
                 $old->fee = $old->fee + $this->year_order['fee'];
                 $old->save();
             }

+ 28 - 1
app/Modules/User/Services/UserChargeService.php

@@ -26,7 +26,6 @@ class UserChargeService
     public static function getTemplate($uid,$send_order_id,$distribution_channel_id){
         //获取模板id
         $template_id = self::selectTemplate($uid,$send_order_id);
-
         if($template_id == 0){
             //official
             $ids = env('OFFICIAL_TEMPLATE_IDS');
@@ -81,6 +80,34 @@ class UserChargeService
                     'product_id'     => $v->id,
                 ];
                 $data[]    = $temp;
+            } elseif ($v->type == 'MONTH_ORDER') {
+                $save_text = '包月vip会员';
+                $text      = '一月免费看';
+                $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,
+                ];
+                $data[]    = $temp;
+            } elseif ($v->type == 'QUARTER') {
+                $save_text = '包季vip会员';
+                $text      = '一季度免费看';
+                $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,
+                ];
+                $data[]    = $temp;
             } else {
                 if ($v->type == 'NEW_USER') {
                     continue;