|
@@ -2,7 +2,9 @@
|
|
|
|
|
|
namespace app\common\service;
|
|
namespace app\common\service;
|
|
|
|
|
|
|
|
+use GuzzleHttp\Client;
|
|
use think\Db;
|
|
use think\Db;
|
|
|
|
+use think\Exception;
|
|
|
|
|
|
class UserService
|
|
class UserService
|
|
{
|
|
{
|
|
@@ -91,4 +93,64 @@ class UserService
|
|
}
|
|
}
|
|
return $result;
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 微信消息发送
|
|
|
|
+ * @return void
|
|
|
|
+ */
|
|
|
|
+ public function wechatMessageSend($params=[])
|
|
|
|
+ {
|
|
|
|
+ $result = [
|
|
|
|
+ 'status' => 1,
|
|
|
|
+ 'msg' => '操作成功',
|
|
|
|
+ 'data' => [],
|
|
|
|
+ ];
|
|
|
|
+ try {
|
|
|
|
+ $preOrderId = isset($params['pre_order_id']) ? $params['pre_order_id'] : 0;
|
|
|
|
+
|
|
|
|
+ $p = 'pre_order';
|
|
|
|
+ $u = 'user';
|
|
|
|
+ $field = $p.'.*,'.$u.'.mini_openid';
|
|
|
|
+ $where[$p.'.id'] = $preOrderId;
|
|
|
|
+ $preOrder = Db::name($p)->alias($p)->field($field)
|
|
|
|
+ ->join($u,$u.'.id = '.$p.'.user_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}}*/
|
|
|
|
+ $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'])],
|
|
|
|
+ ];
|
|
|
|
+ $jsonData = [
|
|
|
|
+ "touser" => $openId, //openid
|
|
|
|
+ "template_id" => $preOrderMsg['template_id'], //模版ID
|
|
|
|
+ "page" => $preOrderMsg['page'], //跳转地址
|
|
|
|
+ "miniprogram_state" => $preOrderMsg['miniprogram_state'],//跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
|
|
|
|
+ "lang" => $preOrderMsg['lang'], //支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
|
|
|
|
+ "data" => $data, //数据
|
|
|
|
+ ];
|
|
|
|
+ $res = $client->request('POST', $uri, ['json' => $jsonData]);
|
|
|
|
+ $returnRes = $res->getBody()->getContents();
|
|
|
|
+ if (!$returnRes['errcode']) {
|
|
|
|
+ throw new Exception($returnRes['errmsg']);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception $e) {
|
|
|
|
+ $result['status'] = 0;
|
|
|
|
+ $result['msg'] = $e->getMessage();
|
|
|
|
+ }
|
|
|
|
+ return $result;
|
|
|
|
+ }
|
|
}
|
|
}
|