Ver Fonte

修改拼团

dongxiaoqin há 1 ano atrás
pai
commit
07bbc16542
3 ficheiros alterados com 17 adições e 16 exclusões
  1. 10 10
      app/common/command/GroupOrder.php
  2. 1 1
      composer.json
  3. 6 5
      config/queue.php

+ 10 - 10
app/common/command/GroupOrder.php

@@ -44,7 +44,7 @@ class GroupOrder extends Command
                         ->where('a.status',0)
                         ->where('a.end_time','<',time())
                         ->where('a.id','>',$last_id)
-                        ->field('a.id,a.num,a.goods_id,b.participant_num,b.is_simulate_form,b.simulate_num')
+                        ->field('a.id,a.num,a.equity_id,b.participant_num,b.is_simulate_form,b.simulate_num')
                         ->order('a.id','asc')
                         ->limit(30)
                         ->select()->toArray();
@@ -56,20 +56,20 @@ class GroupOrder extends Command
             foreach($list as $item) {
                 $last_id = $item['id'];
 
-                $list = GroupUserOrder::where([
+                $orderList = GroupUserOrder::where([
                     'group_order_id' => $item['id'],
                     'pay_status' => 1,
                     'status' => 1,
                     'refund_status' => 0,
                 ])
                 ->field('id,user_id,sn,remark,order_amount,pay_way,transaction_id,order_terminal')->order('id','asc')->select()->toArray();
-                $num = count($list);
+                $num = count($orderList);
                 if (($item['is_simulate_form'] == 1 && $num >= $item['simulate_num']) || ($item['is_simulate_form'] == 0 && $num >= $item['participant_num'])) {
                     //模拟成团
-                    $this->gruopSuccess($item,$list);
+                    $this->gruopSuccess($item,$orderList);
                 } else {
                     //拼团失败
-                    $this->groupFail($item,$list);
+                    $this->groupFail($item,$orderList);
                 }
             }
         }
@@ -80,19 +80,19 @@ class GroupOrder extends Command
      * 拼团成功(给已支付的用户发放权益卡)
      * @param $item
      */
-    protected function gruopSuccess($order,$list)
+    protected function gruopSuccess($order,$orderList)
     {
         $max_id = UserEquity::max('id');
         try {
             Db::startTrans();
-            $equityConfig = EquityConfig::where('id',$order['goods_id'])->findOrEmpty();
-            foreach($list as $item) {
+            $equityConfig = EquityConfig::where('id',$order['equity_id'])->findOrEmpty()->toArray();
+            foreach($orderList as $item) {
                 //用户发放权益卡
                 $max_id++;
                 //创建用户权益卡
                 $userEquity = UserEquity::create([
                     'user_id' => $item['user_id'],
-                    'equity_id' => $order['goods_id'],
+                    'equity_id' => $order['equity_id'],
                     'goods_id' => $equityConfig['goods_id'],
                     'number' => $equityConfig['number'],
                     'create_time' => time(),
@@ -107,7 +107,7 @@ class GroupOrder extends Command
             //更新拼团订单
             GroupOrderModel::where('id',$order['id'])->update([
                 'status' => 1,
-                'num' => count($list)
+                'num' => count($orderList)
             ]);
 
             Db::commit();

+ 1 - 1
composer.json

@@ -46,7 +46,7 @@
     },
     "autoload": {
         "psr-4": {
-            "app\\": "app"
+            "app\\": "app/"
         },
         "psr-0": {
             "": "extend/"

+ 6 - 5
config/queue.php

@@ -6,12 +6,13 @@ return [
         'redis' => [
             'type'       => 'redis',
             'queue'      => 'default',
-            'host'       => '127.0.0.1',
-            'port'       => 6379,
-            'password'   => '',
+            'host'       => env('redis_host', '127.0.0.1'),
+            'port'       => env('redis_port', 6379),
+            'password'   => env('redis_password', ''),
             'select'     => 0,
-            'timeout'    => 0,
-            'persistent' => false,
+            'timeout'    => 5, // 设置合理的超时时间
+            'persistent' => true, // 可根据需求设置为 true 或 false
         ],
     ],
+    'sleep' => 10, // 队列工作进程在没有新任务时等待 10 秒
 ];