Comment.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\controller\Base;
  4. use think\Request;
  5. use app\admin\model\Comment as CommentModel;
  6. use think\Db;
  7. class Comment extends Base
  8. {
  9. //评论列表
  10. public function index()
  11. {
  12. $status = ['0'=>'待审核','1'=>'已通过','2'=>'已屏蔽'];
  13. $comment = Db::name("comment")->alias('a')->join('comment_data b','a.id = b.cid')->leftjoin('member c','a.uid = c.id')->field('a.*,b.*,c.name')->where(['a.status'=>[1,2]])->order('a.create_time','desc')->paginate(25);
  14. $mode = Db::name('model')->field("tablename")->select();
  15. $data = $comment->all();
  16. if(!empty($data)){
  17. foreach($data as $key=>$val){
  18. $val['status'] = $status[$val['status']];
  19. $val['catetitle'] = "-文章已遗失-";
  20. if(empty($val["name"])){
  21. $val["name"] = $val["plname"];
  22. }
  23. foreach($mode as $v){
  24. $t = Db::name($v['tablename'])->field("title")->find($val['aid']);
  25. if(!empty($t)){
  26. $val['catetitle'] = $t['title'];
  27. }
  28. }
  29. $comment[$key] = $val;
  30. }
  31. }
  32. //赋值给模板
  33. return $this -> view -> fetch('list',['comment'=>$comment]);
  34. }
  35. //待审核列表
  36. public function audit()
  37. {
  38. $status = ['0'=>'待审核','1'=>'已通过','2'=>'已屏蔽'];
  39. $comment = Db::name("comment")->alias('a')->join('comment_data b','a.id = b.cid')->leftjoin('member c','a.uid = c.id')->field('a.*,b.*,c.name')->where(['a.status'=>0])->order('a.create_time','desc')->paginate(25);
  40. $mode = Db::name('model')->field("tablename")->select();
  41. $data = $comment->all();
  42. if(!empty($data)){
  43. foreach($data as $key=>$val){
  44. $val['status'] = $status[$val['status']];
  45. $val['catetitle'] = "-文章已遗失-";
  46. if(empty($val["name"])){
  47. $val["name"] = $val["plname"];
  48. }
  49. foreach($mode as $v){
  50. $t = Db::name($v['tablename'])->field("title")->find($val['aid']);
  51. if(!empty($t)){
  52. $val['catetitle'] = $t['title'];
  53. }
  54. }
  55. $comment[$key] = $val;
  56. }
  57. }
  58. //赋值给模板
  59. return $this -> view -> fetch('audit',['comment'=>$comment]);
  60. }
  61. //评论状态变更
  62. public function setStatus(Request $request){
  63. //获取前台传递id
  64. $comment_id = $request->param('id');
  65. //根据id查询数据
  66. $result = CommentModel::get($comment_id);
  67. //查询原生数据进行判断
  68. if($result->getData('status') == 1){
  69. $res = CommentModel::update(['status'=>2],['id'=>$comment_id]);
  70. if($res){
  71. $this -> logs("评论状态 [ID: ".$comment_id.'] 屏蔽成功!');
  72. $this->success("屏蔽成功!",'Comment/index');
  73. }else{
  74. $this->error("屏蔽失败!");
  75. }
  76. }else{
  77. $res = CommentModel::update(['status'=>1],['id'=>$comment_id]);
  78. if($res){
  79. $this -> logs("评论状态 [ID: ".$comment_id.'] 展现成功!');
  80. $this->success("展现成功!",'Comment/index');
  81. }else{
  82. $this->error("展现失败!");
  83. }
  84. }
  85. }
  86. //评论删除-批量删除
  87. public function deletes(Request $request)
  88. {
  89. $id = $request->param('id');
  90. //获取传递过来的值并删除
  91. $res =CommentModel::destroy($id);
  92. if($res){
  93. //同步删除data表
  94. Db::name('comment_data')
  95. ->where('cid',$id)
  96. ->delete();
  97. $this -> logs("删除评论 [ID: ".$id.'] 删除成功!');
  98. $this -> success("删除成功!",'Comment/index');
  99. }else{
  100. $this -> error("删除失败!");
  101. }
  102. }
  103. //评论审核-批量审核
  104. public function shenhe(Request $request){
  105. $id = $request -> param('id');
  106. $res=CommentModel::where('id','in',$id)->update(['status'=>1]);
  107. if($res){
  108. $this -> logs("评论审核 [ID: ".$id.'] 审核成功!');
  109. $this->success("审核成功!",'Comment/audit');
  110. }else{
  111. $this->error("审核失败!");
  112. }
  113. }
  114. /*
  115. *评论搜索操作
  116. */
  117. public function search(Request $request){
  118. //获取搜索关键词和参数
  119. $res = $request -> param('keywords');
  120. $t = $request->param('t');
  121. $comment = array();
  122. if(!empty($res)){
  123. if($t=='list'){//评论列表搜索
  124. $status = ['0'=>'待审核','1'=>'已通过','2'=>'已屏蔽'];
  125. $comment = Db::name("comment")->alias('a')->join('comment_data b','a.id = b.cid')->leftjoin('member c','a.uid = c.id')->field('a.*,b.*,c.name')->where([['a.content|c.name', 'like', "%{$res}%"]])->where(['a.status'=>[1,2]])->order('a.create_time','desc')->paginate(25);
  126. $mode = Db::name('model')->field("tablename")->select();
  127. $data = $comment->all();
  128. if(!empty($data)){
  129. foreach($data as $key=>$val){
  130. $val['status'] = $status[$val['status']];
  131. $val['catetitle'] = "-文章已遗失-";
  132. if(empty($val["name"])){
  133. $val["name"] = $val["plname"];
  134. }
  135. foreach($mode as $v){
  136. $t = Db::name($v['tablename'])->field("title")->find($val['aid']);
  137. if(!empty($t)){
  138. $val['catetitle'] = $t['title'];
  139. }
  140. }
  141. $comment[$key] = $val;
  142. }
  143. }
  144. }else if($t == 'audit'){//审核列表搜索
  145. $status = ['0'=>'待审核','1'=>'已通过','2'=>'已屏蔽'];
  146. $comment = Db::name("comment")->alias('a')->join('comment_data b','a.id = b.cid')->leftjoin('member c','a.uid = c.id')->field('a.*,b.*,c.name')->where([['a.content|c.name', 'like', "%{$res}%"]])->where(['a.status'=>0])->order('a.create_time','desc')->paginate(25);
  147. $mode = Db::name('model')->field("tablename")->select();
  148. $data = $comment->all();
  149. if(!empty($data)){
  150. foreach($data as $key=>$val){
  151. $val['status'] = $status[$val['status']];
  152. $val['catetitle'] = "-文章已遗失-";
  153. if(empty($val["name"])){
  154. $val["name"] = $val["plname"];
  155. }
  156. foreach($mode as $v){
  157. $t = Db::name($v['tablename'])->field("title")->find($val['aid']);
  158. if(!empty($t)){
  159. $val['catetitle'] = $t['title'];
  160. }
  161. }
  162. $comment[$key] = $val;
  163. }
  164. }
  165. }
  166. }
  167. $this ->assign('comment',$comment);
  168. return view('list');
  169. }
  170. }