From 5d4fe0c03fa48cbe575983d7e6cb126477e0e9f4 Mon Sep 17 00:00:00 2001
From: zhaojs <349234519@qq.com>
Date: 星期三, 12 七月 2023 11:45:24 +0800
Subject: [PATCH] no message

---
 application/api/logic/ActivityInfo.php |   49 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/application/api/logic/ActivityInfo.php b/application/api/logic/ActivityInfo.php
index 0fcac64..425942e 100644
--- a/application/api/logic/ActivityInfo.php
+++ b/application/api/logic/ActivityInfo.php
@@ -155,32 +155,44 @@
                 $this->run_UpdateActCount($act['id'],2);
                 continue;
             }
+            //娲诲姩瑙勫垯
+            $rewardRule=json_decode($act['act_json']);
             foreach($cusList as $cus)
             {//寰幆鍙備笌娲诲姩鐨勪細鍛�
+                $tradeId=$act['id'].'u'.$cus['user_id'];
                 $yqCount=Db::query('select count(1) as count from t_user where invitation_id=? and invite_bind_time>=? and invite_bind_time<=?',[$cus['user_id'],$cus['create_time'],$actEndTime]);
                 if(empty($yqCount))
                 {
+                    Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=0,act_award=0 where id=?',[1, date("Y-m-d H:i:s",  time()),$tradeId]);
                     continue;
                 }
                 //璁$畻搴斿緱閲戦
                 $price=0;
-                //
-                //
-                //
+                switch($rewardRule->act_type)
+                {
+                    case 'step_all'://闃舵瀹屾垚鍚庤禒閫�
+                        $price=$this->stepAllRule($rewardRule->rule,$yqCount[0]['count']);
+                        break;
+                    default:
+                        break;
+                }
+                if($price<=0)
+                {
+                    Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=?,act_award=0 where id=?',[1, date("Y-m-d H:i:s",  time()),$yqCount[0]['count'],$tradeId]);
+                    continue;
+                }
 
-
-
-                $tradeId=$act['id'].$cus['user_id'];
+               
                 //鎻掑叆鑱氭帹瀹㈢殑璁㈠崟
                 $tradeHas=Db::query('select id from t_jtk_union_order_commission where trade_parent_id=?',[$tradeId]);
                 if(!empty($tradeHas))
                 {//宸茬粡鏈夎鍗�
                     continue;
                 }
-                $tradeRes=Db::execute('insert into t_jtk_union_order_commission (trade_parent_id,trade_id,member_id,buy_member_id,is_own,alipay_total_price,pub_share_pre_fee,item_title,item_id,is_settle,tb_paid_time,create_time,update_time)values(?,?,?,?,1,?,?,?,?,?,?,?,?)',[$tradeId,$tradeId,$cus['user_id'],$cus['user_id'],$price,$price,$act['act_name'],$act['id'],0,time(),time(),time()]);
+                $tradeRes=Db::execute('insert into t_jtk_union_order_commission (trade_parent_id,trade_id,member_id,buy_member_id,is_own,alipay_total_price,pub_share_pre_fee,item_title,item_id,is_settle,tb_paid_time,create_time,update_time)values(?,?,?,?,1,?,?,?,?,?,?,?,?)',[$tradeId,$tradeId,$cus['user_id'],$cus['user_id'],$price,$price,$act['act_name'].'-娲诲姩濂栧姳',$act['id'],0,time(),time(),time()]);
                 if($tradeRes==1)
                 {//淇敼璁$畻鐘舵��
-                    Db::execute('update t_recruit_act set settlement_status=?,settlement_time=? where id=?',[1,time(),$tradeId]);
+                    Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=?,act_award=? where id=?',[1, date("Y-m-d H:i:s",  time()),$yqCount[0]['count'],$price,$tradeId]);
                 }
             }
             $this->run_UpdateActCount($act['id'],2);
@@ -199,4 +211,25 @@
         }
     }
 
+    /**
+     * step_all瑙勫垯
+     * 
+     */
+    public function stepAllRule($rule,$yqCount)
+    {
+        $maxReward=0;
+        foreach($rule as $r_item)
+        {
+            if($r_item->c_count>$yqCount)
+            {
+                continue;
+            }
+            if($maxReward<$r_item->reward)
+            {
+                $maxReward=$r_item->reward;
+            }
+        }
+        return $maxReward;
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3