DelController.class.php
1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
/**
* DelCircleController.class.php
* 删除我发布的同事圈
* User: heyuelong
* Date:2017年4月26日18:07:37
*/
namespace Api\Controller\Topic;
use Common\Common\DataCenter;
use Common\Service\CircleService;
class DelController extends \Api\Controller\AbstractController
{
/**
* 主方法
* @return boolean
*/
public function Index_get()
{
// 实例化同事圈表
$service = new CircleService();
$id = I('get.pid');
// 查询回帖数据
$list = $service->list_by_conds(['pid' => $id], null, [], 'id');
// 评论id集合
$cids = [];
if (!empty($list)) {
$cids = array_column($list, 'id');
}
// 查询评论数据
$comment_list = $service->list_by_conds(['pid' => $cids], null, [], 'id');
if (!empty($comment_list)) {
$cids = array_merge($cids,array_column($list, 'id'));
}
sort($cids);
// 删除同事圈话题
if (!$service->del_circle($id, $this->uid)) {
return false;
}
// 删除成功后同步更新收藏状态
$service->update_collection($id);
// 数据中心:删除主贴时删除点赞记录
$datacenter =& DataCenter::instance();
if (!empty($cids)) {
array_push($cids, $id);
} else {
$cids = $id;
}
// 执行删除点赞数据
$datacenter->delLike($cids);
// 执行删除评论数据
$datacenter->delComment($cids);
$this->_result = [];
return true;
}
}