DelController.class.php 1.59 KB
<?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;
    }

}