| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- <?php
 
- namespace App\Service\Weixin;
 
- use App\Model\WxEmployeeOfficial;
 
- use App\Service\Service;
 
- use Illuminate\Support\Facades\Log;
 
- class WxSendMessageService extends WeixinService
 
- {
 
-     /**
 
-      * @param $user_id
 
-      * @param $type 1审核申请 2抄送 3 审核结果
 
-      * @param $state 0申请审核1审核通过2审核拒绝
 
-      * @param $menu_id
 
-      * @param $order_data
 
-      * @return array
 
-      */
 
-     public function wx_sendMsg($user_id,$type,$state,$menu_id,$order_data,$pagepath = ""){
 
-         $openid = WxEmployeeOfficial::where('employee_id',$user_id)->value('openid');
 
-         if(empty($openid)) return [false,'not invaild openid'];
 
-         $config = config('wx.msg');
 
-         switch ($type){
 
-             case '1':
 
-             case '2':
 
-                 $menu_type = $menu_id.'_'.$type;
 
-                 break;
 
-             case '3':
 
-                 $menu_type = $menu_id.'_'.$type.'_'.$state;
 
-                 break;
 
-             default :
 
-                 $menu_type = '';
 
-         }
 
-         if(!isset($config['wx_menu'][$menu_type])) return [false,'not invaild menu_type'];
 
-         $tmp_data = $config['wx_tmp_id'][$config['wx_menu'][$menu_type]];
 
-         $detail = $tmp_data['param'];
 
-         $tmp_id = $tmp_data['tmp_id'];
 
-         $data = [];
 
-         foreach ($detail as $k=>$v){
 
-             $data[$v] = $order_data[$k];
 
-         }
 
-         list($status,$msg) = $this->sendTmpMsg($openid,$tmp_id,['detail'=>$data],$pagepath);
 
-         if(! $status) return [false, $msg];
 
-         return [true,''];
 
-     }
 
-     public function sendTmpMsg($openid,$tempid,$data,$pagepath="")
 
-     {
 
-         $reload_url = $data['reload_url'] ?? '';
 
-         list($status, $token) = $this->getToken();
 
-         if (!$status) return [false, $token];
 
-         $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $token;
 
-         $post = '{
 
-            "touser":"' . $openid . '",
 
-            "template_id":"' . $tempid . '",
 
-            "url":"' . $reload_url . '",
 
-            "miniprogram":{
 
-              "appid":"wxc0bc3dfc58b4e00e",
 
-              "pagepath":"' . $pagepath . '"
 
-            },
 
-            "data":{
 
-                    "first": {
 
-                        "value":"1",
 
-                        "color":"#173177"
 
-                    },
 
-                    %s
 
-                    "remark":{
 
-                        "value":"1",
 
-                        "color":"#173177"
 
-                    }
 
-            }
 
-        }';
 
-         $content = "";
 
-         foreach ($data['detail'] as $k => $v) {
 
-             $content .= '"' . $k . '": {
 
-                        "value":"' . $v . '",
 
-                        "color":"#173177"
 
-                    },';
 
-         }
 
-         $post = sprintf($post, $content);
 
-         $res = $this->curlOpen($url, ['post' => $post]);
 
-         $res = json_decode($res, true);
 
-         if (isset($res['errcode']) && $res['errcode'] != 0) return [false, $res['errmsg']];
 
-         if (isset($res['errcode']) && $res['errcode'] === 0) return [true, ''];
 
-         return [false, json_encode($res)];
 
-     }
 
- }
 
 
  |