select('id,name,from_unixtime(createdAt) createdAt,from_unixtime(startTime) startTime,from_unixtime(endTime) endTime,display') ->from('{{%ybwm_old_with_new}}') ->where(['deleteAt'=>0,'uniacid'=>$this->wqData['uniacid']]); $list=$table ->offset($num) ->limit($limit) ->orderBy('id desc') ->all(); $count=$table->count(); return $this->result(1, '成功',$list,$count); } //保存活动 public function actionSaveActivity(){ $result=axios_request(); $request = Yii::$app->request; if($request->isGet){ $info=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new}}') ->where('id=:id',[':id'=>$result['id']])->one(); $info['rewardArr']=json_decode($info['rewardArr'],true)?:[]; $info['couponId']=json_decode($info['couponId'],true)?:[]; $info['startTime']=date("Y-m-d H:i:s",$info['startTime']); $info['endTime']=date("Y-m-d H:i:s",$info['endTime']); return $this->result(1, '成功',$info); } if(!$result['name']){ return $this->result(2,'活动名称不能为空!'); } if(!$result['startTime']){ return $this->result(2,'活动时间不能为空!'); } if(!$result['endTime']){ return $this->result(2,'活动时间不能为空!'); } $data['name']=$result['name']; $data['startTime']=strtotime($result['startTime']); $data['endTime']=strtotime($result['endTime']); $data['type']=$result['type']; $data['money']=$result['money']; $data['num']=$result['num']; $data['shareTitle']=$result['shareTitle']; $data['shareIcon']=$result['shareIcon']; $data['shareRule']=$result['shareRule']; array_multisort(array_column($result['rewardArr'],'people'),SORT_ASC,$result['rewardArr']); $data['rewardArr']=json_encode($result['rewardArr'])?:''; $data['isCoupon']=$result['isCoupon']; $data['couponId']=json_encode($result['couponId'])?:''; $data['isBalance']=$result['isBalance']; $data['balance']=$result['balance']; $data['isIntegral']=$result['isIntegral']; $data['integral']=$result['integral']; if($result['id']){ $data['changeAt']=time(); $re = Yii::$app->db->createCommand()->update('{{%ybwm_old_with_new}}', $data, 'id=:id', ['id' =>$result['id']])->execute(); }else{ $data['uniacid']=$this->wqData['uniacid']; $data['createdAt']=time(); $re=Yii::$app->db->createCommand()->insert('{{%ybwm_old_with_new}}', $data)->execute(); } if($re){ return $this->result(1,'成功'); }else{ return $this->result(2,'网络异常,请稍后再试'); } } //修改活动 public function actionModifyActivity(){ $post=axios_request(); if($post['type']==1){ //显示隐藏 $data['display']=$post['display']; } if($post['type']==2){ //删除 $data['deleteAt']=time(); } $data['changeAt']=time(); if(is_array($post['id'])){ $res = Yii::$app->db->createCommand()->update('{{%ybwm_old_with_new}}', $data, ['in','id',$post['id']])->execute(); }else{ $res = Yii::$app->db->createCommand()->update('{{%ybwm_old_with_new}}', $data, 'id=:id', ['id' =>$post['id']])->execute(); } if($res){ return $this->result(1,'成功'); }else{ return $this->result(2,'网络异常,请稍后再试'); } } //邀新记录 public function actionInvitation(){ $post=axios_request(); $page=$post['page']?:1; $num=($page-1)*10; $limit=10; $actId=$post['actId']; $andWhere=[]; if($actId){ $andWhere=['actId'=>$actId]; } $data['joinPeople']=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new_bind}}') ->where(['uniacid'=>$this->wqData['uniacid']])->andWhere($andWhere)->groupBy('userId')->count()?:0;//参与人数 $data['newPeople']=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new_bind}}') ->where(['uniacid'=>$this->wqData['uniacid']])->andWhere($andWhere)->groupBy('bindId')->count()?:0;//新用户人数 $data['completePeople']=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new_bind}}') ->where(['uniacid'=>$this->wqData['uniacid'],'state'=>1])->andWhere($andWhere)->groupBy('bindId')->count()?:0;//完成人数 $data['completeMoney']=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new_detailed}}') ->where(['uniacid'=>$this->wqData['uniacid']])->andWhere($andWhere)->sum('money')?:0;//奖励总额 $userIds=(new \yii\db\Query()) ->select('userId') ->from('{{%ybwm_old_with_new_bind}}') ->where(['uniacid'=>$this->wqData['uniacid']])->andWhere($andWhere)->all(); $userIdArr=array_column($userIds,'userId'); $user=(new \yii\db\Query()) ->select('id,userName,portrait') ->from('{{%ybwm_member}}') ->where(['in','id',$userIdArr])->offset($num) ->limit($limit)->all(); for($i=0;$ifrom('{{%ybwm_old_with_new_bind}}') ->where(['userId'=>$user[$i]['id'],'state'=>1])->andWhere($andWhere)->count()?:0; $user[$i]['completeMoney']=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new_detailed}}') ->where(['userId'=>$user[$i]['id']])->andWhere($andWhere)->sum('money')?:0; $partakeAt=(new \yii\db\Query()) ->from('{{%ybwm_old_with_new_bind}}') ->where(['userId'=>$user[$i]['id']])->andWhere($andWhere)->orderBy('id asc')->one(); $user[$i]['partakeAt']=date("Y-m-d H:i:s",$partakeAt['createdAt']); } $data['list']=$user; return $this->result(1,'成功',$data); } //奖励明细 public function actionAwardDetails(){ $result=axios_request(); $type=$result['type']; $keyword=$result['keyword']; $startTime=strtotime($result['startTime']); $endTime=strtotime($result['endTime']); $page=$result['page']?:1; $num=($page-1)*10; $limit=10; if($type==1){ $table=(new \yii\db\Query()) ->select('b.userName,b.portrait,a.money,from_unixtime(a.createdAt) createdAt,a.type,a.note,a.userId') ->from('{{%ybwm_user_bonus}} as a') ->leftJoin('{{%ybwm_member}} b','a.userId=b.id') ->where(['a.uniacid'=>$this->wqData['uniacid'],'a.note'=>'老带新奖励']); }else{ $table=(new \yii\db\Query()) ->select('b.userName,b.portrait,a.integral,from_unixtime(a.createdAt) createdAt,a.type,a.note,a.userId') ->from('{{%ybwm_user_integral}} as a') ->leftJoin('{{%ybwm_member}} b','a.userId=b.id') ->where(['a.uniacid'=>$this->wqData['uniacid'],'a.note'=>'老带新奖励']); } if($keyword){ $table->andWhere(['or',['like','b.userName',$keyword],['like','b.userTel',$keyword]]); } if($startTime AND $endTime){ $table->andWhere('a.createdAt>=:startTime AND a.createdAt<=:endTime',[':startTime'=>$startTime,':endTime'=>$endTime]); } $list=$table ->offset($num) ->limit($limit) ->orderBy('a.id desc') ->all(); $count=$table->count(); return $this->result(1, '成功',$list,$count); } //查看邀请的人 public function actionInvitationList(){ $result=axios_request(); $userId=$result['userId']; $actId=$result['actId']; $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]); if($actId){ $table->andWhere('a.actId='.$actId); } $list=$table ->offset($num) ->limit($limit) ->orderBy('a.id desc') ->all(); $count=$table->count(); return $this->result(1, '成功',$list,$count); } }