作者 lyh

gx

@@ -20,17 +20,28 @@ class MailController extends BaseController @@ -20,17 +20,28 @@ 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);
  25 + if(!empty($lists)){
29 $lists = $lists->toArray(); 26 $lists = $lists->toArray();
30 - $lists['unreadNum'] = 0; 27 + }
  28 + $lists['unreadNum'] = $this->unreadNum($mailUserModel,$lists['total']);
31 if(!empty($lists['list'])){ 29 if(!empty($lists['list'])){
  30 + //验证未读还是已读
  31 + $lists = $this->verifyRead($lists['list']);
  32 + }
  33 + $this->response('success',Code::SUCCESS,$lists);
  34 + }
  35 +
  36 + /**
  37 + * @name :(验证已读还是未读)verifyRead
  38 + * @author :lyh
  39 + * @method :post
  40 + * @time :2023/6/17 15:02
  41 + */
  42 + public function verifyRead($list){
32 $mailUserModel = new MailUserModel(); 43 $mailUserModel = new MailUserModel();
33 - foreach ($lists['list'] as $k => $v){ 44 + foreach ($list as $k => $v){
34 //获取用户已读还是未读 45 //获取用户已读还是未读
35 $info = $mailUserModel->read(['mail_id'=>$v['id'],'user_id'=>$this->uid]); 46 $info = $mailUserModel->read(['mail_id'=>$v['id'],'user_id'=>$this->uid]);
36 if($info !== false){ 47 if($info !== false){
@@ -38,12 +49,9 @@ class MailController extends BaseController @@ -38,12 +49,9 @@ class MailController extends BaseController
38 }else{ 49 }else{
39 $v['read_status'] = $this::STATUS_ZERO; 50 $v['read_status'] = $this::STATUS_ZERO;
40 } 51 }
41 - $lists['list'][$k] = $v; 52 + $lists[$k] = $v;
42 } 53 }
43 - //站内信未读数量  
44 - $lists['unreadNum'] = $this->unreadNum($mailUserModel,$lists['total']);  
45 - }  
46 - $this->response('success',Code::SUCCESS,$lists); 54 + return $lists;
47 } 55 }
48 56
49 /** 57 /**