2023-11-21 15:14:59 +08:00

108 lines
3.6 KiB
PHP

<?php
namespace app\applet\controller\wxapp;
use app\applet\controller\Controller;
use hema\wechat\Driver;
use think\facade\View;
/**
* 附近的小程序管理
*/
class Nearby extends Controller
{
/**
* 列表
*/
public function index()
{
$wx = new Driver;
$list = $wx->getNearbyPoi($this->applet_id);
if(isset($list['data']['data'])){
$list['data']['data'] = hema_json($list['data']['data'],true);
}
return View::fetch('index', compact('list'));
}
/**
* 添加
*/
public function add()
{
if (!$this->request->isAjax()) {
$category = []; //门店列表
return View::fetch('add', compact('category'));
}
$data = $this->postData('data');
if(!isset($data['shop_id'])){
$shop_id = $this->shop_id;
}else{
$shop_id = $data['shop_id'];
unset($data['shop_id']);
}
$shop = ShopModel::get($shop_id);
$data['store_name'] = $shop['shop_name'];
$data['hour'] = $shop['shop_hours'];
$data['contract_phone'] = $shop['phone'];
$data['address'] = $shop['province'] . $shop['city'] . $shop['district'] . $shop['address'];
$data['map_poi_id'] = $shop['poi_id'];
$data['service_infos'] = [
'service_infos' => [
['id' => 1,'type' => 1,'name' => '外送','appid' => $this->user['applet']['app_id'],'path' => '/pages/index/index'],
['id' => 6,'type' => 1,'name' => '点餐','appid' => $this->user['applet']['app_id'],'path' => '/pages/index/index'],
['id' => 4,'type' => 1,'name' => '预约','appid' => $this->user['applet']['app_id'],'path' => '/pages/index/index'],
['id' => 14,'type' => 1,'name' => '到店自提','appid' => $this->user['applet']['app_id'],'path' => '/pages/index/index']
]
];
$data['service_infos'] = hema_json($data['service_infos']);
$wx = new Driver;
//上传临时素材
if(!$result = $wx->upTempMaterial($data['qualification_list'],$this->applet_id)){
return $this->renderError($wx->getError());
}
$data['qualification_list'] = $result;
$shop_pic['list'] = [];
foreach ($data['pic_list'] as $value) {
//上传永久素材
if(!$result = $wx->upMediaUrl($value,$this->applet_id)){
return $this->renderError($wx->getError());
}
$shop_pic['list'][] = $result;
}
$data['pic_list'] = json_encode($shop_pic);
if(!$wx->addNearbyPoi($data, $this->applet_id)){
return $this->renderError($wx->getError());
}
return $this->renderSuccess('添加成功',url('wxapp.nearby/index'));
}
/**
* 删除
*/
public function delete(string $id)
{
$wx = new Driver;
if(!$wx->delNearbyPoi($this->applet_id,$id)){
return $this->renderError($wx->getError());
}
return $this->renderSuccess('删除成功');
}
/**
* 展示状态切换
*/
public function status($id,$status)
{
if($status == 1){
$status = 0;
}else{
$status = 1;
}
$wx = new Driver;
if(!$wx->setNearbyPoiShowStatus($this->applet_id,$id,$status)){
return $this->renderError($wx->getError());
}
return $this->renderSuccess('删除成功');
}
}