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; | ||
|  |         } | ||
|  |     } | ||
|  | } |