作者 谢百川

ok

... ... @@ -225,7 +225,7 @@ class Article extends Api
$article = new ArticleModel();
$articleInfo = $article->infoById($articleId);
if(!$articleInfo) {
$this->error('您的提交有误');
$this->error('文章不存在');
}
// 记录浏览
... ... @@ -342,6 +342,67 @@ class Article extends Api
}
/**
* 清空文章浏览记录
* @ApiTitle (清空文章浏览记录)
* @ApiSummary (清空文章浏览记录)
* @ApiMethod (POST)
* @ApiHeaders (name="token", type="string", required=true, description="请求的Token")
* @ApiReturnParams (name="code", type="integer", required=true, sample="0")
* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
* @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
* @ApiReturn ({
"code": 1,
"msg": "获取文章查看历史成功",
"time": "1587618709",
"data": [
{
"id": 8,
"user_id": 1,
"article_id": 8,
"createtime": 1586770381,
"updatetime": 1586844971,
"deletetime": null,
"level": "2",
"nickname": "我是大学生",
"head_image": "/uploads/20200413/39270b1276af4c6af020cc85eb80fb29.jpg",
"school_id": 11,
"subject_ids": "3,2,1",
"up_id": 1,
"college_id": 1,
"university_id": 1,
"graduated_id": 2,
"starttime": null,
"endtime": 1586769446,
"show_switch": 1,
"email": "563771383@qq.com",
"vip_level": "0",
"vip_endtime": null,
"title": "还是经验",
"article_type_id": 1,
"show_type": "2",
"des_content": "经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验经验",
"des_images": "/uploads/20200413/39270b1276af4c6af020cc85eb80fb29.jpg",
"weigh": 8
}
]
})
*/
public function getLookArticleList()
{
$page = $this->request->param('page', 1, 'int');
$size = $this->request->param('size', 10, 'int');
$userId = $this->auth->id;
$lookArticle = new LookArticle();
$lookArticleList = $lookArticle->listById($userId, $page, $size);
foreach ($lookArticleList as $k => $v) {
$lookArticleList[$k]['head_image'] = $this->qiNiu.$v['head_image'];
}
$this->success('获取文章查看历史成功', $lookArticleList);
}
/**
... ...
... ... @@ -143,6 +143,10 @@ class Mes extends Api
if(isset($studentInfo)) {
$mesInfo['head_image'] = $studentInfo['head_image'];
$mesInfo['nickname'] = $studentInfo['nickname'];
} else {
$mesInfo['head_image'] = '';
$mesInfo['nickname'] = '';
}
$newMes[] = $mesInfo;
}
... ... @@ -185,4 +189,87 @@ class Mes extends Api
];
$mes->updateByWhere($where, $updateData);
}
/**
* 获取对话框详细内容
* @ApiTitle (获取对话框详细内容)
* @ApiSummary (获取对话框详细内容)
* @ApiMethod (GET)
* @ApiHeaders (name="token", type="string", required=true, description="请求的Token")
* @ApiParams (name="page", type="integer", required=true, description="")
* @ApiParams (name="size", type="integer", required=true, description="")
* @ApiParams (name="userb_id", type="integer", required=true, description="对话的用户的ID")
* @ApiReturnParams (name="code", type="integer", required=true, sample="0")
* @ApiReturnParams (name="msg", type="string", required=true, sample="返回成功")
* @ApiReturnParams (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
* @ApiReturn ({
"code": 1,
"msg": "",
"time": "1587697350",
"data": [
{
"id": 2,
"usera_id": 1,
"userb_id": 2,
"createtime": "2020-04-09",
"updatetime": 1586413562,
"des_content": "1",
"readtime": null,
"deletetime": null,
"head_image": "/uploads/20200413/39270b1276af4c6af020cc85eb80fb29.jpg",
"nickname": "我是高中生"
}
]
})
*/
public function getMesDetail()
{
$userId = $this->auth->id;
$page = $this->request->param('page', 1, 'int');
$size = $this->request->param('size', 10, 'int');
$userbId = $this->request->param('userb_id', 0, 'string');
if(!$userbId) {
$this->error('');
}
$limit = ($page-1)*$size;
$mes = new MesModel();
$sql = "select * from fa_mes where (usera_id = $userId and userb_id = $userbId) or (usera_id = $userbId and userb_id = $userId) order by createtime desc limit $limit, $size";
$mesList = $mes->listBySql($sql);
$student = new Student();
$newMes = [];
foreach ($mesList as $k => $v) {
$mesInfo = $mes->infoOne($v['usera_id'], $v['userb_id']);
$mesInfo['createtime'] = date('Y-m-d', $mesInfo['createtime']);
if($v['usera_id'] != $userId) {
$studentInfo = $student->infoByUserIdCanShow($v['usera_id']);
}
if($v['userb_id'] != $userId) {
$studentInfo = $student->infoByUserIdCanShow($v['userb_id']);
}
if(isset($studentInfo)) {
$mesInfo['head_image'] = $studentInfo['head_image'];
$mesInfo['nickname'] = $studentInfo['nickname'];
} else {
$mesInfo['head_image'] = '';
$mesInfo['nickname'] = '';
}
$newMes[] = $mesInfo;
}
$this->success('', $newMes);
}
}
\ No newline at end of file
... ...
... ... @@ -182,6 +182,7 @@ class Register extends Api
'graduated_id' => $graduatedId,
'vip_level' => 0,
'vip_endtime' => time(),
'show_switch' => 1,
];
}
... ...
... ... @@ -84,10 +84,12 @@ class Student extends Api
$size = $this->request->param('size', 10, 'int');
$type = $this->request->param('type', 0, 'int');
$universityId = $this->request->param('university_id', 0, 'int');
$word = $this->request->param('word', '', 'string');
$graduatedId = $this->request->param('graduated_id', 0, 'int');
$upId = $this->request->param('up_id', 0, 'int');
$where['show_switch'] = ['=', 1];
$where['level'] = ['=', 2];
$student = new StudentModel();
// 获取学校
$studentInfo = $student->infoByUserIdCanShow($userId);
... ... @@ -139,6 +141,10 @@ class Student extends Api
$where['up_id'] = ['=', $upId];
}
if($word && mb_strlen($word) <= 255) {
$where['nickname'] = ['like', '%'.$word.'%'];
}
$studentList = $student->listByUniversityIdAndSchoolIds($where, $page, $size);
if(!$studentList) {
$this->success('获取学长列表成功', $studentList);
... ...
... ... @@ -14,7 +14,7 @@ class LookArticle extends Model
protected $updateTime = 'updatetime';
protected $deleteTime = 'deletetime';
// 是否关注文章
// 是否查看文章
public function infoById($userId, $articleId)
{
return $this->where(['user_id' => ['=', $userId], 'article_id' => ['=', $articleId]])->useSoftDelete($this->deleteTime)->find();
... ... @@ -37,4 +37,18 @@ class LookArticle extends Model
{
return $this->where(['user_id' => ['=', $userId]])->update($data);
}
// 获取用户的浏览历史
public function listById($userId, $page, $size)
{
return $this
->alias('a')
->join('student b', 'a.user_id = b.user_id')
->join('article c', 'a.article_id = c.id')
->where(['a.user_id' => ['=', $userId]])
->useSoftDelete('a.'.$this->deleteTime)
->page($page, $size)
->order('a.'.$this->createTime, 'desc')
->select();
}
}
\ No newline at end of file
... ...
... ... @@ -46,4 +46,9 @@ class Mes extends Model
return $this->where($where)->update($data);
}
public function listBySql($sql)
{
return $this->query($sql);
}
}
\ No newline at end of file
... ...
此 diff 太大无法显示。