RoutineTemplate.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\wap\model\routine;
  12. use app\wap\model\user\WechatUser;
  13. use service\RoutineTemplateService;
  14. use app\admin\model\wechat\StoreService as ServiceModel;
  15. use app\admin\model\wechat\RoutineTemplate as RoutineTemplateModel;
  16. /**
  17. * 发送订阅消息
  18. * Class RoutineTemplate
  19. * @package app\wap\model\routine
  20. */
  21. class RoutineTemplate
  22. {
  23. /**
  24. * 订单支付成功发送模板消息
  25. * @param string $formId
  26. * @param string $orderId
  27. */
  28. public static function sendOrderSuccess(array $data, $uid, $link = '')
  29. {
  30. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_PAY_SUCCESS), $link, $data);
  31. }
  32. /**管理员通知
  33. * @param array $data
  34. * @param null $url
  35. * @param string $defaultColor
  36. * @return bool
  37. */
  38. public static function sendAdminNoticeTemplate(array $data, $url = null, $defaultColor = '')
  39. {
  40. $kefuIds = ServiceModel::where('notify', 1)->column('uid');
  41. $adminList = array_unique($kefuIds);
  42. if (!is_array($adminList) || empty($adminList)) return false;
  43. foreach ($adminList as $uid) {
  44. try {
  45. $openid = WechatUser::uidToOpenid($uid);
  46. } catch (\Exception $e) {
  47. continue;
  48. }
  49. RoutineTemplateService::sendTemplate($openid, RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_PAY_SUCCESS), '', $data);
  50. }
  51. }
  52. /**
  53. * 账户变动订阅消息
  54. * $userinfo 用户消息
  55. * */
  56. public static function sendAccountChanges(array $data, $uid, $link = '')
  57. {
  58. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::USER_BALANCE_CHANGE), $link, $data);
  59. }
  60. /**审核结果通知
  61. * @param array $data
  62. * @param $uid
  63. * @param string $link
  64. */
  65. public static function sendExamineResult(array $data, $uid, $link = '')
  66. {
  67. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::EXAMINE_RESULT), $link, $data);
  68. }
  69. /**
  70. * 订单发货提醒
  71. * @param int $oid
  72. * @param array $postageData
  73. * @return bool
  74. */
  75. public static function sendOrderGoods(array $data, $uid, $link = '')
  76. {
  77. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_POSTAGE_SUCCESS), $link, $data);
  78. }
  79. /**订单收货提醒
  80. * @param array $data
  81. * @param $uid
  82. * @param string $link
  83. */
  84. public static function sendReceivingGoods(array $data, $uid, $link = '')
  85. {
  86. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_TAKE_SUCCESS), $link, $data);
  87. }
  88. /**
  89. * 退款成功发送消息
  90. * @param array $order
  91. */
  92. public static function sendOrderRefundSuccess($data = array(), $uid, $link = '')
  93. {
  94. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_REFUND_STATUS), $link, $data);
  95. }
  96. /**
  97. * 活动报名成功发送消息
  98. * @param array $order
  99. */
  100. public static function sendSignUpSuccess($data = array(), $uid, $link = '')
  101. {
  102. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_USER_SIGN_UP_SUCCESS), $link, $data);
  103. }
  104. /**开播提醒
  105. * @param array $data
  106. * @param $uid
  107. * @param string $link
  108. */
  109. public static function sendBroadcastReminder($data = array(), $uid, $link = '')
  110. {
  111. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::LIVE_BROADCAST), $link, $data);
  112. }
  113. /**拼团进度提醒
  114. * @param array $data
  115. * @param $uid
  116. * @param string $link
  117. */
  118. public static function sendListProgress($data = array(), $uid, $link = '')
  119. {
  120. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::PINK_ORDER_REMIND), $link, $data);
  121. }
  122. /**拼团成功提醒
  123. * @param array $data
  124. * @param $uid
  125. * @param string $link
  126. */
  127. public static function sendOrderSuccessfully($data = array(), $uid, $link = '')
  128. {
  129. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_USER_GROUPS_SUCCESS), $link, $data);
  130. }
  131. /**拼团失败提醒
  132. * @param array $data
  133. * @param $uid
  134. * @param string $link
  135. */
  136. public static function sendOrderFail($data = array(), $uid, $link = '')
  137. {
  138. RoutineTemplateService::sendTemplate(WechatUser::uidToOpenid($uid), RoutineTemplateService::setTemplateId(RoutineTemplateService::ORDER_USER_GROUPS_LOSE), $link, $data);
  139. }
  140. /**获取用户相关的订阅消息模版ID
  141. * @param $type
  142. * @param int $id
  143. * @return string
  144. */
  145. public static function getTemplateIdList($type, $id = 0)
  146. {
  147. $list = RoutineTemplateModel::create_template($type, $id);
  148. $templateIds = implode(',', $list);
  149. return $templateIds;
  150. }
  151. }