93 lines
3.6 KiB
PHP
93 lines
3.6 KiB
PHP
<?php
|
|
|
|
|
|
namespace app\shop\logic;
|
|
|
|
|
|
use app\common\basics\Logic;
|
|
use app\common\enum\ShopEnum;
|
|
use app\common\model\shop\Shop;
|
|
use app\common\server\UrlServer;
|
|
|
|
class StoreLogic extends Logic
|
|
{
|
|
/**
|
|
* @Notes: 获取商家详细
|
|
* @Author: 张无忌
|
|
* @param $shop_id
|
|
* @return array
|
|
*/
|
|
public static function detail($shop_id)
|
|
{
|
|
$model = new Shop();
|
|
$detail = $model->field(true)
|
|
->with(['category'])
|
|
->json(['other_qualifications'],true)
|
|
->findOrEmpty($shop_id)->toArray();
|
|
|
|
$detail['category'] = $detail['category']['name'] ?? '未知';
|
|
$detail['type'] = ShopEnum::getShopTypeDesc($detail['type']);
|
|
$detail['run_start_time'] = $detail['run_start_time'] ? date('H:i:s', $detail['run_start_time']) : '';
|
|
$detail['run_end_time'] = $detail['run_end_time'] ? date('H:i:s', $detail['run_end_time']) : '';
|
|
$detail['business_license'] = $detail['business_license'] ? UrlServer::getFileUrl($detail['business_license']) : '';
|
|
if (!empty($detail['other_qualifications'])) {
|
|
foreach ($detail['other_qualifications'] as &$val) {
|
|
$val = UrlServer::getFileUrl($val);
|
|
}
|
|
}
|
|
|
|
|
|
return $detail;
|
|
}
|
|
|
|
/**
|
|
* @Notes: 修改商家信息
|
|
* @Author: 张无忌
|
|
* @param $post
|
|
* @return bool
|
|
*/
|
|
public static function edit($post)
|
|
{
|
|
try {
|
|
$num = count($post['other_qualifications'] ?? []);
|
|
if ($num > 5) {
|
|
throw new \think\Exception('其他资质图片不能超过五张', 10006);
|
|
}
|
|
|
|
Shop::update([
|
|
'nickname' => $post['nickname'],
|
|
'mobile' => $post['mobile'],
|
|
'keywords' => $post['keywords'] ?? '',
|
|
'intro' => $post['intro'] ?? '',
|
|
'is_run' => $post['is_run'],
|
|
// 'service_mobile' => $post['service_mobile'],
|
|
'weekdays' => $post['weekdays'] ?? '',
|
|
'province_id' => $post['province_id'] ?? 0,
|
|
'city_id' => $post['city_id'] ?? 0,
|
|
'district_id' => $post['district_id'] ?? 0,
|
|
'address' => $post['address'] ?? '',
|
|
'longitude' => $post['longitude'] ?? '',
|
|
'latitude' => $post['latitude'] ?? '',
|
|
'run_start_time' => empty($post['run_start_time']) ? '' : strtotime($post['run_start_time']),
|
|
'run_end_time' => empty($post['run_end_time']) ? '' : strtotime($post['run_end_time']),
|
|
'refund_address' => json_encode([
|
|
'nickname' => $post['refund_nickname'],
|
|
'mobile' => $post['refund_mobile'],
|
|
'province_id' => $post['refund_province_id'],
|
|
'city_id' => $post['refund_city_id'],
|
|
'district_id' => $post['refund_district_id'],
|
|
'address' => $post['refund_address'],
|
|
], JSON_UNESCAPED_UNICODE),
|
|
'business_license' => empty($post['business_license']) ? '' : UrlServer::setFileUrl($post['business_license']),
|
|
'other_qualifications' => isset($post['other_qualifications']) ? json_encode($post['other_qualifications'], JSON_UNESCAPED_UNICODE) : '',
|
|
'open_invoice' => $post['open_invoice'] ?? 0,
|
|
'spec_invoice' => $post['spec_invoice'] ?? 0,
|
|
], ['id'=>$post['id']]);
|
|
|
|
return true;
|
|
} catch (\Exception $e) {
|
|
static::$error = $e->getMessage();
|
|
return false;
|
|
}
|
|
}
|
|
} |