UserSiteMsg.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use app\common\model\SiteMsg;
  5. use app\common\model\SiteMsgRead;
  6. /**
  7. * 会员站内信息接口
  8. */
  9. class UserSiteMsg extends Api
  10. {
  11. protected $noNeedRight="*";
  12. /**
  13. * 列表
  14. * @ApiParams (name=type,description=不传全部1已读2未读)
  15. * @ApiParams (name=page,description=分页)
  16. * @ApiParams (name=limit,description=分页)
  17. * @ApiReturnParams (name=source,description=来源)
  18. * @ApiReturnParams (name=title,description=标题)
  19. * @ApiReturnParams (name=content,description=内容)
  20. * @ApiReturnParams (name=create_time,description=发布时间)
  21. */
  22. public function index(){
  23. $user=$this->auth->getUser();
  24. $query=(new SiteMsg)->getQuery();
  25. $query->whereIn('user_id',[0,$user['id']]);
  26. $query->order('id','desc');
  27. $type=input('type');
  28. if($type==1){
  29. $query
  30. ->whereExists("select * from site_msg_read where site_msg_read.site_msg_id=site_msg.id and site_msg_read.user_id={$user['id']}");
  31. }elseif ($type==2){
  32. $query
  33. ->whereNotExists("select * from site_msg_read where site_msg_read.site_msg_id=site_msg.id and site_msg_read.user_id={$user['id']}");
  34. }
  35. $list=$query->paginate(input('limit',15));
  36. $this->success('',$list);
  37. }
  38. /**
  39. * 详情
  40. * @ApiParams (name=id,description=信ID)
  41. */
  42. public function show(){
  43. $data=$this->_validate([
  44. 'id'=>['require'],
  45. ]);
  46. $user=$this->auth->getUser();
  47. $msg=SiteMsg::findOrFail($data['id']);
  48. SiteMsgRead::insert([
  49. 'site_msg_id'=>$data['id'],
  50. 'user_id'=>$user['id'],
  51. ],true);
  52. $this->success('',$msg);
  53. }
  54. }