141 lines
4.4 KiB
PHP
141 lines
4.4 KiB
PHP
<?php
|
|
|
|
|
|
namespace app\api\logic;
|
|
|
|
|
|
use app\common\basics\Logic;
|
|
use app\common\enum\NoticeEnum;
|
|
use app\common\model\shop\ShopApply;
|
|
use app\common\model\shop\ShopCategory;
|
|
use app\common\server\ConfigServer;
|
|
use app\common\server\UrlServer;
|
|
use think\Exception;
|
|
|
|
class ShopApplyLogic extends Logic
|
|
{
|
|
/**
|
|
* @Notes: 商家申请入驻
|
|
* @Author: 张无忌
|
|
* @param $post
|
|
* @param $user_id
|
|
* @return bool|array
|
|
*/
|
|
public static function apply($post, $user_id)
|
|
{
|
|
try {
|
|
// 验证商家名称及账号是否已存在
|
|
$applyInfo = ShopApply::where([
|
|
['del', '=', 0],
|
|
['audit_status', '<>', 3],
|
|
['name', '=', $post['name']],
|
|
])->select()->toArray();
|
|
if($applyInfo) {
|
|
throw new Exception('商家名称已存在');
|
|
}
|
|
$applyInfo = ShopApply::where([
|
|
['del', '=', 0],
|
|
['audit_status', '<>', 3],
|
|
['account', '=', $post['account']],
|
|
])->select()->toArray();
|
|
if($applyInfo) {
|
|
throw new Exception('商家账号已存在');
|
|
}
|
|
$apply = ShopApply::create([
|
|
'user_id' => $user_id,
|
|
'cid' => $post['cid'],
|
|
'name' => $post['name'],
|
|
'nickname' => $post['nickname'],
|
|
'mobile' => $post['mobile'],
|
|
'account' => $post['account'],
|
|
'password' => $post['password'],
|
|
'license' => implode(',', $post['license']),
|
|
'del' => 0,
|
|
'audit_status' => 1,
|
|
'audit_explain' => '',
|
|
'apply_time' => time()
|
|
]);
|
|
|
|
$platform_contacts = ConfigServer::get('website_platform','platform_mobile');
|
|
if (!empty($platform_contacts)) {
|
|
//通知平台
|
|
event('Notice', [
|
|
'scene' => NoticeEnum::SHOP_APPLY_NOTICE_PLATFORM,
|
|
'mobile' => $platform_contacts,
|
|
'params' => [
|
|
'user_id' => $user_id,
|
|
'shop_name' => $post['name'],
|
|
]
|
|
]);
|
|
}
|
|
|
|
|
|
return ['id'=>$apply->id];
|
|
} catch (\Exception $e) {
|
|
static::$error = $e->getMessage();
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @Notes: 申请记录列表
|
|
* @Author: 张无忌
|
|
* @param $get
|
|
* @param $user_id
|
|
* @return array
|
|
*/
|
|
public static function record($get, $user_id)
|
|
{
|
|
try {
|
|
$model = new ShopApply();
|
|
$lists = $model->field('id,name,apply_time,audit_status,audit_status as audit_status_desc')
|
|
->order('id', 'desc')
|
|
->where([
|
|
['user_id', '=', $user_id],
|
|
['del', '=', 0]
|
|
])
|
|
->page($get['page_no'], $get['page_size'])
|
|
->select()
|
|
->toArray();
|
|
|
|
$count = $model->field('id,name,apply_time,audit_status as audit_status_desc')
|
|
->where([
|
|
['user_id', '=', $user_id],
|
|
['del', '=', 0]
|
|
])
|
|
->count();
|
|
|
|
return [
|
|
'count' => $count,
|
|
'lists' => $lists,
|
|
'page_no' => $get['page_no'],
|
|
'page_size' => $get['page_size'],
|
|
'more' => is_more($count, $get['page_no'], $get['page_size'])
|
|
];
|
|
|
|
} catch (\Exception $e) {
|
|
return ['error'=>$e->getMessage()];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @Notes: 申请详细
|
|
* @Author: 张无忌
|
|
* @param $id
|
|
* @return array
|
|
*/
|
|
public static function detail($id)
|
|
{
|
|
$model = new ShopApply();
|
|
$info = $model->field(true)->findOrEmpty($id)->toArray();
|
|
if(!empty($info['license'])) {
|
|
foreach($info['license'] as $key => $item) {
|
|
$info['license'][$key] = UrlServer::getFileUrl($item);
|
|
}
|
|
}
|
|
$shop_category = ShopCategory::where('del', 0)->column('id,name', 'id');
|
|
$info['admin_address'] = request()->domain().'/shop';
|
|
$info['cid_desc'] = $shop_category[$info['cid']]['name'];
|
|
return $info;
|
|
}
|
|
} |