作者 lyh

gx

... ... @@ -20,33 +20,41 @@ class MailController extends BaseController
public function lists(){
$mailModel = new MailModel();
//获取当前用户下的所有站内信
$lists = $mailModel
->where('user_list','like','%,'.$this->uid.',%')
->orWhere('user_list', '')
->select(['*'])
->orderBy($this->order,'desc')
$lists = $mailModel->where('user_list','like','%,'.$this->uid.',%')->orWhere('user_list', '')->select(['*'])->orderBy($this->order,'desc')
->paginate($this->row, ['*'], 'page', $this->page);
$lists = $lists->toArray();
$lists['unreadNum'] = 0;
if(!empty($lists)){
$lists = $lists->toArray();
}
$lists['unreadNum'] = $this->unreadNum($mailUserModel,$lists['total']);
if(!empty($lists['list'])){
$mailUserModel = new MailUserModel();
foreach ($lists['list'] as $k => $v){
//获取用户已读还是未读
$info = $mailUserModel->read(['mail_id'=>$v['id'],'user_id'=>$this->uid]);
if($info !== false){
$v['read_status'] = $this::STATUS_ONE;//
}else{
$v['read_status'] = $this::STATUS_ZERO;
}
$lists['list'][$k] = $v;
}
//站内信未读数量
$lists['unreadNum'] = $this->unreadNum($mailUserModel,$lists['total']);
//验证未读还是已读
$lists = $this->verifyRead($lists['list']);
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @name :(验证已读还是未读)verifyRead
* @author :lyh
* @method :post
* @time :2023/6/17 15:02
*/
public function verifyRead($list){
$mailUserModel = new MailUserModel();
foreach ($list as $k => $v){
//获取用户已读还是未读
$info = $mailUserModel->read(['mail_id'=>$v['id'],'user_id'=>$this->uid]);
if($info !== false){
$v['read_status'] = $this::STATUS_ONE;//
}else{
$v['read_status'] = $this::STATUS_ZERO;
}
$lists[$k] = $v;
}
return $lists;
}
/**
* @name :(未读数量)readNum
* @author :lyh
* @method :post
... ...