UserMessage.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. use JPush\Client;
  5. require_once env('root_path').'vendor/jpush/jpush/autoload.php';
  6. // 会员消息
  7. class UserMessage extends Model
  8. {
  9. // ['$module'=>['$type'=>['title'=>'标题','msg'=>['$msg_key'=>'','$msg_key'=>'']]]
  10. static $type_desc = [
  11. 'video'=>[
  12. 1=>['title'=>'视频投稿','msg'=>['视频投稿成功请等待审核']],
  13. 2=>['title'=>'视频审核','msg'=>['恭喜您视频审核成功','抱歉啦视频审核失败~~']],
  14. 3=>['title'=>'视频评论回复','msg'=>['有会员评论了您的回复']],
  15. 4=>['title'=>'视频评论','msg'=>['有会员评论了您的视频']],
  16. ],// 视频
  17. 'article'=>[
  18. 1=>['title'=>'图文投稿','msg'=>['图文投稿成功请等待审核']],
  19. 2=>['title'=>'图文审核','msg'=>['恭喜您图文审核成功','抱歉啦图文审核失败~~']],
  20. 3=>['title'=>'图文评论回复','msg'=>['有会员评论了您的回复']],
  21. 4=>['title'=>'图文评论','msg'=>['有会员评论了您的图文']],
  22. ],//图文
  23. 'datum'=>[
  24. 1=>['title'=>'资料投稿','msg'=>['资料投稿成功请等待审核']],
  25. 2=>['title'=>'资料审核','msg'=>['恭喜您资料审核成功','抱歉啦资料审核失败~~']],
  26. 3=>['title'=>'资料评论回复','msg'=>['有会员评论了您的回复']],
  27. ],// 资料
  28. 'activity'=>[
  29. 1=>['title'=>'活动报名','msg'=>['恭喜您活动报名成功']],
  30. ],// 活动
  31. 'demand'=>[
  32. 1=>['title'=>'需求投稿','msg'=>['需求投稿成功请等待审核']],
  33. 2=>['title'=>'需求审核','msg'=>['恭喜您需求审核成功','抱歉啦需求审核失败~~']],
  34. 3=>['title'=>'需求评论回复','msg'=>['有会员评论了您的回复']],
  35. 4=>['title'=>'需求评论','msg'=>['有会员评论了您的需求']],
  36. ],// 需求
  37. 'forum'=>[
  38. 1=>['title'=>'问答投稿','msg'=>['问答投稿成功']],
  39. 2=>['title'=>'问答审核','msg'=>['恭喜您问答审核成功','抱歉啦问答审核失败']],
  40. 3=>['title'=>'回复的评论','msg'=>['有会员评论了您的回复']],
  41. 4=>['title'=>'评论的回复','msg'=>['有会员回复了您的评论']],
  42. 5=>['title'=>'问答回复','msg'=>['有会员回复了您的问题']],
  43. ],// 问答
  44. 'press'=>[
  45. 1=>['title'=>'评论回复','msg'=>['有会员回复了您的评论']],
  46. ],// 新闻
  47. 'mall'=>[
  48. ],// 商城
  49. 'feedback'=>[
  50. 1=>['title'=>'反馈内容回复','msg'=>['平台回复了您的反馈']],
  51. ],// 反馈
  52. 'user' =>[
  53. 1=>['title'=>'反馈内容回复','msg'=>['平台回复了您的反馈']],
  54. ],// 会员管理
  55. ];
  56. /**
  57. * 发送会员消息
  58. * @param $to_user 发送给谁
  59. * @param $module 模块
  60. * @param $type 模块类型
  61. * @param $msg_key 内容key[msg的key]
  62. * @param $from_user 哪个会员发送的
  63. * @param $rel_id 关联的id
  64. * @param string $content
  65. */
  66. public static function sendUserMessage($to_user,$module,$type,$msg_key,$from_user,$rel_id,$content = '')
  67. {
  68. $message = [
  69. 'user_id'=>$to_user,
  70. 'from_user'=>$from_user,
  71. 'content'=> $content ? $content : static::$type_desc[$module][$type]['msg'][$msg_key] ,
  72. 'relation_id'=>$rel_id,
  73. 'type_id'=>$type,
  74. 'module'=>$module,
  75. 'title'=>static::$type_desc[$module][$type]['title'],
  76. ];
  77. $from_name = User::where('id',$from_user)->value('name');
  78. switch ($module) {
  79. case 'video':
  80. if(in_array($type,[3,4]))Jpush($to_user,$from_name.$message['content'],$module,$type,$rel_id);// $message['jg_type'] = 1;
  81. break;
  82. case 'article':
  83. if(in_array($type,[3,4]))Jpush($to_user,$from_name.$message['content'],$module,$type,$rel_id);// $message['jg_type'] = 1;
  84. break;
  85. case 'press':
  86. if(in_array($type,[1])) Jpush($to_user,$from_name.$message['content'],$module,$type,$rel_id);// $message['jg_type'] = 1;
  87. break;
  88. case 'forum':
  89. $switch = PlatformSwitch::checkSwitch($to_user,$rel_id,1);
  90. if($switch && in_array($type,[3,4,5]))Jpush($to_user,$from_name.$message['content'],$module,$type,$rel_id);// $message['jg_type'] = 1;
  91. break;
  92. case 'feedback':
  93. if(in_array($type,[1]))Jpush($to_user,$from_name.$message['content'],$module,$type,$rel_id);// $message['jg_type'] = 1;
  94. break;
  95. }
  96. self::create($message);
  97. // 哪些模块中的某些类型需要极光推送
  98. }
  99. }