getInfo([ [ "order_id", "=", $data[ 'order_id' ] ] ], "full_address,site_id,create_time,address,order_no,mobile,member_id,order_type,create_time,order_name,order_money"); //计算订单自动关闭时间 $config_model = new Config(); $order_config_result = $config_model->getOrderEventTimeConfig($order_info[ 'site_id' ]); $order_config = $order_config_result[ "data" ]; $execute_time = $order_info[ 'create_time' ] + $order_config[ "value" ][ "auto_close" ] * 60; //自动关闭时间 //会员信息 $member_model = new Member(); $member_info = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ])[ 'data' ]; // 发送短信 if (!empty($member_info) && !empty($member_info[ 'mobile' ])) { $var_parse = array ( 'goodsname' => replaceSpecialChar(str_sub($order_info[ 'order_name' ])),//商品名称 'expiretime' => date('d', $execute_time) . '日' . date('H', $execute_time) . '时' . date('i', $execute_time) . '分' ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model = new Sms(); $res = $sms_model->sendMessage($data); trace($res, '订单催付短信发送结果'); } // 公众号模板消息 if (!empty($member_info) && !empty($member_info[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => $order_info[ 'order_name' ], 'keyword3' => '待支付', 'keyword4' => '请在' . time_to_date($execute_time) . '前完成支付' ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $data[ 'order_id' ]); $res = $wechat_model->sendMessage($data); trace($res, '订单催付公众号模板消息发送结果'); } //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string1' => [ 'value' => $order_info[ 'order_no' ] ], 'thing2' => [ 'value' => $order_info[ 'order_name' ] ], 'character_string3' => [ 'value' => $order_info[ 'order_money' ], ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $data[ 'order_id' ]); $res = $weapp_model->sendMessage($data); trace($res, '订单催付小程序订阅消息发送结果'); } } /** * 消息发送——支付成功 * @param $params * @return array|mixed|void */ public function messagePaySuccess($params) { $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $params[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; // 发送短信 if (!empty($member_info) && !empty($member_info[ 'mobile' ])) { $var_parse = [ "orderno" => $params[ 'order_no' ], "username" => replaceSpecialChar($member_info[ "nickname" ]), "ordermoney" => $params[ "order_money" ], ]; $params[ "sms_account" ] = $member_info[ "mobile" ] ?? '';//手机号 $params[ "var_parse" ] = $var_parse; $sms_model = new Sms(); $res = $sms_model->sendMessage($params); trace($res, '订单支付短信发送结果'); } //绑定微信公众号才发送 if (!empty($member_info) && !empty($member_info[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data = $params; $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => time_to_date($params[ 'create_time' ]), 'keyword2' => $params[ 'order_no' ], 'keyword3' => str_sub($params[ 'order_name' ]), 'keyword4' => $params[ 'order_money' ], ]; $data[ "page" ] = $this->handleUrl($params[ 'order_type' ], $params[ "order_id" ]); $res = $wechat_model->sendMessage($data); trace($res, '订单支付公众号发送结果'); } //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data = $params; $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string1' => [ 'value' => $params[ 'order_no' ] ], 'time2' => [ 'value' => time_to_date($params[ 'create_time' ]) ], 'thing4' => [ 'value' => str_sub($params[ 'order_name' ]) ], 'amount3' => [ 'value' => $params[ 'order_money' ] ], ]; $data[ "page" ] = $this->handleUrl($params[ 'order_type' ], $params[ "order_id" ]); $res = $weapp_model->sendMessage($data); trace($res, '订单支付小程序订阅号发送结果'); } //发送支付宝订阅消息 if (!empty($member_info) && !empty($member_info[ "ali_openid" ]) && addon_is_exit('aliapp', $params['site_id'])) { $aliapp_model = new AliappMessage(); $data = $params; $data[ "openid" ] = $member_info[ "aliapp_openid" ]; $data[ "template_data" ] = [ 'keyword1' => [ 'value' => '已支付' ], 'keyword2' => [ 'value' => time_to_date($params[ 'create_time' ]) ], 'keyword3' => [ 'value' => str_sub($params[ 'order_name' ]) ], 'keyword4' => [ 'value' => '¥'.$params[ 'order_money' ] ] ]; $data[ "page" ] = $this->handleUrl($params[ 'order_type' ], $params[ "order_id" ]); $res = $aliapp_model->sendMessage($data); trace($res, '订单支付支付宝小程序订阅号发送结果'); } } /** * 订单关闭提醒 * @param $data */ public function messageOrderClose($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id,order_name,create_time,order_money,close_time"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); if (!empty($member_info) && !empty($member_info[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => str_sub($order_info[ 'order_name' ]), 'keyword2' => $order_info[ 'order_no' ], 'keyword3' => time_to_date($order_info[ 'create_time' ]), 'keyword4' => $order_info[ 'order_money' ], 'keyword5' => time_to_date($order_info[ 'close_time' ]) ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); } //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'thing4' => [ 'value' => str_sub($order_info[ 'order_name' ]) ], 'character_string1' => [ 'value' => $order_info[ 'order_no' ] ], 'time3' => [ 'value' => time_to_date($order_info[ 'create_time' ]) ], 'amount6' => [ 'value' => $order_info[ 'order_money' ] ], 'time5' => [ 'value' => time_to_date($order_info[ 'close_time' ]) ], ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $weapp_model->sendMessage($data); } } /** * 买家订单完成通知商家 * @param $data */ public function messageBuyerOrderComplete($data) { //发送短信 // $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id,order_name,create_time,finish_time"); $shop_accept_message_model = new ShopAcceptMessage(); $result = $shop_accept_message_model->getShopAcceptMessageList(); $list = $result[ 'data' ]; //发送模板消息 if (!empty($list)) { foreach ($list as $v) { if (!empty($v[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data[ "openid" ] = $v[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => str_sub($order_info[ 'order_name' ]), ]; $data[ "page" ] = $this->handleMobileShopUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); } } } } /** * 订单完成提醒 * @param $data */ public function messageOrderComplete($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id,order_name,create_time,finish_time"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); //发送模板消息 $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => str_sub($order_info[ 'order_name' ]), 'keyword3' => time_to_date($order_info[ 'create_time' ]), ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string1' => [ 'value' => $order_info[ 'order_no' ] ], 'thing2' => [ 'value' => str_sub($order_info[ 'order_name' ]) ], 'time4' => [ 'value' => time_to_date($order_info[ 'finish_time' ]) ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $weapp_model->sendMessage($data); } } /** * 订单发货提醒 * @param $data */ public function messageOrderDelivery($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id,order_name,goods_num,order_money,delivery_time"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); //发送模板消息 $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => str_sub($order_info[ 'order_name' ]), 'keyword3' => numberFormat($order_info[ 'goods_num' ]), 'keyword4' => $order_info[ 'order_money' ], 'keyword5' => time_to_date($order_info[ 'delivery_time' ]), ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string2' => [ 'value' => $order_info[ 'order_no' ] ], 'thing1' => [ 'value' => str_sub($order_info[ 'order_name' ]) ], 'amount7' => [ 'value' => $order_info[ 'order_money' ] ], 'date3' => [ 'value' => time_to_date($order_info[ 'delivery_time' ]) ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $weapp_model->sendMessage($data); } } /** * 订单收货提醒 * @param $data */ public function messageOrderTakeDelivery($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id,full_address,address,name,order_name,sign_time"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); //发送模板消息 $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'full_address' ] . $order_info[ 'address' ], 'keyword2' => $order_info[ "name" ], 'keyword3' => $order_info[ 'order_no' ], 'keyword4' => $order_info[ 'order_name' ], 'keyword5' => time_to_date($order_info[ 'sign_time' ]), ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string1' => [ 'value' => $order_info[ 'order_no' ] ], 'thing2' => [ 'value' => str_sub($order_info[ 'order_name' ]) ], 'time7' => [ 'value' => time_to_date($order_info[ 'sign_time' ]) ], 'thing9' => [ 'value' => str_sub($order_info[ 'name' ]) ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $weapp_model->sendMessage($data); } } /** * 订单退款同意提醒 * @param $data */ public function messageOrderRefundAgree($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $order_goods_info = model('order_goods')->getInfo([ [ "order_goods_id", "=", $data[ "order_goods_id" ] ] ], "refund_apply_money,refund_time,refund_action_time"); $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); //发送模板消息 $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => $order_goods_info[ "refund_apply_money" ], 'keyword3' => time_to_date(time()), ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string3' => [ 'value' => $order_info[ 'order_no' ] ], 'amount1' => [ 'value' => $order_goods_info[ "refund_apply_money" ] ], 'phrase7' => [ 'value' => '成功' ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $weapp_model->sendMessage($data); } } /** * 订单退款拒绝提醒 * @param $data */ public function messageOrderRefundRefuse($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id"); $order_goods_info = model('order_goods')->getInfo([ [ "order_goods_id", "=", $data[ "order_goods_id" ] ] ], "refund_apply_money,refund_time,refund_action_time"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); //发送模板消息 $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => $order_goods_info[ "refund_apply_money" ], 'keyword3' => time_to_date($order_goods_info[ 'refund_action_time' ]), ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $wechat_model->sendMessage($data); //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string4' => [ 'value' => $order_info[ 'order_no' ] ], 'amount3' => [ 'value' => $order_goods_info[ "refund_apply_money" ] ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $order_id); $weapp_model->sendMessage($data); } } /** * 核销码过期提醒 * @param $data */ public function messageVerifyCodeExpire($data) { // 发送短信 $sms_model = new Sms(); // 商品表 $goods_virtual_info = model('goods_virtual')->getInfo([ [ "order_id", "=", $data[ "relate_id" ] ] ]); // 总核销次数 $total_verify_num = model('goods_virtual')->getCount([ [ "order_id", "=", $data[ "relate_id" ] ] ]); // 已核销次数 $verify_num = model('goods_virtual')->getCount([ [ "order_id", "=", $data[ "relate_id" ] ], [ 'is_veirfy', '=', 1 ] ]); // 剩余次数 $residue = $total_verify_num - $verify_num; // 用户信息 $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $goods_virtual_info[ 'member_id' ] ] ]); $member_info = $member_info_result[ "data" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $goods_virtual_info[ "order_id" ] ] ], 'mobile,order_no,order_name,order_type,pay_time'); trace($residue); if ($residue > 0) { // 公众号模板消息 //绑定微信公众号才发送 if (!empty($member_info) && !empty($member_info[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => $order_info[ 'order_name' ], 'keyword3' => '已过期' ]; $wechat_model->sendMessage($data); } //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'character_string1' => [ 'value' => $order_info[ 'order_no' ], ], 'time2' => [ 'value' => time_to_date($order_info[ 'pay_time' ]) ], 'time3' => [ 'value' => time_to_date(time()) ], 'thing5' => [ 'value' => '您的订单核销码已过期', ], ]; $weapp_model->sendMessage($data); } // 短信通知 if (!empty($member_info) && !empty($member_info[ 'mobile' ])) { //"desc" => '您购买的'.$goods_virtual_info['sku_name'].'将在'.date('Y-m-d H:i:s',$goods_virtual_info['expire_time']).'到期',//商品名称, $var_parse = [ "sitename" => replaceSpecialChar($data[ 'site_info' ][ 'site_name' ]), "sku_name" => $goods_virtual_info[ 'sku_name' ] ]; $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); } } } /** * 核销商品临期提醒 */ public function messageVerifyOrderOutTime($data) { // 商品表 $goods_virtual_info = model('goods_virtual')->getInfo([ [ "order_id", "=", $data[ "order_id" ] ] ]); // 总核销次数 $total_verify_num = model('goods_virtual')->getCount([ [ "order_id", "=", $data[ "order_id" ] ] ]); // 已核销次数 $verify_num = model('goods_virtual')->getCount([ [ "order_id", "=", $data[ "order_id" ] ], [ 'is_veirfy', '=', 1 ] ]); // 剩余次数 $residue = $total_verify_num - $verify_num; // 用户信息 $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $goods_virtual_info[ 'member_id' ] ] ]); $member_info = $member_info_result[ "data" ]; // 手机号 $order_info = model('order')->getInfo([ [ "order_id", "=", $data[ "order_id" ] ] ], 'order_type,mobile,order_no,order_name'); if ($residue > 0) { // 公众号模板消息 //绑定微信公众号才发送 if (!empty($member_info) && !empty($member_info[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_no' ], 'keyword2' => $order_info[ 'order_name' ], 'keyword3' => '未核销' ]; $wechat_model->sendMessage($data); } //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { // 核销码临近到期时间(小时) $config_model = new Config(); $verify_config = $config_model->getOrderVerifyConfig($data[ 'site_id' ], 'shop')[ 'data' ][ 'value' ]; $order_verify_out_time = $verify_config[ 'order_verify_time_out' ] ?? 24; $time_strtime = $order_verify_out_time * 3600; $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'thing1' => [ 'value' => $order_info[ 'order_name' ] ], 'date2' => [ 'value' => time_to_date(time() + $time_strtime), ], 'thing3' => [ 'value' => '请在到期前核销,以免影响您的使用!', ] ]; $weapp_model->sendMessage($data); } // 短信消息 $sms = new Sms(); $var_parse = [ 'username' => $member_info[ 'username' ],//用户名称 'sku_name' => $goods_virtual_info[ 'sku_name' ],//商品名称 'expire_time' => date('Y-m-d H:i:s', $goods_virtual_info[ 'expire_time' ])//到期时间 ]; $data[ "sms_account" ] = $order_info[ 'phone' ];//手机号 $data[ "var_parse" ] = $var_parse; $sms->sendMessage($data); } } /** * 订单核销通知 * @param $data */ public function messageOrderVerify($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_type,order_no,mobile,member_id,order_name,goods_num,sign_time,delivery_store_name"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "orderno" => $order_info[ "order_no" ],//订单编号 ); $data[ "sms_account" ] = $member_info[ "mobile" ];//手机号 $data[ "var_parse" ] = $var_parse; $sms_model->sendMessage($data); // 公众号模板消息 //绑定微信公众号才发送 if (!empty($member_info) && !empty($member_info[ "wx_openid" ])) { $wechat_model = new WechatMessage(); $data[ "openid" ] = $member_info[ "wx_openid" ]; $data[ "template_data" ] = [ 'keyword1' => $order_info[ 'order_name' ],//用户名称 'keyword2' => 1, 'keyword3' => time_to_date(time()), ]; $wechat_model->sendMessage($data); } //发送订阅消息 if (!empty($member_info) && !empty($member_info[ "weapp_openid" ])) { $weapp_model = new WeappMessage(); $data[ "openid" ] = $member_info[ "weapp_openid" ]; $data[ "template_data" ] = [ 'phrase1' => [ 'value' => '已核销' ], 'time2' => [ 'value' => time_to_date(time()), ], 'character_string3' => [ 'value' => $order_info[ 'order_no' ], ] ]; $data[ "page" ] = $this->handleUrl($order_info[ 'order_type' ], $data[ 'order_id' ]); $weapp_model->sendMessage($data); } } /************************************************ 会员消息 end ************************************************************/ /** * 买家发起退款,卖家通知 * @param $data */ public function messageOrderRefundApply($data) { //发送短信 $sms_model = new Sms(); $order_goods_id = $data[ "order_goods_id" ]; $order_goods_info = model('order_goods')->getInfo([ 'order_goods_id' => $order_goods_id ], '*'); $order_info = model('order')->getInfo([ [ "order_id", "=", $order_goods_info[ 'order_id' ] ] ], "order_no,mobile,member_id,site_id,name,order_type"); $member_model = new Member(); $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $order_info[ "member_id" ] ] ]); $member_info = $member_info_result[ "data" ]; $var_parse = array ( "username" => replaceSpecialChar($member_info[ "nickname" ]),//会员名 "orderno" => $order_info[ "order_no" ],//订单编号 "goodsname" => mb_substr(replaceSpecialChar($order_goods_info[ "sku_name" ]), 0, 25, 'UTF8'),//商品名称 "refundno" => $order_goods_info[ "refund_no" ],//退款编号 "refundmoney" => $order_goods_info[ "refund_apply_money" ],//退款申请金额 "refundreason" => replaceSpecialChar($order_goods_info[ "refund_reason" ]),//退款原因 ); $data[ "var_parse" ] = $var_parse; // $site_id = $data['site_id']; // $shop_info = model("shop")->getInfo([["site_id", "=", $site_id]], "mobile,email"); // $message_data["sms_account"] = $shop_info["mobile"];//手机号 $shop_accept_message_model = new ShopAcceptMessage(); $result = $shop_accept_message_model->getShopAcceptMessageList(); $list = $result[ 'data' ]; if (!empty($list)) { foreach ($list as $v) { $message_data = $data; $message_data[ "sms_account" ] = $v[ "mobile" ];//手机号 $sms_model->sendMessage($message_data); if ($v[ 'wx_openid' ] != '') { $wechat_model = new WechatMessage(); $data[ "openid" ] = $v[ 'wx_openid' ]; $data[ "template_data" ] = [ 'keyword1' => $order_goods_info[ 'order_no' ], 'keyword2' => time_to_date($order_goods_info[ 'refund_action_time' ]), 'keyword3' => $order_goods_info[ 'refund_apply_money' ], ]; $data[ "page" ] = 'pages/order/refund/detail?order_goods_id=' . $order_goods_id; $wechat_model->sendMessage($data); } } } } /** * 买家已退款,卖家通知 * @param $data */ public function messageOrderRefundDelivery($data) { //发送短信 $sms_model = new Sms(); $order_id = $data[ 'order_goods_info' ][ "order_id" ]; $order_info = model('order')->getInfo([ [ "order_id", "=", $order_id ] ], "order_no"); $var_parse = array ( "orderno" => $order_info[ "order_no" ],//商品名称 ); // $site_id = $data['site_id']; // $shop_info = model("shop")->getInfo([["site_id", "=", $site_id]], "mobile,email"); // $message_data["sms_account"] = $shop_info["mobile"];//手机号 $data[ "var_parse" ] = $var_parse; $shop_accept_message_model = new ShopAcceptMessage(); $result = $shop_accept_message_model->getShopAcceptMessageList(); $list = $result[ 'data' ]; if (!empty($list)) { foreach ($list as $v) { $message_data = $data; $message_data[ "sms_account" ] = $v[ "mobile" ];//手机号 $sms_model->sendMessage($message_data); if ($v[ 'wx_openid' ] != '') { $wechat_model = new WechatMessage(); $data[ "openid" ] = $v[ 'wx_openid' ]; $data[ "template_data" ] = [ 'keyword1' => $data[ 'order_goods_info' ][ 'order_no' ], 'keyword2' => mb_substr($data[ 'order_goods_info' ][ 'sku_name' ], 0, 7, 'utf-8'), 'keyword3' => $data[ 'order_goods_info' ][ 'num' ], 'keyword4' => $data[ 'order_goods_info' ][ 'refund_real_money' ], ]; $data[ "page" ] = 'pages/order/refund/detail?order_goods_id=' . $data[ 'order_goods_info' ][ 'order_goods_id' ]; $wechat_model->sendMessage($data); } } } } /** * 买家支付成功,卖家通知 * @param $data */ public function messageBuyerPaySuccess($data) { //发送短信 $sms_model = new Sms(); $var_parse = array ( "orderno" => $data[ "order_no" ],//订单编号 "ordermoney" => $data[ "order_money" ],//退款申请金额 ); // $site_id = $data['site_id']; // $shop_info = model("shop")->getInfo([["site_id", "=", $site_id]], "mobile,email"); // $message_data["sms_account"] = $shop_info["mobile"];//手机号 $data[ "var_parse" ] = $var_parse; $shop_accept_message_model = new ShopAcceptMessage(); $result = $shop_accept_message_model->getShopAcceptMessageList(); $list = $result[ 'data' ]; if (!empty($list)) { foreach ($list as $v) { $message_data = $data; $message_data[ "sms_account" ] = $v[ "mobile" ];//手机号 $sms_model->sendMessage($message_data); if ($v[ 'wx_openid' ] != '') { $wechat_model = new WechatMessage(); $data[ "openid" ] = $v[ 'wx_openid' ]; $data[ "template_data" ] = [ 'keyword1' => time_to_date($data[ 'pay_time' ]), 'keyword2' => $data[ 'order_no' ], 'keyword3' => str_sub($data[ 'order_name' ]), 'keyword4' => $data[ 'order_money' ], ]; $data[ "page" ] = $this->handleMobileShopUrl($data[ 'order_type' ], $data[ 'order_id' ]); $wechat_model->sendMessage($data); } } } } /** * 处理订单链接 * @param $order_type * @param $order_id * @return string */ public function handleUrl($order_type, $order_id) { switch ( $order_type ) { case 2: return 'pages/order/detail_pickup?order_id=' . $order_id; break; case 3: return 'pages/order/detail_local_delivery?order_id=' . $order_id; break; case 4: return 'pages_tool/order/detail_virtual?order_id=' . $order_id; break; default: return 'pages/order/detail?order_id=' . $order_id; break; } } /** * 处理商家端订单页面路径 * @param $order_type * @param $order_id * @return string */ public function handleMobileShopUrl($order_type, $order_id) { switch ( $order_type ) { case 2: return 'pages/order/detail/store?order_id=' . $order_id . '&template=store'; break; case 3: return 'pages/order/detail/local?order_id=' . $order_id . '&template=local'; break; case 4: return 'pages/order/detail/virtual?order_id=' . $order_id . '&template=virtual'; break; default: return 'pages/order/detail/basis?order_id=' . $order_id . '&template=basis'; break; } } }