OrderLevelNotice.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2020/6/14
  6. * Time: 12:27
  7. */
  8. namespace app\common\services\notice\official;
  9. use app\common\models\MemberShopInfo;
  10. use app\common\models\Order;
  11. use app\common\services\notice\BaseMessageBody;
  12. use app\common\services\notice\share\BackstageNoticeMember;
  13. use app\common\services\notice\share\OfficialNoticeTemplate;
  14. use app\common\services\notice\share\OrderNoticeData;
  15. class OrderLevelNotice extends BaseMessageBody
  16. {
  17. use OfficialNoticeTemplate,OrderNoticeData,BackstageNoticeMember;
  18. public $orderModel;
  19. public $memberModel;
  20. public $firstData;
  21. public $secondData;
  22. public $firstOpenid;
  23. public $secondOpenid;
  24. public $firstUid;
  25. public $secondUid;
  26. public $order_status_name;
  27. public function __construct($order,$status_name)
  28. {
  29. $this->orderModel = $order;
  30. $this->order_status_name = $status_name;
  31. }
  32. public function organizeData()
  33. {
  34. // TODO: Implement organizeData() method.
  35. $this->data = [
  36. ['name' => '下级昵称', 'value' => $this->member->nickname],
  37. ['name' => '订单状态', 'value' => $this->order_status_name],
  38. ['name' => '订单号', 'value' => $this->orderModel->order_sn],
  39. ['name' => '订单金额', 'value' => $this->orderModel->price],
  40. ];
  41. }
  42. public function sendMessage()
  43. {
  44. // TODO: Implement sendMessage() method.
  45. if(\Setting::get('shop.notice.other_toggle') == false){
  46. \Log::debug("--两级消息通知---",'已关闭');
  47. return false;
  48. }
  49. $this->processData($this->orderModel);
  50. $this->getTemplate('other_toggle_temp');
  51. $this->organizeData();
  52. $this->subordinate();
  53. \Log::debug("新版公众号消息-一级1",$this->template_id);
  54. \Log::debug("新版公众号消息-一级2",$this->firstOpenid);
  55. \Log::debug("新版公众号消息-一级3",$this->data);
  56. if ($this->firstOpenid) {
  57. $firstResult = (new OfficialMessageNotice($this->temp_id,$this->firstOpenid,$this->firstData,[],1,$this->url))->sendMessage();
  58. if ($firstResult['status'] == 0) {
  59. \Log::debug("两级消息通知BUG",$firstResult['message']);
  60. }
  61. }
  62. $this->payed();
  63. \Log::debug("新版公众号消息-二级1",$this->template_id);
  64. \Log::debug("新版公众号消息-二级2",$this->secondOpenid);
  65. \Log::debug("新版公众号消息-二级3",$this->data);
  66. if ($this->secondOpenid) {
  67. $secondResult = (new OfficialMessageNotice($this->temp_id,$this->secondOpenid,$this->secondData,[],1,$this->url))->sendMessage();
  68. if ($secondResult['status'] == 0) {
  69. \Log::debug("两级消息通知BUG",$secondResult['message']);
  70. }
  71. }
  72. }
  73. public function subordinate()
  74. {
  75. $this->firstData = $this->data;
  76. $this->firstData[] = ['name' => '下级层级', 'value' => '一级'];
  77. $first = MemberShopInfo::uniacid()->with("hasOneMappingFans")->where("member_id",$this->member->yzMember->parent_id)->first();
  78. \Log::debug("新版公众号消息-二级4",$first);
  79. $this->firstUid = $first['member_id'];
  80. $this->secondUid = $first['parent_id'];
  81. $this->firstOpenid = $first['hasOneMappingFans']['openid'];
  82. }
  83. public function payed()
  84. {
  85. $this->secondData = $this->data;
  86. $this->secondData[] = ['name' => '下级层级', 'value' => '二级'];
  87. $second = MemberShopInfo::uniacid()->with("hasOneMappingFans")->where("member_id",$this->secondUid)->first();
  88. \Log::debug("新版公众号消息-二级5",$second);
  89. $this->secondOpenid = $second['hasOneMappingFans']['openid'];
  90. }
  91. }