126 lines
5.4 KiB
PHP
126 lines
5.4 KiB
PHP
<?php
|
||
namespace app\controllers\channelApi;
|
||
use function GuzzleHttp\Psr7\str;
|
||
use Illuminate\Support\Facades\DB;
|
||
use Yii;
|
||
use EasyWeChat\Factory;
|
||
use app\models\common\Config;
|
||
use app\models\common\Member;
|
||
use app\models\common\Power;
|
||
class OldWithNewController extends CommonController{
|
||
public $enableCsrfValidation = false;
|
||
function init(){
|
||
parent::init();
|
||
$power=Power::getPayPower($this->wqData['uniacid'],'oldWithNew');
|
||
if(!$power){
|
||
echo json_encode(['code'=>2,'msg'=>'暂无权限']);die;
|
||
}
|
||
}
|
||
|
||
//老带新首页
|
||
public function actionIndex(){
|
||
|
||
$userId=$this->wqData['userId'];
|
||
$uniacid=$this->wqData['uniacid'];
|
||
$now=time();
|
||
$actInfo=(new \yii\db\Query())
|
||
->from('{{%ybwm_old_with_new}}')
|
||
->where('uniacid=:uniacid AND display=1 AND deleteAt=0 AND startTime<=:time AND endTime>:time',[':time'=>$now,':uniacid'=>$uniacid])->one();//查看活动
|
||
$rewardArr=json_decode($actInfo['rewardArr'],true);//奖励数组
|
||
$num=(new \yii\db\Query())
|
||
->from('{{%ybwm_old_with_new_bind}}')
|
||
->where('actId=:actId AND state=1 AND userId=:userId',[':actId'=>$actInfo['id'],':userId'=>$userId])->count();
|
||
$people=(new \yii\db\Query())
|
||
->from('{{%ybwm_old_with_new_bind}}')
|
||
->where('actId=:actId',[':actId'=>$actInfo['id']])->groupBy('userId')->count();
|
||
$data['people']=$people?:0;
|
||
for($i=0;$i<count($rewardArr);$i++){
|
||
$rewardArr[$i]['state']=2;
|
||
$people=$rewardArr[$i]['people'];
|
||
if($num>=$people){
|
||
$rewardArr[$i]['state']=1;
|
||
}
|
||
}
|
||
$data['waitMoney']=0;
|
||
// print_R($rewardArr);die;
|
||
for($j=0;$j<count($rewardArr);$j++){
|
||
if($rewardArr[$j]['state']==2){
|
||
$data['waitMoney']=$rewardArr[$j]['money'];
|
||
break;
|
||
}
|
||
}
|
||
$money=(new \yii\db\Query())
|
||
->from('{{%ybwm_old_with_new_detailed}}')
|
||
->where('actId=:actId AND userId=:userId',[':actId'=>$actInfo['id'],':userId'=>$userId])->sum('money');
|
||
$data['num']=$num?:0;
|
||
$data['rewardArr']=$rewardArr;
|
||
$data['money']=$money?:0;
|
||
$data['actinfo']=$actInfo;
|
||
return $this->result(1, '成功', $data);
|
||
}
|
||
public function actionRank(){
|
||
$now=time();
|
||
$result=axios_request();
|
||
$uniacid=$this->wqData['uniacid'];
|
||
$type=$result['type'];
|
||
$actInfo=(new \yii\db\Query())
|
||
->from('{{%ybwm_old_with_new}}')
|
||
->where('uniacid=:uniacid AND display=1 AND deleteAt=0 AND startTime<=:time AND endTime>:time',[':time'=>$now,':uniacid'=>$uniacid])->one();//查看活动
|
||
$date=date('Y-m-d'); //当前日期
|
||
$first=1; //$first =1 表示每周星期一为开始日期 0表示每周日为开始日期
|
||
$w=date('w',strtotime($date)); //获取当前周的第几天 周日是 0 周一到周六是 1 - 6
|
||
$now_start=date('Y-m-d',strtotime("$date -".($w ? $w - $first : 6).' days')); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天
|
||
$now_end=date('Y-m-d',strtotime("$now_start +6 days")); //本周结束日期
|
||
$last_start=date('Y-m-d',strtotime("$now_start - 7 days")); //上周开始日期
|
||
$last_end=date('Y-m-d',strtotime("$now_start - 1 days")); //上周结束日期
|
||
$data['weekStart']=$now_start;
|
||
$data['weekEnd']=$now_end;
|
||
$data['lastWeekStart']=$last_start;
|
||
$data['lastWeekEnd']=$last_end;
|
||
if($type==1){
|
||
$startTime=strtotime($now_start);
|
||
$endTime=strtotime($now_end);
|
||
}else{
|
||
$startTime=strtotime($last_start);
|
||
$endTime=strtotime($last_end);
|
||
}
|
||
$rank=(new \yii\db\Query())
|
||
->select('sum(a.money) money,b.userName,b.portrait,b.userTel')
|
||
->from('{{%ybwm_old_with_new_detailed}} as a')
|
||
->leftJoin('{{%ybwm_member}} b','a.userId=b.id')
|
||
->where('a.actId=:actId AND a.createdAt>=:startTime AND a.createdAt<=:endTime',[':actId'=>$actInfo['id'],':startTime'=>$startTime,':endTime'=>$endTime])
|
||
->groupBy('a.userId')
|
||
->orderBy('a.money desc')
|
||
->all();
|
||
$data['rank']=$rank;
|
||
return $this->result(1, '成功', $data);
|
||
}
|
||
public function actionInvitationList(){
|
||
$result=axios_request();
|
||
$state=$result['state']?:1;
|
||
$now=time();
|
||
$uniacid=$this->wqData['uniacid'];
|
||
$userId=$this->wqData['userId'];
|
||
$actInfo=(new \yii\db\Query())
|
||
->from('{{%ybwm_old_with_new}}')
|
||
->where('uniacid=:uniacid AND display=1 AND deleteAt=0 AND startTime<=:time AND endTime>:time',[':time'=>$now,':uniacid'=>$uniacid])->one();//查看活动
|
||
$actId=$actInfo['id'];
|
||
$page=$result['page']?:1;
|
||
$num=($page-1)*10;
|
||
$limit=10;
|
||
$table=(new \yii\db\Query())
|
||
->select('b.userName,b.portrait,a.state,from_unixtime(a.createdAt) createdAt,a.bindId')
|
||
->from('{{%ybwm_old_with_new_bind}} as a')
|
||
->leftJoin('{{%ybwm_member}} b','a.bindId=b.id')
|
||
->where(['a.userId'=>$userId,'a.state'=>$state]);
|
||
if($actId){
|
||
$table->andWhere('a.actId='.$actId);
|
||
}
|
||
$list=$table
|
||
->offset($num)
|
||
->limit($limit)
|
||
->orderBy('a.id desc')
|
||
->all();
|
||
return $this->result(1, '成功',$list);
|
||
}
|
||
} |