SystemMsgService.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. <?php
  2. /**
  3. * 系统通知消息服务
  4. */
  5. namespace app\common\services;
  6. use app\backend\modules\coupon\models\Coupon;
  7. use app\common\facades\SiteSetting;
  8. use app\common\models\systemMsg\SysMsgLog;
  9. use app\backend\modules\order\models\Order;
  10. use app\common\models\UniAccount;
  11. use app\common\models\Withdraw;
  12. use app\framework\Support\Facades\Log;
  13. class SystemMsgService
  14. {
  15. public static $msg_type = [
  16. [
  17. 'id' => 1,
  18. 'type_name' => '系统通知',
  19. 'icon_src' => 'icon-ht_content_systemmessage',
  20. ],
  21. [
  22. 'id' => 2,
  23. 'type_name' => '订单通知',
  24. 'icon_src' => 'icon-ht_content_order',
  25. ],
  26. [
  27. 'id' => 3,
  28. 'type_name' => '提现通知',
  29. 'icon_src' => 'icon-ht_content_tixian',
  30. ],
  31. [
  32. 'id' => 4,
  33. 'type_name' => '申请通知',
  34. 'icon_src' => 'icon-ht_content_apply',
  35. ],
  36. [
  37. 'id' => 5,
  38. 'type_name' => '商品通知',
  39. 'icon_src' => 'icon-ht_content_goods',
  40. ],
  41. [
  42. 'id' => 6,
  43. 'type_name' => '优惠券',
  44. 'icon_src' => 'icon-ht_content_coupons',
  45. ],
  46. [
  47. 'id' => 7,
  48. 'type_name' => '退款通知',
  49. 'icon_src' => 'icon-ht_content_coupons',
  50. ],
  51. ];
  52. //链接跳转配置
  53. public static $url = [
  54. 'order' => 'order.list.index', //商城全部订单页面
  55. 'cashier_order' => 'plugin.store-cashier.admin.order.detail',//商城收银台订单
  56. 'store_order' => 'plugin.store-cashier.admin.stores.store-order.detail',//商城门店订单
  57. 'group_order' => 'plugin.fight-groups.admin.controllers.order-management.list-order',//商城拼团订单
  58. 'lease_order' => 'plugin.lease-toy.admin.order.index',//商城租凭订单
  59. 'supplier_order' => 'plugin.supplier.admin.controllers.order.supplier-order.index',//商城供应商订单
  60. 'jd_order' => 'plugin.jd-supply.admin.order-list.index',//商城聚合供应链订单
  61. 'yz_order' => 'plugin.yz-supply.admin.order-vue-list.index',//商城芸众供应链订单
  62. 'appointment_order' => 'plugin.appointment.admin.order.index',//商城预约订单
  63. 'withdraw' => 'withdraw.records', //提现记录页面
  64. 'coupon' => 'coupon.coupon.index', //优惠券列表页面
  65. 'goods' => 'goods.goods.index', //商品列表页面
  66. 'goods_edit' => 'goods.goods.edit', //商品编辑页面
  67. 'store_goods_edit'=>'plugin.store-cashier.admin.goods.edit',//门店商品编辑页面
  68. 'cashier_goods_edit'=>'plugin.store-cashier.admin.goods.edit',//门店收银台商品编辑页面
  69. 'hotel_goods_edit'=>'plugin.hotel.admin.goods.edit',//酒店商品编辑页面
  70. 'lease_toy_goods_edit'=>'plugin.lease-toy.admin.goods.edit',//租聘商品编辑页面
  71. 'net_car_goods_edit'=>'plugin.net-car.admin.net-car-goods.edit',//网约车商品编辑页面
  72. 'jd_supply_goods_edit'=>'plugin.jd-supply.admin.shop-goods.edit',//京东-聚合供应链商品编辑页面
  73. 'yz_supply_goods_edit'=>'plugin.yz-supply.admin.shop-goods.edit',//芸众供应链商品编辑页面
  74. 'supplier_goods_edit'=>'plugin.supplier.admin.controllers.goods.goods-operation.edit',//供应商商品编辑页面
  75. 'supplier_apply' => 'plugin.supplier.admin.controllers.apply.supplier-apply.index', //供应商申请页面
  76. 'area-dividend_apply' => 'plugin.area-dividend.admin.agent.agent-apply', //区域分红代理申请页面
  77. 'merchant_apply' => 'plugin.merchant.backend.merchant-apply.index', //招商中心/招商员申请页面
  78. 'store-cashier_apply' => 'plugin.store-cashier.admin.store-apply.apply-list', //门店申请页面
  79. 'hotel_apply' => 'plugin.hotel.admin.apply.index', //酒店申请页面
  80. 'package-deliver_apply' => 'plugin.package-deliver.admin.apply.manage', //自提点申请页面
  81. 'provider-platform_apply' => 'plugin.provider-platform.admin.tripartiteProvider.list.subplatform-audit', //第三方子平台入驻申请页面
  82. 'advert-market_apply' => 'plugin.advert-market.admin.apply.manage.index', //广告主申请页面
  83. 'room_apply' => 'plugin.room.admin.anchor-manage.apply', //主播申请页面
  84. 'circle_apply' => 'plugin.circle.admin.circle.index', //圈子审核页面
  85. 'member_cancel_apply' => 'member.member-cancel.verify', //账号注销申请页面
  86. 'hotel_order' => 'plugin.hotel.admin.hotels.hotel-order.index', // 酒店订单页面
  87. 'micro_communities_trick' => 'plugin.micro-communities.admin.trick.index', // 微社区帖子页面
  88. 'video_share' => 'plugin.video-share.admin.videoGoods.index', // 视频分享页面
  89. ];
  90. public function __construct($uniacid = '')
  91. {
  92. if ($uniacid) {
  93. \Setting::$uniqueAccountId = \YunShop::app()->uniacid = $uniacid;
  94. } else{
  95. \Setting::$uniqueAccountId = \YunShop::app()->uniacid;
  96. }
  97. }
  98. /**
  99. * @param $msgType
  100. * @param array $params
  101. * @return bool
  102. */
  103. public function sendSysMsg($msgType,array $params)
  104. {
  105. switch ($msgType)
  106. {
  107. case 1:
  108. //系统通知
  109. case 2:
  110. //订单通知
  111. case 3:
  112. //提现通知
  113. case 4:
  114. //申请通知
  115. case 5:
  116. //商品库存
  117. case 6:
  118. //优惠券
  119. case 7:
  120. //退款通知
  121. return $this->addMessage($params,$msgType);break;
  122. default:
  123. \Log::error("系统通知-------消息类型错误");
  124. return false;
  125. }
  126. }
  127. //添加消息数据到数据库
  128. private function addMessage($params,$msgType)
  129. {
  130. //todo 可使用队列?
  131. $data = [
  132. 'uniacid' => \YunShop::app()->uniacid,
  133. 'type_id' => $msgType,
  134. 'title' => $params['title'],
  135. 'content' => $params['content'],
  136. 'redirect_url' => $params['redirect_url'],
  137. 'redirect_param' => $params['redirect_param'],
  138. 'msg_data' => serialize($params),
  139. ];
  140. $sysMsg = new SysMsgLog();
  141. $sysMsg->fill($data);
  142. if($sysMsg->save()){
  143. return true;
  144. }
  145. \Log::error("---------系统通知失败---------");
  146. return false;
  147. }
  148. public static function addWorkMessage($params,$uniacid='')
  149. {
  150. $queueSetting = SiteSetting::get('queue');
  151. if ($queueSetting['receive_message'] == 1) {
  152. return;
  153. }
  154. $data = [];
  155. $uniacid = $uniacid ?:\YunShop::app()->uniacid;
  156. if ($uniacid) {
  157. $uniAccount[] = ['uniacid'=>$uniacid];
  158. } else {
  159. $uniAccount = UniAccount::getEnable();
  160. }
  161. foreach ($uniAccount as $u) {
  162. $data[] = [
  163. 'uniacid' => $u['uniacid'],
  164. 'type_id' => 1,
  165. 'title' => $params['title'],
  166. 'content' => mb_substr($params['content'],0,800,'utf-8'),
  167. 'redirect_url' => '',
  168. 'redirect_param' => '',
  169. 'msg_data' => serialize($params),
  170. 'created_at' => time(),
  171. 'updated_at' => time(),
  172. ];
  173. }
  174. if ($data) {
  175. SysMsgLog::insert($data);
  176. }
  177. }
  178. private function getPlugins($order_sn,$order_id = 0)
  179. {
  180. return $plugin = [
  181. 0=>[
  182. 'name'=>'商城',
  183. 'redirect_url'=>'order',
  184. 'redirect_param' => [
  185. 'search[ambiguous][string]'=>$order_sn,
  186. 'search[ambiguous][field]'=>'order'
  187. ]
  188. ],
  189. 31 => [
  190. 'name'=>'收银台',
  191. 'redirect_url'=>'cashier_order',
  192. 'redirect_param' => [
  193. 'order_id'=>$order_id
  194. ]
  195. ],
  196. 32 => [
  197. 'name'=>'门店',
  198. 'redirect_url'=>'store_order',
  199. 'redirect_param' => [
  200. 'id'=>$order_id,
  201. ]
  202. ],
  203. 54=>[
  204. 'name'=>'拼团',
  205. 'redirect_url'=>'group_order',
  206. 'redirect_param' => [
  207. 'search[ambiguous][string]'=>$order_sn,
  208. 'search[ambiguous][field]'=>'order'
  209. ]
  210. ],
  211. 40=>[
  212. 'name'=>'租赁',
  213. 'redirect_url'=>'lease_order',
  214. 'redirect_param' => [
  215. 'search[ambiguous][string]'=>$order_sn,
  216. 'search[ambiguous][field]'=>'order'
  217. ]
  218. ],
  219. 92=>[
  220. 'name'=>'供应商',
  221. 'redirect_url'=>'supplier_order',
  222. 'redirect_param' => [
  223. 'search[ambiguous][string]'=>$order_sn,
  224. 'search[ambiguous][field]'=>'order'
  225. ]
  226. ],
  227. 44=>[
  228. 'name'=>'聚合供应链',
  229. 'redirect_url'=>'jd_order',
  230. 'redirect_param' => [
  231. 'search[ambiguous][string]'=>$order_sn,
  232. 'search[ambiguous][field]'=>'order'
  233. ]
  234. ],
  235. 120=>[
  236. 'name'=>'供应链',
  237. 'redirect_url'=>'yz_order',
  238. 'redirect_param' => [
  239. 'search[ambiguous][string]'=>$order_sn,
  240. 'search[ambiguous][field]'=>'order'
  241. ]
  242. ],
  243. 101=>[
  244. 'name'=>'门店预约',
  245. 'redirect_url'=>'appointment_order',
  246. 'redirect_param' => [
  247. 'search[ambiguous][string]'=>$order_sn,
  248. 'search[ambiguous][field]'=>'order'
  249. ]
  250. ],
  251. ];
  252. }
  253. //订单收货消息
  254. public function received($order)
  255. {
  256. $msg_type = 2; //通知类型 1系统通知 2订单通知 3提现通知 4申请通知 5商品库存 6优惠券
  257. $plugin = $this->getPlugins($order->order_sn,$order->id);
  258. if(empty($plugin[$order->plugin_id])){
  259. return false;
  260. }
  261. $param = [
  262. 'title'=>'您有'.$plugin[$order->plugin_id]['name'].'订单买家已确认收货!',
  263. 'content' => '时间:'.$order->finish_time->toDateTimeString().' || '
  264. .'订单编号:'.$order->order_sn.' || '
  265. .'会员:'.$order->belongsToMember->nickname.' || '
  266. .'状态:'.$order->status_name,
  267. 'redirect_url' => $plugin[$order->plugin_id]['redirect_url'],
  268. 'redirect_param' => $plugin[$order->plugin_id]['redirect_param']
  269. ];
  270. return $this->sendSysMsg($msg_type,$param);
  271. }
  272. //订单退款、退货、换货
  273. public function applyRefundNotice($refundOrder)
  274. {
  275. $msg_type = 2; //通知类型 1系统通知 2订单通知 3提现通知 4申请通知 5商品库存 6优惠券
  276. $nickname = $this->getMemberNickname($refundOrder->uid);
  277. $order = Order::find($refundOrder->order_id);
  278. if(empty($order)){
  279. Log::error('【系统消息通知】--订单退款-未找到订单信息');
  280. return false;
  281. }
  282. $plugin = $this->getPlugins($order->order_sn,$refundOrder->order_id);
  283. if(empty($plugin[$order->plugin_id])){
  284. return false;
  285. }
  286. $param = [
  287. 'title'=>'您有'.$plugin[$order->plugin_id]['name'].$refundOrder->refund_type_name.'订单,请及时处理!',
  288. 'content' => '时间:'.$refundOrder->create_time.' || '
  289. .'订单编号:'.$order->order_sn.' || '
  290. .'会员:'.$nickname.' || '
  291. .'状态:'.$refundOrder->status_name,
  292. 'redirect_url' => $plugin[$order->plugin_id]['redirect_url'],
  293. 'redirect_param' => $plugin[$order->plugin_id]['redirect_param']
  294. ];
  295. return $this->sendSysMsg($msg_type,$param);
  296. }
  297. //订单支付,待发货通知
  298. public function paid($order)
  299. {
  300. $msg_type = 2; //通知类型 1系统通知 2订单通知 3提现通知 4申请通知 5商品库存 6优惠券
  301. $plugin = $this->getPlugins($order->order_sn,$order->id);
  302. if(empty($plugin[$order->plugin_id])){
  303. return false;
  304. }
  305. $param = [
  306. 'title'=>'您有新的'.$plugin[$order->plugin_id]['name'].'订单,请及时处理!',
  307. 'content' => '时间:'.$order['pay_time']->toDateTimeString().' || '
  308. .'订单编号:'.$order->order_sn.' || '
  309. .'会员:'.$order->belongsToMember->nickname.' || '
  310. .'状态:'.$order->status_name,
  311. 'redirect_url' => $plugin[$order->plugin_id]['redirect_url'],
  312. 'redirect_param' => $plugin[$order->plugin_id]['redirect_param']
  313. ];
  314. return $this->sendSysMsg($msg_type,$param);
  315. }
  316. //提现申请
  317. public function withdrawNotice($withdrawModel)
  318. {
  319. $msg_type = 3; //通知类型 1系统通知 2订单通知 3提现通知 4申请通知 5商品库存 6优惠券
  320. $statusComment = [
  321. Withdraw::STATUS_INVALID => '审核无效',
  322. Withdraw::STATUS_INITIAL => '提现申请',
  323. Withdraw::STATUS_AUDIT => '审核通过',
  324. Withdraw::STATUS_PAY => '已打款',
  325. Withdraw::STATUS_REBUT => '审核驳回',
  326. Withdraw::STATUS_PAYING => '打款中',
  327. ];
  328. $param = [
  329. 'title'=>'您有会员发起'.$withdrawModel->type_name.'提现,请及时处理!',
  330. 'content' => '时间:'.$withdrawModel->created_at.' || '
  331. .'提现编号:'.$withdrawModel->withdraw_sn.' || '
  332. .'会员:'.$withdrawModel->hasOneMember->nickname.' || '
  333. .'提现金额:'.$withdrawModel->amounts.' || '
  334. // .' 方式:'.$statusComment[$withdrawModel->pay_way_name],
  335. .'状态:'.$statusComment[$withdrawModel->status],
  336. 'redirect_url' => 'withdraw',
  337. 'redirect_param' => [
  338. 'search[withdraw_sn]'=>$withdrawModel->withdraw_sn
  339. ]
  340. ];
  341. return $this->sendSysMsg($msg_type,$param);
  342. }
  343. //申请通知
  344. public function applyNotice($dataModel,$plugin = '')
  345. {
  346. $msg_type = 4; //通知类型 1系统通知 2订单通知 3提现通知 4申请通知 5商品库存 6优惠券
  347. $param = $this->getParams($dataModel,$plugin);
  348. if(!$param){
  349. Log::error("申请通知--没有此插件类型通知");
  350. return false;
  351. }
  352. return $this->sendSysMsg($msg_type,$param);
  353. }
  354. //优惠券通知
  355. public function couponNotice()
  356. {
  357. //获取剩余数量为0的优惠券集合
  358. $couponData = Coupon::uniacid()
  359. ->withCount('hasManyMemberCoupon')
  360. ->where('total','>',-1)//非无限领取
  361. ->where('plugin_id',0)//商城优惠券
  362. ->get()->toArray();
  363. if(empty($couponData)){
  364. return false;
  365. }
  366. foreach ($couponData as $k=>$v){
  367. if($v['total'] >= $v['has_many_member_coupon_count']){
  368. unset($couponData[$k]);
  369. }
  370. }
  371. if(empty($couponData)){
  372. return false;
  373. }
  374. $msg_type = 6;
  375. $param = [
  376. 'title'=>'您有'.count($couponData).'种优惠券数量为0,请及时处理!',
  377. 'content' => '',
  378. 'redirect_url' => 'coupon',
  379. 'redirect_param' => [
  380. 'last_stock'=>0
  381. ]
  382. ];
  383. return $this->sendSysMsg($msg_type,$param);
  384. }
  385. //限时购商品下架
  386. public function limitBuyClose($goods)
  387. {
  388. $msg_type = 5;
  389. $param = [
  390. 'title'=>'您有限时购商品下架了,请及时处理!',
  391. 'content' => '时间:'.date('Y-m-d H:i:s').' || '
  392. .'ID:'.$goods->id.' || '
  393. .'商品:'.$goods->title,
  394. 'redirect_url' => 'goods',
  395. 'redirect_param' => []
  396. ];
  397. \Setting::$uniqueAccountId = \YunShop::app()->uniacid = $goods->uniacid;
  398. return $this->sendSysMsg($msg_type,$param);
  399. }
  400. //商品库存不足
  401. public function stockNotEnough($goods,$specs = null)
  402. {
  403. $redirect_url = [
  404. '0'=> 'goods_edit',
  405. '31'=>'store_goods_edit',
  406. '32'=>'cashier_goods_edit',
  407. '33'=>'hotel_goods_edit',
  408. '40'=>'lease_toy_goods_edit',
  409. '41'=>'net_car_goods_edit',
  410. '44'=>'jd_supply_goods_edit',
  411. '120'=>'yz_supply_goods_edit',
  412. '92'=>'supplier_goods_edit',
  413. ];
  414. $msg_type = 5;
  415. if(!empty($specs)){
  416. $content = '时间:'.date('Y-m-d H:i:s').' || '
  417. .'ID:'.$goods->id.' || '
  418. .'规格:'.$specs->title.' || '
  419. .'库存:'.$specs->stock;
  420. }else{
  421. $content = '时间:'.date('Y-m-d H:i:s').' || '
  422. .'ID:'.$goods->id.' || '
  423. .'库存:'.$goods->stock;
  424. }
  425. $param = [
  426. 'title'=>'您有商品售罄,请及时处理!',
  427. 'content' => $content,
  428. 'redirect_url' => $redirect_url[$goods->plugin_id]?:'goods_edit',
  429. 'redirect_param' => [
  430. 'id'=>$goods->id
  431. ]
  432. ];
  433. return $this->sendSysMsg($msg_type,$param);
  434. }
  435. //申请通知获取各类型参数
  436. public function getParams($model,$plugin)
  437. {
  438. switch ($plugin){
  439. case 'supplier':
  440. $nickname = $this->getMemberNickname($model->member_id);
  441. return [
  442. 'title'=>'您有会员发起供应商申请,请及时处理!',
  443. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.($model->status==1?'审核通过':'等待审核'),
  444. 'redirect_url' => 'supplier_apply',
  445. 'redirect_param' => [
  446. 'search[member]'=>$model->member_id
  447. ]
  448. ];
  449. case 'area-dividend':
  450. $nickname = $this->getMemberNickname($model->member_id);
  451. return [
  452. 'title'=>'您有会员发起区域分红代理申请,请及时处理!',
  453. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.$model->status_name,
  454. 'redirect_url' => 'area-dividend_apply',
  455. 'redirect_param' => [
  456. 'search[member]'=>$model->member_id
  457. ]
  458. ];
  459. case 'merchant':
  460. $nickname = $this->getMemberNickname($model->member_id);
  461. return [
  462. 'title'=>'您有会员发起'.$model->apply_name.'申请,请及时处理!',
  463. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.$model->status_name,
  464. 'redirect_url' => 'merchant_apply',
  465. 'redirect_param' => [
  466. 'search[is_center]'=>$model->is_center
  467. ]
  468. ];
  469. case 'store-cashier':
  470. $nickname = $this->getMemberNickname($model->uid);
  471. return [
  472. 'title'=>'您有会员发起门店申请,请及时处理!',
  473. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.$model->status_name,
  474. 'redirect_url' => 'store-cashier_apply',
  475. 'redirect_param' => [
  476. 'search[id]'=>$model->uid
  477. ]
  478. ];
  479. case 'hotel':
  480. $nickname = $this->getMemberNickname($model->uid);
  481. return [
  482. 'title'=>'您有会员发起酒店申请,请及时处理!',
  483. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.$model->status_name,
  484. 'redirect_url' => 'hotel_apply',
  485. 'redirect_param' => [
  486. 'search[id]'=>$model->uid
  487. ]
  488. ];
  489. case 'package-deliver':
  490. $nickname = $this->getMemberNickname($model->uid);
  491. return [
  492. 'title'=>'您有会员发起自提点申请,请及时处理!',
  493. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.$model->status_name,
  494. 'redirect_url' => 'package-deliver_apply',
  495. 'redirect_param' => [
  496. 'search[member]'=>$model->mobile
  497. ]
  498. ];
  499. case 'provider-platform':
  500. $nickname = $this->getMemberNickname($model->uid);
  501. return [
  502. 'title'=>'您有会员发起第三方子平台入驻申请,请及时处理!',
  503. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:审核中',
  504. 'redirect_url' => 'provider-platform_apply',
  505. 'redirect_param' => [
  506. 'search[name]'=>$model->mobile
  507. ]
  508. ];
  509. case 'advert-market':
  510. $nickname = $this->getMemberNickname($model->uid);
  511. return [
  512. 'title'=>'您有会员发起广告主申请,请及时处理!',
  513. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.($model->status==1?'审核通过':'待审核'),
  514. 'redirect_url' => 'advert-market_apply',
  515. 'redirect_param' => [
  516. 'search[uid]'=>$model->uid
  517. ]
  518. ];
  519. case 'room':
  520. $nickname = $this->getMemberNickname($model->member_id);
  521. return [
  522. 'title'=>'您有会员发起主播申请,请及时处理!',
  523. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.$model->status_name,
  524. 'redirect_url' => 'room_apply',
  525. 'redirect_param' => [
  526. 'search[member_id]'=>$model->member_id
  527. ]
  528. ];
  529. case 'circle':
  530. $nickname = $this->getMemberNickname($model->member_id);
  531. return [
  532. 'title'=>'您有会员发起创建圈子申请,请及时处理!',
  533. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:'.($model->is_review==1?'审核通过':'待审核'),
  534. 'redirect_url' => 'circle_apply',
  535. 'redirect_param' => [
  536. 'search[member_id]'=>$model->member_id
  537. ]
  538. ];
  539. case 'member_cancel':
  540. $nickname = $this->getMemberNickname($model->member_id);
  541. return [
  542. 'title'=>'您有会员发起注销申请,请及时处理!',
  543. 'content' => '时间:'.date('Y-m-d H:i:s').' || 会员:'.$nickname.' || 状态:待审核',
  544. 'redirect_url' => 'member_cancel_apply',
  545. 'redirect_param' => [
  546. 'member_id'=>$model->id
  547. ]
  548. ];
  549. case 'micro-communities':
  550. $nickname = $this->getMemberNickname($model->user_id);
  551. return [
  552. 'title'=>'您有会员发布新的帖子,请及时处理审核!',
  553. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:待审核',
  554. 'redirect_url' => 'micro_communities_trick',
  555. 'redirect_param' => [
  556. 'search[uid]'=>$model->user_id
  557. ]
  558. ];
  559. case 'video-share':
  560. $nickname = $this->getMemberNickname($model->uid);
  561. return [
  562. 'title'=>'您有会员发布新的视频,请及时处理审核!',
  563. 'content' => '时间:'.$model->created_at.' || 会员:'.$nickname.' || 状态:待审核',
  564. 'redirect_url' => 'video_share',
  565. 'redirect_param' => [
  566. 'id'=>$model->id
  567. ]
  568. ];
  569. default:
  570. return false;
  571. }
  572. }
  573. public function getMemberNickname($member_id)
  574. {
  575. $nickname = \app\common\models\Member::where('uid', $member_id)->first()->nickname;
  576. if(empty($nickname)){
  577. return '未关注';
  578. }
  579. return $nickname;
  580. }
  581. }