<?php
|
|
namespace app\api\controller\plus\vip;
|
|
use app\api\controller\Controller;
|
use app\api\model\plus\agent\Referee;
|
use app\api\model\plus\vip\Apply as VipApplyModel;
|
use app\api\model\plus\vip\Setting as VipSettingModel;
|
use app\api\model\settings\Message as MessageModel;
|
use app\common\exception\BaseException;
|
use app\common\model\product\Product as ProductModel;
|
use app\api\model\plus\vip\User as VipUserModel;
|
/**
|
* VIP专区申请
|
*/
|
class Apply extends Controller
|
{
|
// 当前用户
|
private $user;
|
|
/**
|
* 构造方法
|
*/
|
public function initialize()
|
{
|
$this->user = $this->getUser(); // 用户信息
|
}
|
|
/**
|
* 提交VIP专区申请
|
*/
|
public function submit()
|
{
|
$data = $this->postData();
|
if (empty($data['real_name']) || empty($data['mobile'])) {
|
throw new BaseException(['msg' => '姓名或者手机号为空']);
|
}
|
$model = new VipApplyModel;
|
if ($model->submit($this->user, $data)) {
|
return $this->renderSuccess('申请提交成功');
|
}
|
return $this->renderError($model->getError() ?: '提交失败');
|
}
|
|
/**
|
* 获取VIP专区协议
|
*/
|
public function getAgreement()
|
{
|
$model = new VipSettingModel();
|
$data = $model::getItem('license');
|
return $this->renderSuccess('', compact('data'));
|
}
|
|
/**
|
* 检查是否已申请
|
*/
|
public function checkApply()
|
{
|
$model = new VipApplyModel();
|
$hasApply = $model->where('user_id', $this->user['user_id'])
|
->where('apply_status', '<>', 30)
|
->count();
|
|
return $this->renderSuccess('', ['has_apply' => $hasApply > 0]);
|
}
|
/**
|
* 分销商申请状态
|
*/
|
public function apply($referee_id = null, $platform= '')
|
{
|
// 推荐人昵称
|
$referee_name = '平台';
|
// 如果之前有关联分销商,则继续关联之前的分销商
|
$has_referee_id = Referee::getRefereeUserId($this->user['user_id'], 1);
|
$setting = VipSettingModel::getAll();
|
if($has_referee_id > 0){
|
$referee_id = $has_referee_id;
|
}
|
if ($referee_id > 0 && ($referee = VipUserModel::detail($referee_id))) {
|
$referee_name = $referee['user']['nickName'];
|
}
|
//商品列表
|
$product_ids = $setting['basic']['values']['become__buy_product_ids'];
|
$productList = [];
|
if(count($product_ids) > 0){
|
$productList = (new ProductModel)->getListByIds($product_ids);
|
}
|
|
return $this->renderSuccess('', [
|
// 当前是否为分销商
|
'is_bonus' => false,
|
// 当前是否在申请中
|
'is_applying' => false,
|
// 推荐人昵称
|
'referee_name' => $referee_name,
|
// 背景图
|
'background' => $setting['background']['values']['index'],
|
// 页面文字
|
'words' => $setting['words']['values'],
|
// 申请协议
|
'license' => '',
|
// 如果来源是小程序, 则获取小程序订阅消息id.获取售后通知.
|
'template_arr' => MessageModel::getMessageByNameArr($platform, ['vip_apply_user']),
|
//商品列表
|
'productList' => $productList,
|
// 底部图
|
'bottom_background' => $setting['background']['values']['index'],
|
]);
|
}
|
|
}
|