zhaojs
2023-07-12 87940848162256b5adaa125408b297dba3e8691b
application/api/logic/ActivityInfo.php
@@ -155,6 +155,8 @@
                $this->run_UpdateActCount($act['id'],2);
                continue;
            }
            //活动规则
            $rewardRule=json_decode($act['act_json']);
            foreach($cusList as $cus)
            {//循环参与活动的会员
                $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]);
@@ -164,11 +166,18 @@
                }
                //计算应得金额
                $price=0;
                //
                //
                //
                switch($rewardRule->act_type)
                {
                    case 'step_all'://阶梯完成后赠送
                        $price=$this->stepAllRule($rewardRule->rule,$yqCount[0]['count']);
                        break;
                    default:
                        break;
                }
                if($price<=0)
                {
                    continue;
                }
                $tradeId=$act['id'].$cus['user_id'];
                //插入聚推客的订单
@@ -177,7 +186,7 @@
                {//已经有订单
                    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]);
@@ -199,4 +208,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;
    }
}