diff --git a/app/admin/controller/shop/LocalStore.php b/app/admin/controller/shop/LocalStore.php index eb22f4a6..b4a96098 100755 --- a/app/admin/controller/shop/LocalStore.php +++ b/app/admin/controller/shop/LocalStore.php @@ -5,10 +5,12 @@ namespace app\admin\controller\shop; use app\admin\logic\groupbuy\GroupbuyLogic; use app\admin\logic\user\UserLogic; use app\common\basics\AdminBase; +use app\common\server\CloudAudioServer; use app\common\server\ConfigServer; use app\common\enum\LocalLifeICBCEnum; use app\admin\logic\shop\LocalStoreLogic; use app\common\server\JsonServer; +use app\common\server\storage\engine\Local; use think\facade\Request; use app\common\utils\UploadAliOSS; use app\admin\validate\shop\LocalStoreValidate; @@ -277,4 +279,35 @@ class LocalStore extends AdminBase { return view(''); } + + public function bind() + { + $id = $this->request->get('lstore_id'); + + if ($this->request->isAjax()) { + $post = $this->request->post(); + $result = LocalStoreLogic::bindCloudAudio($post); + if ($result) { + return JsonServer::success('绑定成功'); + } + + return JsonServer::error('绑定失败'); + } + + return view('', [ + 'lstore_id' => $id, + 'detail' => LocalStoreLogic::getBindAudio($id), + 'message' => str_replace(',', '', CloudAudioServer::MESSAGE) + ]); + } + + public function test() + { + $id = $this->request->get('lstore_id'); + $result = LocalStoreLogic::testCloudAudio($id); + if ($result) { + return JsonServer::success('操作成功'); + } + return JsonServer::error(LocalStoreLogic::getError()); + } } \ No newline at end of file diff --git a/app/admin/logic/shop/LocalStoreLogic.php b/app/admin/logic/shop/LocalStoreLogic.php index e6bfd5e1..f09192e7 100755 --- a/app/admin/logic/shop/LocalStoreLogic.php +++ b/app/admin/logic/shop/LocalStoreLogic.php @@ -5,9 +5,11 @@ namespace app\admin\logic\shop; use app\common\basics\Logic; use app\common\enum\TreatyEnum; use app\common\model\LocalStore; +use app\common\model\localstore\LocalStoreCloudAudio; use app\common\model\LocalStoreOrder; use app\common\model\LocalStoreOrderRecord; use app\common\model\Treaty; +use app\common\server\CloudAudioServer; use app\common\server\ExportExcelServer; use app\common\server\WeChatServer; use EasyWeChat\Factory; @@ -460,4 +462,54 @@ class LocalStoreLogic extends Logic { return GtMcc::where(['parent_id' => 0, 'state' => 1])->field('mcc_id, mccName')->select(); } + + // 国联支付 + public static function getBindAudio($lstore_id) + { + return LocalStoreCloudAudio::where('lstore_id', $lstore_id)->find(); + } + + public static function bindCloudAudio($data) + { + try { + $result = LocalStoreCloudAudio::where('id', $data['id'])->find(); + + $audio = [ + 'lstore_id' => $data['lstore_id'], + 'sn' => $data['sn'], + 'version' => $data['version'] <= 0 ? 1 : $data['version'], + 'message' => $data['message'] ?? CloudAudioServer::MESSAGE, + ]; + if (empty($result)) { + $audio['create_time'] = time(); + return LocalStoreCloudAudio::create($audio); + } + + $audio['update_time'] = time(); + return LocalStoreCloudAudio::where('id', $data['id'])->update($audio); + } catch (\Exception $e) { + self::$error = $e->getMessage(); + return false; + } + } + + public static function testCloudAudio($lstore_id) + { + $data = LocalStoreCloudAudio::where('lstore_id', $lstore_id)->find(); + if (!empty($data)) { + $result = CloudAudioServer::send([ + 'id' => $data['sn'], + 'version' => $data['version'], + 'message' => $data['message'], + ]); + + if ($result['code'] == 1) { + return true; + } + self::$error = $result['msg']; + return false; + } + self::$error = '未配置参数'; + return false; + } } \ No newline at end of file diff --git a/app/admin/view/shop/local_store/bind.html b/app/admin/view/shop/local_store/bind.html new file mode 100755 index 00000000..d7be5a9c --- /dev/null +++ b/app/admin/view/shop/local_store/bind.html @@ -0,0 +1,212 @@ +{layout name="layout2" /} + + +