2020-01-01 13:17:19 +08:00
|
|
|
<?php
|
|
|
|
namespace app\index\controller;
|
|
|
|
|
|
|
|
use app\common\controller\BaseController;
|
|
|
|
use think\facade\Session;
|
|
|
|
use think\facade\Request;
|
2020-03-28 21:41:07 +08:00
|
|
|
use think\facade\Db;
|
2020-03-31 23:01:00 +08:00
|
|
|
use app\common\model\Message as MessageModel;
|
|
|
|
use app\common\model\MessageTo;
|
2020-03-29 19:57:18 +08:00
|
|
|
use taoler\com\Message as MessageApi;
|
2020-01-01 13:17:19 +08:00
|
|
|
|
|
|
|
class Message extends BaseController
|
|
|
|
{
|
2020-03-28 21:41:07 +08:00
|
|
|
//消息数目
|
|
|
|
public function nums()
|
|
|
|
{
|
|
|
|
$msg = Db::name('message_to')->where('receve_id',Session::get('user_id'))->where(['is_read'=>0,'delete_time'=>0])->select();
|
2020-01-01 13:17:19 +08:00
|
|
|
|
2020-03-28 21:41:07 +08:00
|
|
|
$count = $msg->count();
|
|
|
|
if($count){
|
|
|
|
$res=['status' =>0,'count' => $count, 'msg' => 'nums'];
|
|
|
|
} else {
|
|
|
|
$res=['status' =>0,'count' => 0, 'msg' => $count];
|
|
|
|
}
|
|
|
|
return json($res);
|
|
|
|
}
|
|
|
|
|
|
|
|
//消息查询
|
|
|
|
public function find()
|
|
|
|
{
|
|
|
|
$uid = Session::get('user_id');
|
|
|
|
$msg = MessageApi::receveMsg($uid);
|
|
|
|
$count = $msg->count();
|
|
|
|
$res = [];
|
|
|
|
if($count){
|
|
|
|
$res = ['status'=>0,'msg'=>'','count'=>$count];
|
|
|
|
foreach ($msg as $k => $v){
|
2020-03-31 23:01:00 +08:00
|
|
|
$data = ['id'=>$v['id'],'name'=>$v['name'],'title'=>$v['title'],'content'=>$v['content'],'time'=>date("Y-m-d H:i",$v['create_time']),'link'=>$v['link'],'read'=>$v['is_read'] ? '已读':'未读','type'=>$v['message_type']];
|
2020-03-28 21:41:07 +08:00
|
|
|
$res['rows'][] = $data;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$res = ['status'=>0,'msg'=>'','rows'=>''];;
|
|
|
|
}
|
2020-03-31 23:01:00 +08:00
|
|
|
//var_dump($res);
|
2020-03-28 21:41:07 +08:00
|
|
|
return json($res);
|
|
|
|
}
|
|
|
|
|
|
|
|
//读消息
|
|
|
|
public function read()
|
|
|
|
{
|
|
|
|
$id =input('id');
|
2020-04-01 12:18:43 +08:00
|
|
|
if($id){
|
|
|
|
$msg = MessageTo::field('id,message_id')->with(['messages' => function($query){
|
2020-03-31 23:01:00 +08:00
|
|
|
$query->where('delete_time',0)->field('id,content');
|
|
|
|
}])->where('id',$id)->find();
|
2020-04-01 12:18:43 +08:00
|
|
|
//改变读状态
|
2020-04-05 12:52:29 +08:00
|
|
|
if($msg->is_read == 0){
|
|
|
|
$result = $msg->update(['id'=>$id,'is_read'=>1]);
|
|
|
|
if($result){
|
|
|
|
$res=['status' =>0,'content'=>$msg['messages']['content']];
|
|
|
|
return json($res);
|
|
|
|
}
|
2020-04-01 12:18:43 +08:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
return json(['status' =>0]);
|
2020-04-05 12:52:29 +08:00
|
|
|
}
|
2020-03-28 21:41:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
//消息删除
|
|
|
|
public function remove()
|
|
|
|
{
|
2020-10-19 17:23:55 +08:00
|
|
|
$uid = $this->uid;
|
2020-04-05 12:52:29 +08:00
|
|
|
|
2020-03-28 21:41:07 +08:00
|
|
|
$id = Request::only(['id']);
|
|
|
|
if($id['id'] == 'true'){
|
2020-04-05 12:52:29 +08:00
|
|
|
//删除所有此用户消息
|
2020-10-19 17:23:55 +08:00
|
|
|
$msg = Db::name('message_to')->where(['receve_id'=>$uid,'delete_time'=>0])->useSoftDelete('delete_time',time())->delete();
|
2020-03-28 21:41:07 +08:00
|
|
|
} else {
|
2020-04-05 12:52:29 +08:00
|
|
|
//删除单条消息
|
2020-10-19 17:23:55 +08:00
|
|
|
$msg = Db::name('message_to')->where('id',$id['id'])->useSoftDelete('delete_time',time())->delete();
|
2020-03-28 21:41:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
if($msg){
|
|
|
|
$res = ['status'=>0];
|
|
|
|
}
|
|
|
|
return $res;
|
|
|
|
|
2020-01-01 13:17:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|