OrderReceivedNotice.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2020/6/7
  6. * Time: 20:46
  7. */
  8. namespace app\common\services\notice\official;
  9. use app\common\models\Order;
  10. use app\common\services\notice\BaseMessageBody;
  11. use app\common\services\notice\share\BackstageNoticeMember;
  12. use app\common\services\notice\share\OfficialNoticeTemplate;
  13. use app\common\services\notice\share\OrderNoticeData;
  14. class OrderReceivedNotice extends BaseMessageBody
  15. {
  16. public $orderModel;
  17. protected $orderStatus;//订单状态
  18. use OrderNoticeData,OfficialNoticeTemplate,BackstageNoticeMember;
  19. public function __construct($order, $status)
  20. {
  21. $this->orderModel = $order;
  22. $this->orderStatus = $status;
  23. }
  24. public function organizeData()
  25. {
  26. // TODO: Implement organizeData() method.
  27. $this->data = [
  28. ['name' => '粉丝昵称', 'value' => $this->member->nickname],
  29. ['name' => '订单号', 'value' => $this->order->order_sn],
  30. ['name' => '确认收货时间', 'value' => $this->timeData['finish_time']],
  31. ['name' => '运费', 'value' => $this->order['dispatch_price']],
  32. ['name' => '商品详情(含规格)', 'value' => $this->goodsTitle],
  33. ['name' => '收件人姓名', 'value' => $this->address['realname']],
  34. ['name' => '收件人电话', 'value' => $this->address['mobile']],
  35. ['name' => '收件人地址', 'value' => $this->address['province'] . ' ' . $this->address['city'] . ' ' . $this->address['area'] . ' ' . $this->address['address']],
  36. ];
  37. }
  38. public function sendMessage()
  39. {
  40. // TODO: Implement sendMessage() method.
  41. $this->processData($this->orderModel);
  42. $this->getTemplate('seller_order_finish');
  43. $this->getBackMember();
  44. $this->organizeData();
  45. // 卖家收货消息验证
  46. if(
  47. (empty(\Setting::get('shop.notice')['notice_enable']['created']) && $this->orderStatus == 1) ||
  48. (empty(\Setting::get('shop.notice')['notice_enable']['paid']) && $this->orderStatus == 2) ||
  49. (empty(\Setting::get('shop.notice')['notice_enable']['received']) && $this->orderStatus == 3)
  50. ){
  51. return;
  52. }
  53. \Log::debug("新版公众号消息-卖家收货1",$this->template_id);
  54. \Log::debug("新版公众号消息-卖家收货2",$this->openids);
  55. \Log::debug("新版公众号消息-卖家收货3",$this->data);
  56. $result = (new OfficialMessageNotice($this->temp_id,0,$this->data,$this->openids,1,$this->url))->sendMessage();
  57. if ($result['status'] == 0) {
  58. \Log::debug($result['message']);
  59. }
  60. }
  61. }