其余文件
This commit is contained in:
143
app/admin/logic/distribution/ApplyLogic.php
Normal file
143
app/admin/logic/distribution/ApplyLogic.php
Normal file
@ -0,0 +1,143 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace app\admin\logic\distribution;
|
||||
|
||||
|
||||
use app\common\basics\Logic;
|
||||
use app\common\logic\DistributionLogic;
|
||||
use app\common\model\distribution\Distribution;
|
||||
use app\common\model\distribution\DistributionMemberApply;
|
||||
use app\common\model\user\User;
|
||||
use app\common\server\AreaServer;
|
||||
use app\common\server\UrlServer;
|
||||
use think\facade\Db;
|
||||
|
||||
class ApplyLogic extends Logic
|
||||
{
|
||||
/**
|
||||
* @Notes: 分销申请列表
|
||||
* @Author: 张无忌
|
||||
* @param $get
|
||||
* @return array
|
||||
*/
|
||||
public static function lists($get)
|
||||
{
|
||||
try {
|
||||
$where[] = ['DMA.status', '=', $get['type'] ?? 0];
|
||||
$where[] = ['U.user_delete', '=', 0];
|
||||
if (!empty($get['keyword']) and $get['keyword']) {
|
||||
switch ($get['keyword_type']) {
|
||||
case 'sn':
|
||||
$where[] = ['U.sn', 'like', '%'.$get['keyword'].'%'];
|
||||
break;
|
||||
case 'nickname':
|
||||
$where[] = ['U.nickname', 'like', '%'.$get['keyword'].'%'];
|
||||
break;
|
||||
case 'mobile':
|
||||
$where[] = ['U.mobile', '=', $get['keyword']];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$model = new DistributionMemberApply();
|
||||
$lists = $model->field(['DMA.*'])->alias('DMA')
|
||||
->where($where)
|
||||
->with(['user.level'])
|
||||
->join('user U', 'U.id = DMA.user_id')
|
||||
->paginate([
|
||||
'page' => $get['page'],
|
||||
'list_rows' => $get['limit'],
|
||||
'var_page' => 'page'
|
||||
])->toArray();
|
||||
|
||||
foreach ($lists['data'] as &$item) {
|
||||
if ($item['user']) {
|
||||
$item['user']['avatar'] = UrlServer::getFileUrl($item['user']['avatar']);
|
||||
}
|
||||
$item['region'] = AreaServer::getAddress([
|
||||
$item['province'],
|
||||
$item['city'],
|
||||
$item['district']]
|
||||
);
|
||||
}
|
||||
|
||||
return ['count'=>$lists['total'], 'lists'=>$lists['data']];
|
||||
} catch (\Exception $e) {
|
||||
return ['error'=>$e->getMessage()];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Notes: 分销申请详细
|
||||
* @Author: 张无忌
|
||||
* @param $id
|
||||
* @return array
|
||||
*/
|
||||
public static function detail($id)
|
||||
{
|
||||
$model = new DistributionMemberApply();
|
||||
$detail = $model->field(true)
|
||||
->with(['user.level'])
|
||||
->findOrEmpty($id)
|
||||
->toArray();
|
||||
|
||||
$detail['status_text'] = DistributionMemberApply::getApplyStatus($detail['status']);
|
||||
$detail['region'] = AreaServer::getAddress([
|
||||
$detail['province'],
|
||||
$detail['city'],
|
||||
$detail['district']]
|
||||
);
|
||||
|
||||
return $detail;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Notes: 审核分销申请
|
||||
* @Author: 张无忌
|
||||
* @param $post
|
||||
* @return bool
|
||||
*/
|
||||
public static function audit($post)
|
||||
{
|
||||
Db::startTrans();
|
||||
try {
|
||||
if ($post['audit_status'] == 1) {
|
||||
// 审核通过
|
||||
$model = new DistributionMemberApply();
|
||||
$apply = $model->field(true)->findOrEmpty((int)$post['id'])->toArray();
|
||||
|
||||
DistributionMemberApply::update([
|
||||
'status' => $post['audit_status'],
|
||||
'denial_reason' => $post['denial_reason'] ?? '',
|
||||
'update_time' => time()
|
||||
], ['id'=>(int)$post['id']]);
|
||||
|
||||
$distribution = Distribution::where('user_id', $apply['user_id'])->findOrEmpty()->toArray();
|
||||
if (empty($distribution)) {
|
||||
// 生成分销基础信息表
|
||||
DistributionLogic::add($apply['user_id']);
|
||||
}
|
||||
// 更新分销基础信息表
|
||||
Distribution::where('user_id', $apply['user_id'])->update([
|
||||
'is_distribution' => 1,
|
||||
'distribution_time' => time()
|
||||
]);
|
||||
} else {
|
||||
// 审核拒绝
|
||||
DistributionMemberApply::update([
|
||||
'status' => $post['audit_status'],
|
||||
'denial_reason' => $post['denial_reason'] ?? '',
|
||||
'update_time' => time()
|
||||
], ['id'=>(int)$post['id']]);
|
||||
}
|
||||
|
||||
Db::commit();
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
Db::rollback();
|
||||
static::$error = $e->getMessage();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user