作者 lyh

gx

@@ -20,33 +20,41 @@ class MailController extends BaseController @@ -20,33 +20,41 @@ class MailController extends BaseController
20 public function lists(){ 20 public function lists(){
21 $mailModel = new MailModel(); 21 $mailModel = new MailModel();
22 //获取当前用户下的所有站内信 22 //获取当前用户下的所有站内信
23 - $lists = $mailModel  
24 - ->where('user_list','like','%,'.$this->uid.',%')  
25 - ->orWhere('user_list', '')  
26 - ->select(['*'])  
27 - ->orderBy($this->order,'desc') 23 + $lists = $mailModel->where('user_list','like','%,'.$this->uid.',%')->orWhere('user_list', '')->select(['*'])->orderBy($this->order,'desc')
28 ->paginate($this->row, ['*'], 'page', $this->page); 24 ->paginate($this->row, ['*'], 'page', $this->page);
29 - $lists = $lists->toArray();  
30 - $lists['unreadNum'] = 0; 25 + if(!empty($lists)){
  26 + $lists = $lists->toArray();
  27 + }
  28 + $lists['unreadNum'] = $this->unreadNum($mailUserModel,$lists['total']);
31 if(!empty($lists['list'])){ 29 if(!empty($lists['list'])){
32 - $mailUserModel = new MailUserModel();  
33 - foreach ($lists['list'] as $k => $v){  
34 - //获取用户已读还是未读  
35 - $info = $mailUserModel->read(['mail_id'=>$v['id'],'user_id'=>$this->uid]);  
36 - if($info !== false){  
37 - $v['read_status'] = $this::STATUS_ONE;//  
38 - }else{  
39 - $v['read_status'] = $this::STATUS_ZERO;  
40 - }  
41 - $lists['list'][$k] = $v;  
42 - }  
43 - //站内信未读数量  
44 - $lists['unreadNum'] = $this->unreadNum($mailUserModel,$lists['total']); 30 + //验证未读还是已读
  31 + $lists = $this->verifyRead($lists['list']);
45 } 32 }
46 $this->response('success',Code::SUCCESS,$lists); 33 $this->response('success',Code::SUCCESS,$lists);
47 } 34 }
48 35
49 /** 36 /**
  37 + * @name :(验证已读还是未读)verifyRead
  38 + * @author :lyh
  39 + * @method :post
  40 + * @time :2023/6/17 15:02
  41 + */
  42 + public function verifyRead($list){
  43 + $mailUserModel = new MailUserModel();
  44 + foreach ($list as $k => $v){
  45 + //获取用户已读还是未读
  46 + $info = $mailUserModel->read(['mail_id'=>$v['id'],'user_id'=>$this->uid]);
  47 + if($info !== false){
  48 + $v['read_status'] = $this::STATUS_ONE;//
  49 + }else{
  50 + $v['read_status'] = $this::STATUS_ZERO;
  51 + }
  52 + $lists[$k] = $v;
  53 + }
  54 + return $lists;
  55 + }
  56 +
  57 + /**
50 * @name :(未读数量)readNum 58 * @name :(未读数量)readNum
51 * @author :lyh 59 * @author :lyh
52 * @method :post 60 * @method :post