123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <?php
- namespace app\common\widget;
- use app\common\facade\WechatProgram;
- use app\common\model\MemberWechatTpl;
- use app\common\model\MemberForm;
- use app\common\model\MemberMiniapp;
- use app\common\model\MemberSmsQueue;
- use app\common\model\User;
- use Exception;
- class Inform{
-
- public function sms(int $uid,int $miniapp_id,array $param){
- if(empty($uid) || empty($param['title']) ||empty($param['content'])){
- return;
- }
- return MemberSmsQueue::create(['uid' => $uid,'member_miniapp_id' => $miniapp_id,'param' => json_encode($param),'is_send' => 0,'create_time' => time()]);
- }
-
- public function smsQueue(){
- $info = MemberSmsQueue::where(['is_send' => 0])->find();
- if(empty($info)){
- return;
- }
- $miniapp_id = $info->member_miniapp_id;
- $uid = $info->uid;
- $param = json_decode($info->param,true);
- $title = $param['title'];
- $content = $param['content'];
- $type = empty($param['type']) ? '申请' : $param['type'];
- $state = empty($param['state']) ? '待审' : $param['state'];
- $remark = empty($param['remark']) ? '如要疑问请咨询官方客服' : $param['remark'];
- $url = empty($param['url']) ? 'pages/index/index' : $param['url'];
- $miniapp = MemberMiniapp::where(['id' => $miniapp_id])->field('id,mp_appid,miniapp_appid')->find();
- if(empty($miniapp)){
- return;
- }
- $user = User::where(['id' => $uid])->field('official_uid')->find();
- if (empty($user->official_uid)) {
- MemberSmsQueue::where(['id' => $info->id])->update(['is_send' => 1]);
- return;
- }
-
- $wechat = WechatProgram::isTypes($miniapp->id);
- if (empty($wechat)) {
- return;
- }
- $setting = MemberWechatTpl::getConfig($miniapp->id);
- if (empty($setting)) {
- return;
- }
-
- $weapp_template_msg = [];
-
- if(!empty($miniapp->mp_appid) || !empty($setting->tplmsg_common_wechat)){
- try {
- $rel = $wechat->uniform_message->send([
- 'touser' => $user->official_uid,
- 'weapp_template_msg' => $weapp_template_msg,
- 'mp_template_msg' => [
- 'appid' => $miniapp->mp_appid,
- 'template_id' => $setting->tplmsg_common_wechat,
- 'url' => $url,
- 'miniprogram' => [
- 'pagepath' => $url,
- 'appid' => $miniapp->miniapp_appid
- ],
- 'data' => [
- 'first' => $title,
- 'keyword1' => $type,
- 'keyword2' => $content,
- 'keyword3' => $state,
- 'keyword4' => date('Y-m-d H:i:s'),
- 'keyword5' => $remark
- ],
- ],
- ]);
- if($rel['errcode'] == 0){
- MemberSmsQueue::where(['id' => $info->id])->update(['is_send' => 1]);
- return true;
- }
- }catch (Exception $e) {
- return;
- }
- }
- }
- }
|