171 lines
6.6 KiB
PHP
171 lines
6.6 KiB
PHP
<?php
|
|
namespace app\controllers\channelApi;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Yii;
|
|
use yii\web\Controller;
|
|
use app\models\common\Config;
|
|
use app\models\common\Power;
|
|
class DistributionController extends CommonController{
|
|
public $enableCsrfValidation = false;
|
|
function init(){
|
|
parent::init();
|
|
$power=Power::getPayPower($this->wqData['uniacid'],'distribution');
|
|
if(!$power){
|
|
echo json_encode(['code'=>2,'msg'=>'暂无权限']);die;
|
|
}
|
|
}
|
|
//申请分销商
|
|
public function actionApplyDistribution(){
|
|
$result=axios_request();
|
|
$userId=$this->wqData['userId'];
|
|
$uniacid=$this->wqData['uniacid'];
|
|
$request = Yii::$app->request;
|
|
if($request->isGet){
|
|
$info=(new \yii\db\Query())
|
|
->from('{{%ybwm_distribution}}')
|
|
->where(['userId'=>$userId,'deleteAt'=>0])->one();
|
|
if($info){
|
|
$info['examineAt']=date('Y-m-d H:i:s',$info['examineAt']);
|
|
}
|
|
|
|
return $this->result(1, '成功',$info);
|
|
}
|
|
|
|
if(!$userId){
|
|
return $this->result(2, '数据异常');
|
|
}
|
|
$info=(new \yii\db\Query())
|
|
->from('{{%ybwm_distribution}}')
|
|
->where(['userId'=>$userId,'deleteAt'=>0])->one();
|
|
if($info['state']==1){
|
|
return $this->result(2, '申请正在审核中');
|
|
}
|
|
if($info['state']==2){
|
|
return $this->result(2, '您已经是分销商,不可重复提交');
|
|
}
|
|
if(!$result['name']){
|
|
return $this->result(2, '分销商名称不能为空');
|
|
}
|
|
if(!$result['tel']){
|
|
return $this->result(2, '分销商电话不能为空');
|
|
}
|
|
$data['userId']=$userId;
|
|
$data['name']=$result['name'];
|
|
$data['tel']=$result['tel'];
|
|
$data['state']=1;
|
|
$data['uniacid']=$uniacid;
|
|
$data['createdAt']=time();
|
|
$set=Config::getSystemSet('distributionSet',$uniacid);
|
|
if($set['examineOpen']==2){
|
|
$data['state']=2;
|
|
$data['examineAt']=time();
|
|
}
|
|
if(!$info){
|
|
$res=Yii::$app->db->createCommand()->insert('{{%ybwm_distribution}}', $data)->execute();
|
|
}else{
|
|
$res=Yii::$app->db->createCommand()->update('{{%ybwm_distribution}}', $data,['id'=>$info['id']])->execute();
|
|
}
|
|
if($res){
|
|
return $this->result(1, '成功');
|
|
}else{
|
|
return $this->result(2, '失败');
|
|
}
|
|
}
|
|
//查看下线
|
|
public function actionGetOffline(){
|
|
$result=axios_request();
|
|
$type=$result['type'];
|
|
$userId=$this->wqData['userId'];
|
|
$page=$result['page']?:1;
|
|
$num=($page-1)*10;
|
|
$limit=10;
|
|
$list=(new \yii\db\Query())
|
|
->select('b.userName,b.portrait,a.bindId,from_unixtime(a.createdAt) createdAt')
|
|
->from('{{%ybwm_distribution_bind}} as a')
|
|
->join('LEFT JOIN', '{{%ybwm_member}} as b', 'b.id = a.bindId');
|
|
if($type==1){
|
|
$list->andWhere(['a.userId'=>$userId]);
|
|
}else{
|
|
$list->andWhere(['a.twoId'=>$userId]);
|
|
}
|
|
$data=$list->offset($num)
|
|
->limit($limit)->orderBy('a.id desc')->all();
|
|
return $this->result(1, '成功', $data);
|
|
}
|
|
//查看分销订单
|
|
public function actionDistributionOrder(){
|
|
$result=axios_request();
|
|
$page=$result['page']?:1;
|
|
$num=($page-1)*10;
|
|
$limit=10;
|
|
$uniacid=$this->wqData['uniacid'];
|
|
$keyword=$result['keyword'];
|
|
$userId=$this->wqData['userId'];
|
|
$item=$result['item'];
|
|
$type=$result['type'];
|
|
$startTime=strtotime($result['startTime']);
|
|
$endTime=strtotime($result['endTime']);
|
|
$list=(new \yii\db\Query())
|
|
->select('a.level,b.userName,b.portrait,a.userId,c.name as distributionName,c.tel as distributionTel,a.money,from_unixtime(a.createdAt) createdAt,a.outTradeNo,a.type')
|
|
->from('{{%ybwm_distribution_order}} as a')
|
|
->join('LEFT JOIN', '{{%ybwm_member}} as b', 'b.id = a.userId')
|
|
->join('LEFT JOIN', '{{%ybwm_distribution}} as c', 'c.userId = a.distributionId')
|
|
->where(['a.uniacid'=>$uniacid]);
|
|
if($startTime AND $endTime){
|
|
$list->andWhere('a.createdAt>=:startTime AND a.createdAt<=:endTime',[':startTime'=>$startTime,':endTime'=>$endTime]);
|
|
}
|
|
if($item){
|
|
$list->andwhere('a.item='.$item);
|
|
}
|
|
if($type){
|
|
$list->andwhere('a.type='.$type);
|
|
}
|
|
if($userId){
|
|
$list->andwhere('a.distributionId='.$userId);
|
|
}
|
|
if ($keyword) {
|
|
$list->andwhere(['or', ['like', 'a.outTradeNo', $keyword],['like', 'c.name', $keyword], ['like', 'b.userName', $keyword]]);
|
|
}
|
|
$data=$list->offset($num)
|
|
->limit($limit)->orderBy('a.id desc')->all();
|
|
return $this->result(1, '成功', $data);
|
|
}
|
|
//分销中心
|
|
public function actionIndex(){
|
|
$userId=$this->wqData['userId'];
|
|
$yit=(new \yii\db\Query())
|
|
->from('{{%ybwm_bonus_withdrawal}}')
|
|
->where(['userId'=>$userId,'item'=>2,'state'=>2])->sum('money')?:0;//已提现
|
|
$tx=(new \yii\db\Query())
|
|
->from('{{%ybwm_bonus_withdrawal}}')
|
|
->where(['userId'=>$userId,'item'=>2])
|
|
->andWhere(['in','state',[1,2]])
|
|
->sum('money')?:0;//已提现和提现中
|
|
$userMoney=(new \yii\db\Query())
|
|
->select('commission')
|
|
->from('{{%ybwm_member}}')
|
|
->where(['id'=>$userId])->one()['commission']?:0;//用户佣金
|
|
$data['frozen']=(new \yii\db\Query())
|
|
->from('{{%ybwm_distribution_order}}')
|
|
->where(['distributionId'=>$userId,'type'=>1])->sum('money')?:'0.00';//冻结
|
|
$data['wait']=(new \yii\db\Query())
|
|
->from('{{%ybwm_bonus_withdrawal}}')
|
|
->where(['userId'=>$userId,'item'=>2,'state'=>2])
|
|
->sum('money')?:'0.00';//提现中
|
|
$data['alreadyMoney']=$yit?:'0.00';//已提现
|
|
$data['userMoney']=$userMoney?:'0.00';//可提现
|
|
$data['allMoney']=bcadd($tx,$userMoney,2);//累计
|
|
$onePeople=(new \yii\db\Query())
|
|
->from('{{%ybwm_distribution_bind}}')
|
|
->where(['userId'=>$userId])
|
|
->count()?:0;
|
|
$twoPeople=(new \yii\db\Query())
|
|
->from('{{%ybwm_distribution_bind}}')
|
|
->where(['twoId'=>$userId])
|
|
->count()?:0;
|
|
$data['people']=bcadd($twoPeople,$onePeople,0);//下线
|
|
return $this->result(1, '成功', $data);
|
|
}
|
|
|
|
|
|
} |