| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <?php
- /**
- * Created by PhpStorm.
- * User: yunzhong
- * Date: 2018/3/15
- * Time: 18:09
- */
- namespace app\frontend\modules\refund\services;
- use app\common\services\MessageService;
- use app\common\facades\Setting;
- use app\common\models\notice\MessageTemp;
- use app\backend\modules\order\models\Order;
- use app\backend\modules\member\models\Member;
- use app\backend\modules\goods\models\Goods;
- use app\backend\modules\order\models\OrderGoods;
- use app\common\models\notice\MinAppTemplateMessage;
- use app\common\services\notice\official\buyer\OrderBuyerRefundNotice;
- use app\common\services\notice\official\OrderRefundNotice;
- class RefundMessageService extends MessageService
- {
- public static function applyRefundNotice($refundApply,$uniacid = '')
- {
- $couponNotice = Setting::get('shop.notice');
- $temp_id = $couponNotice['order_refund_apply'];
- $refundNotice = new OrderBuyerRefundNotice($refundApply,$refundApply->order);
- $refundNotice->sendMessage();
- return ;
- // if ($temp_id) {
- // $memberDate = Member::getMemberBaseInfoById($refundApply->uid);
- // $orderDate = Order::getOrderDetailById($refundApply->order_id);
- //// $goods = Order::find($refundApply->order_id)->hasManyOrderGoods()->value('goods_option_title');//商品详情
- //// $goods_title = Order::find($refundApply->order_id)->hasManyOrderGoods()->value('title').$goods;
- // $params = [
- // ['name' => '商城名称', 'value' => \Setting::get('shop.shop')['name']],
- // ['name' => '粉丝昵称', 'value' => $memberDate['nickname']],
- // ['name' => '退款单号', 'value' => $refundApply->refund_sn],
- //// ['name' => '下单时间', 'value' => $orderDate['create_time']],
- //// ['name' => '订单金额', 'value' => $orderDate['price']],
- //// ['name' => '运费', 'value' => $orderDate['dispatch_price']],
- //// ['name' => '商品详情(含规格)', 'value' => $goods_title],
- //// ['name' => '支付方式', 'value' => $orderDate->pay_type_name],
- // ['name' => '退款申请时间', 'value' => $refundApply->create_time],
- // ['name' => '退款方式', 'value' => $orderDate->pay_type_name],
- // ['name' => '退款金额', 'value' => $refundApply->price],
- // ['name' => '退款原因', 'value' => $refundApply->reason],
- // ];
- //
- // $msg = MessageTemp::getSendMsg($temp_id, $params);
- // if (!$msg) {
- // return false;
- // }
- // MessageService::notice(MessageTemp::$template_id, $msg, $refundApply->uid, $uniacid);
- // }
- $is_open = MinAppTemplateMessage::getTitle('退款通知');
- if (!$is_open->is_open){
- return;
- }
- $orderDate = Order::getOrderDetailById($refundApply->order_id);
- $msg = [
- 'keyword1'=>['value'=> $orderDate->pay_type_name],// 退款类型
- 'keyword2'=>['value'=> $refundApply->price],//退款金额
- 'keyword3'=>['value'=> date("Y-m-d H:i:s")],// 退款时间
- 'keyword4'=>['value'=> $refundApply->reason],// 退款原因
- 'keyword5'=>['value'=> $refundApply->refund_sn],// 订单编号
- ];
- $news_link = MessageTemp::find($temp_id)->news_link;
- $news_link = $news_link ?:'';
- MessageService::MiniNotice($is_open->template_id,$msg,$refundApply->uid.'',$news_link);
- }
- public static function applyRefundNoticeBuyer($refundApply,$uniacid = '')
- {
- $couponNotice = Setting::get('shop.notice');
- // \Log::info('shop.notice', $couponNotice);
- //获取用户退货退款通知商家的消息模板
- $temp_id = $couponNotice['order_refund_apply_to_saler'];
- $refundNotice = new OrderRefundNotice($refundApply,$refundApply->order);
- $refundNotice->sendMessage();
- return ;
- if (!$temp_id) {
- return false;
- }
- $nickname = \app\common\models\Member::where('uid', $refundApply->uid)->first()->nickname;
- $ordersn = Order::find($refundApply->order_id)->order_sn;
- $orderDate = Order::getOrderDetailById($refundApply->order_id);
- //品详情
- $goods = Order::find($refundApply->order_id)->hasManyOrderGoods()->value('goods_option_title');
- $goods_title = Order::find($refundApply->order_id)->hasManyOrderGoods()->value('title').$goods;
- //统计通知用户人数并整理数据
- $peonum = count($couponNotice['salers']);
- $key = range(0, $peonum-1);
- $new_perpson = array_combine($key, $couponNotice['salers']);
- if ($peonum >= 1) {
- $params = [
- ['name' => '商城名称', 'value' => \Setting::get('shop.shop')['name']],
- ['name' => '粉丝昵称', 'value' => $nickname],
- ['name' => '退款单号', 'value' => $refundApply->refund_sn],
- ['name' => '退款申请时间', 'value' => $refundApply->create_time],
- ['name' => '退款类型', 'value' => $refundApply->refund_type_name],
- ['name' => '退款方式', 'value' => $orderDate->pay_type_name],
- ['name' => '退款原因', 'value' => $refundApply->reason],
- ['name' => '订单编号', 'value' => $ordersn],
- ['name' => '退款金额', 'value' => $refundApply->price],
- ['name' => '商品详情(含规格)', 'value' => $goods_title],
- ];
- $msg = MessageTemp::getSendMsg($temp_id, $params);
- foreach ($new_perpson as $k => $v) {
- if ($msg) {
- //公众号通知
- $wx_link = MessageTemp::find($temp_id)->news_link ? : '';
- MessageService::notice(MessageTemp::$template_id, $msg, $v['uid'], $uniacid,$wx_link);
- }
- $is_open = MinAppTemplateMessage::getTitle('退款申请通知');
- if (!$is_open->is_open){
- \Log::debug('暂未开启小程序退款申请通知');
- continue;
- }
- \Log::debug('----------------小程序退款通知+++++++++++++++++');
- $msg = [
- 'keyword1'=>['value'=> $nickname],// 退款人
- 'keyword2'=>['value'=> $refundApply->refund_sn],//退款单号
- 'keyword3'=>['value'=> $refundApply->create_time],// 退款时间
- 'keyword4'=>['value'=> $orderDate->pay_type_name],// 退款方式
- 'keyword5'=>['value'=> $refundApply->price],// 订单金额
- 'keyword6'=>['value'=> $refundApply->reason],// 订单原因
- ];
- $news_link = MessageTemp::find($temp_id)->news_link ? : '';
- MessageService::MiniNotice($is_open->template_id, $msg, $v['uid'], $news_link);
- }
- } else {
- return false;
- }
- }
- }
|