From 86fe5caf31855376e8e74374eca83f2bc03c35c3 Mon Sep 17 00:00:00 2001 From: heshupeng <hsp@bronet.cn> Date: Wed, 20 Jan 2021 12:20:35 +0800 Subject: [PATCH] 删除帖子 --- application/admin/controller/mobile/topic/Topic.php | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ application/admin/view/mobile/topic/topic/index.html | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/application/admin/controller/mobile/topic/Topic.php b/application/admin/controller/mobile/topic/Topic.php index 5d51bf5..2dd3727 100644 --- a/application/admin/controller/mobile/topic/Topic.php +++ b/application/admin/controller/mobile/topic/Topic.php @@ -3,7 +3,9 @@ namespace app\admin\controller\mobile\topic; use app\common\controller\Backend; +use Exception; use think\Db; +use think\exception\PDOException; /** * 论坛管理 @@ -122,4 +124,50 @@ class Topic extends Backend $this->success('审核成功'); } } + + /** + * 删除 + */ + public function del($ids = "") + { + if ($ids) { + $pk = $this->model->getPk(); + $adminIds = $this->getDataLimitAdminIds(); + if (is_array($adminIds)) { + $this->model->where($this->dataLimitField, 'in', $adminIds); + } + $list = $this->model->where($pk, 'in', $ids)->select(); + + $count = 0; + Db::startTrans(); + try { + foreach ($list as $k => $v) { + // 删除点赞 + Db::name('mobile_topic_good')->where('topic_id',$v['id'])->delete(); + // 删除评论点赞 + $appraise_list = Db::name('mobile_topic_appraise')->where('topic_id',$v['id'])->field('id')->select(); + foreach ($appraise_list as $val){ + Db::name('mobile_topic_appraise_good')->where('topic_appraise_id',$val['id'])->delete(); + Db::name('mobile_topic_appraise')->where('id',$val['id'])->delete(); + } + // 删除附件 + Db::name('mobile_topic_attachment')->where('topic_id',$v['id'])->delete(); + $count += $v->delete(); + } + Db::commit(); + } catch (PDOException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); + } + if ($count) { + $this->success(); + } else { + $this->error(__('No rows were deleted')); + } + } + $this->error(__('Parameter %s can not be empty', 'ids')); + } } diff --git a/application/admin/view/mobile/topic/topic/index.html b/application/admin/view/mobile/topic/topic/index.html index 468e8e2..75589bc 100644 --- a/application/admin/view/mobile/topic/topic/index.html +++ b/application/admin/view/mobile/topic/topic/index.html @@ -22,7 +22,7 @@ </div> <table id="table" class="table table-striped table-bordered table-hover table-nowrap" data-operate-edit="false" - data-operate-del="false" + data-operate-del="{:$auth->check('mobile/topic/topic/del')}" width="100%"> </table> </div> -- libgit2 0.24.0