| | |
| | | use app\common\logic\Basic as BasicLogic; |
| | | use think\console\output\descriptor\Console; |
| | | use think\Db; |
| | | use app\common\model\User as ModelUser; |
| | | use app\api\logic\SettlementRecord as LogicSettlementRecord; |
| | | class ActivityInfo extends BasicLogic |
| | | { |
| | | |
| | |
| | | $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]); |
| | | $tradeId=$act['id'].'u'.$cus['user_id']; |
| | | $yqCount=Db::query('select count(DISTINCT(login_deviceid)) as count from t_user where invitation_id=? and status=? and invite_bind_time>=? and invite_bind_time<=?',[$cus['user_id'],'normal',$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; |
| | | // |
| | | // |
| | | // |
| | | |
| | | |
| | | |
| | | $tradeId=$act['id'].$cus['user_id']; |
| | | 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; |
| | | } |
| | | //插入聚推客的订单 |
| | | $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()]); |
| | | //计算订单收益 |
| | | $title = $act['act_name'].'-活动奖励结算'; |
| | | ModelUser::money('inc',$price,$cus['user_id'],$title); |
| | | LogicSettlementRecord::writeLog('jtk',$price,$cus['user_id'],$title); |
| | | $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,tk_status,tk_earning_time,pub_share_fee)values(?,?,?,?,1,?,?,?,?,?,?,?,?,?,?,?)',[$tradeId,$tradeId,$cus['user_id'],$cus['user_id'],$price,$price,$act['act_name'].'-活动奖励',$act['id'],1,date("Y-m-d H:i:s", time()),time(),time(),3,time(),$price]); |
| | | 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); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 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; |
| | | } |
| | | |
| | | } |