wang hou sheng 8 months ago
parent 3329e909a0
commit b620eb0d0d
  1. 54
      app/store/controller/dealer/Apply.php
  2. 42
      app/store/model/dealer/Apply.php

@ -12,9 +12,11 @@ declare (strict_types=1);
namespace app\store\controller\dealer;
use think\response\Json;
use app\common\enum\WholesalerEnum;
use app\common\model\invite\InviteLog;
use app\store\controller\Controller;
use app\store\model\dealer\Apply as ApplyModel;
use think\response\Json;
/**
* 分销商申请
@ -35,6 +37,41 @@ class Apply extends Controller
return $this->renderSuccess(compact('list'));
}
/**
* 服务商申请列表
* @param string $search
* @return Json
*/
public function providersList(string $search = ''): Json
{
$model = new ApplyModel;
$list = $model->getList($search);
if ($list->total()) {
$inviteModel = new InviteLog();
$wholesalerApplyModel = new \app\store\model\wholesaler\Apply();
foreach ($list->items() as &$item) {
$item['wholesaler'] = '';
$adoption_num = 0;
$refuse_num = 0;
//统计邀请的采购商数量
$invitee_user_ids = $inviteModel->where('user_id', $item['user_id'])
->column('invitee_user_id');
if ($invitee_user_ids) {
$adoption_num = $wholesalerApplyModel->whereIn('user_id', $invitee_user_ids)
->where(['status' => WholesalerEnum::ADOPT])
->count();
//审核拒绝
$refuse_num = $wholesalerApplyModel->whereIn('user_id', $invitee_user_ids)
->where(['status' => WholesalerEnum::REFUSE])
->count();
}
$item['wholesaler'] = '通过:' . $adoption_num . '个,拒绝:' . $refuse_num;
}
}
return $this->renderSuccess(compact('list'));
}
/**
* 分销商审核
* @param int $applyId
@ -48,4 +85,19 @@ class Apply extends Controller
}
return $this->renderError($model->getError() ?: '操作失败');
}
/**
* @notes:服务商审核
* @param int $applyId
* @return Json
* @author: wanghousheng
*/
public function checkProviders(int $applyId): Json
{
$model = ApplyModel::detail($applyId);
if ($model->submitProviders($this->postForm())) {
return $this->renderSuccess('操作成功');
}
return $this->renderError($model->getError() ?: '操作失败');
}
}

@ -12,8 +12,10 @@ declare (strict_types=1);
namespace app\store\model\dealer;
use app\common\model\dealer\Apply as ApplyModel;
use app\common\enum\dealer\apply\ApplyStatus as ApplyStatusEnum;
use app\common\enum\user\UserTypeEnum;
use app\common\model\dealer\Apply as ApplyModel;
use app\common\model\User as UserModel;
/**
* 分销商入驻申请模型
@ -70,4 +72,42 @@ class Apply extends ApplyModel
});
return true;
}
/**
* 分销商入驻审核
* @param array $data
* @return bool
*/
public function submitProviders(array $data): bool
{
if ($data['apply_status'] == ApplyStatusEnum::REJECT && empty($data['reject_reason'])) {
$this->error = '请填写驳回原因';
return false;
}
$this->transaction(function () use ($data) {
if ($data['apply_status'] == ApplyStatusEnum::PASS) {
// 新增分销商用户
User::add($this['user_id'], [
'real_name' => $this['real_name'],
'mobile' => $this['mobile'],
'referee_id' => $this['referee_id'],
]);
//修改用户身份标识以及有效时间
$userModel = new UserModel();
$info = UserModel::detail(['user_id' => $this['user_id']]);
if (!empty($info)) {
$info = $info->toArray();
if ($info['effective_time'] && strtotime($info['effective_time']) > time() && $info['user_type'] == UserTypeEnum::MEMBER) {
$up['user_type'] = UserTypeEnum::DEALER;
$up['fx_effective_time'] = $info['effective_time'];
$userModel->where(['user_id' => $info['user_id']])->save($up);
}
}
}
// 更新申请记录
$data['audit_time'] = time();
$this->save($data);
});
return true;
}
}
Loading…
Cancel
Save