Pārlūkot izejas kodu

微信消息和参数调整

zhangxiaobin 1 gadu atpakaļ
vecāks
revīzija
6b8af091d8

+ 19 - 7
application/api/controller/PreOrder.php

@@ -104,13 +104,25 @@ class PreOrder extends Api
             if (!$res) {
                 throw new Exception('操作失败');
             }
-            if (empty($id)) {//微信消息推送
-                /*$userService = new UserService();
-                $params = ['pre_order_id' => $res];
-                $wechatMsgRes = $userService->wechatMessageSend($params);
-                if (!$wechatMsgRes['status']) {
-                    throw new Exception($wechatMsgRes['msg']);
-                }*/
+            $this->success('操作成功');
+        } catch (Exception $e) {
+            $this->error($e->getMessage());
+        }
+    }
+
+    /**
+     * 微信消息通知
+     * @return void
+     */
+    public function wxMessage()
+    {
+        try {
+            $preOrderId = $this->request->param('pre_order_id',0);
+            $userService = new UserService();
+            $params = ['pre_order_id' => $preOrderId];
+            $wechatMsgRes = $userService->wechatMessageSend($params);
+            if (!$wechatMsgRes['status']) {
+                throw new Exception($wechatMsgRes['msg']);
             }
             $this->success('操作成功');
         } catch (Exception $e) {

+ 16 - 11
application/common/service/UserService.php

@@ -110,29 +110,33 @@ class UserService
 
             $p = 'pre_order';
             $u = 'user';
-            $field = $p.'.*,'.$u.'.mini_openid';
+            $c = 'company';
+            $s = 'servicetype';
+            $field = $p.'.*,'.$u.'.mini_openid,'.$c.'.name as `company_name`,'.$s.'.title as `service_title`';
             $where[$p.'.id'] = $preOrderId;
             $preOrder = Db::name($p)->alias($p)->field($field)
                 ->join($u,$u.'.id = '.$p.'.user_id','LEFT')
+                ->join($c,$c.'.id = '.$p.'.company_id','LEFT')
+                ->join($s,$s.'.id = '.$p.'.servicetype_id','LEFT')
                 ->where($where)->find();
             if (empty($preOrder)) {
                 throw new Exception('未找到预约信息');
             }
             $client = new Client();
             $tk = getAccessToken();
-            /*联系人: {{name.DATA}}
-            联系电话: {{phone_number.DATA}}
-            车牌号: {{car_number.DATA}}
-            预约时间: {{date.DATA}}*/
+            /*预约日期 {{time1.DATA}}
+              场地{{thing8.DATA}}
+              预约类型{{thing7.DATA}}
+              顾客称号{{thing3.DATA}}*/
             $uri = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token='.$tk;
             $openId = $preOrder['mini_openid'];
             $wechatTemplate = config('param.wechat_template');
             $preOrderMsg = isset($wechatTemplate['pre_order']) ? $wechatTemplate['pre_order'] : [];
             $data = [//数据内容
-                "name"         => ["value" => $preOrder['name']],
-                "phone_number" => ["value" => $preOrder['mobile']],
-                "car_number"   => ["value" => $preOrder['car_number']],
-                "date"         => ["value" => date('Y年m月d日 H:i:s',$preOrder['pre_time'])],
+                "time1"  => ["value" => date('Y年m月d日 H:i:s',$preOrder['pre_time'])],
+                "thing8" => ["value" => $preOrder['company_name']],
+                "thing7" => ["value" => $preOrder['service_title']],
+                "thing3" => ["value" => $preOrder['name']],
             ];
             $jsonData = [
                 "touser"            => $openId,                          //openid
@@ -143,8 +147,9 @@ class UserService
                 "data"              => $data,                            //数据
             ];
             $res = $client->request('POST', $uri, ['json' => $jsonData]);
-            $returnRes = $res->getBody()->getContents();
-            if (!$returnRes['errcode']) {
+            $returnResJson = $res->getBody()->getContents();
+            $returnRes = json_decode($returnResJson, true);
+            if ($returnRes['errcode'] != 0) {
                 throw new Exception($returnRes['errmsg']);
             }
         } catch (Exception $e) {

+ 2 - 2
application/extra/param.php

@@ -4,8 +4,8 @@ return [
     //微信消息模版
     'wechat_template' => [
         'pre_order' => [  //预约模版
-            'template_id'       => '',//模版ID
-            'page'              => '',//跳转地址
+            'template_id'       => 'are5ILn3yVsSo1mgDmvrsruFSFDZ599Qf7j4BRf8TIU',//模版ID
+            'page'              => 'page/home/index',//跳转地址
             'miniprogram_state' => 'trial',//跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
             'lang'              => 'zh_CN',//支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
         ],