Ver código fonte

Merge branch 'master' into develop

zilong 4 anos atrás
pai
commit
506b87c628

+ 23 - 0
app/Helpers/functions.php

xqd
@@ -567,6 +567,29 @@ if (!function_exists('send_wechat_message')) {
     }
 }
 
+//发送微信消息到医生端
+if (!function_exists('send_wechat_message_to_docter')) {
+    function send_wechat_message_to_docter($type, $official_arr)
+    {
+        try {
+            $app = Factory::miniProgram(config('config.docter_wechat_small_program'));
+            //先发送模板消息
+            $data = config('config.wechat_official_message_template')[$type];
+            $json = json_encode($data, JSON_UNESCAPED_UNICODE);
+            $json = vsprintf($json, $official_arr);
+            $data = json_decode($json, true);
+            $ret = $app->uniform_message->send($data);
+            if (!isset($ret['errcode']) || $ret['errcode'] != 0) {
+                trace(['发送医生端微信模板消息失败,请求参数' => $data, '返回数据' => $ret], 'error');
+            }
+        } catch (Exception $e) {
+            trace(['发送医生端微信模板消息失败' => $e->getMessage(), '请求参数' => $data ?? '', '返回数据' => $ret ?? ''], 'error');
+        }
+
+        return $ret ?? false;
+    }
+}
+
 // 医生端发送公众号模板消息方法
 if (!function_exists('send_wechatSubscription_message')) {
     function send_wechatSubscription_message($type, $arr)

+ 1 - 1
app/Http/Controllers/Api/V2/CommonController.php

xqd
@@ -1115,7 +1115,7 @@ class CommonController extends Controller
                                 $text = !empty($payload['text']) ? $payload['text'] : '文字类消息';
                             }
                             $official_arr = [$docter['openid'], $user['nickname'], $text, $send_time];
-                            send_wechat_message(12, $official_arr);
+                            send_wechat_message_to_docter(12, $official_arr);
 
                         }
                         else {

+ 2 - 2
app/Models/Order.php

xqd
@@ -215,13 +215,13 @@ class Order extends BaseModel
         if (in_array($order['product_type'], [1,2])) {
             $docter_openid = Docter::where('id', $order['docter_id'])->value('openid');
             $official_arr = [$docter_openid, $order['order_sn'], config('config.product_type_map')[$order['product_type']], $orderPatient['name'], $orderPatient['phone']];
-            send_wechat_message(10, $official_arr);
+            send_wechat_message_to_docter(10, $official_arr);
         }
         elseif ($order['product_type'] == 3) {
             $docter_openid = Docter::where('id', $order['docter_id'])->value('openid');
             $keyword4 = date('Y-m-d H:i', $orderPatient['appoint_start_time']).' - '.date('H:i', $orderPatient['appoint_end_time']);
             $official_arr = [$docter_openid, $orderPatient['name'], $orderPatient['phone'], $keyword4, $order['organization']['name'], $docter['name']];
-            send_wechat_message(11, $official_arr);
+            send_wechat_message_to_docter(11, $official_arr);
         }
 
         return true;