Sensitivec.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace app\admin\controller;
  3. class Sensitivec extends Base
  4. {
  5. //敏感词管理
  6. public function index()
  7. {
  8. if (request()->isAjax()) {
  9. $param = input('param.');
  10. $limit = $param['pageSize'];
  11. $offset = (($param['pageNumber'] - 1) * $limit);
  12. $where['sensitivewords_for'] = $param['type'];
  13. if (empty($param['searchText']) === false) {
  14. $where['sensitivewords_word'] = ['like', '%' . $param['searchText'] . '%'];
  15. }
  16. $result = db('sensitivewords')
  17. ->field(['sensitivewords_id', 'sensitivewords_word', 'sensitivewords_time', 'sensitivewords_status', 'user_name'])
  18. ->alias('a')
  19. ->join('admins b', 'a.sensitivewords_uid = b.id','left')
  20. ->where($where)
  21. ->limit($offset, $limit)
  22. ->select();
  23. foreach ($result as $key => $vo) {
  24. // 优化显示状态.
  25. if(1 === $vo['sensitivewords_status']) {
  26. $result[$key]['sensitivewords_status'] = '<span style="color: #2fbe1b">启用</span>';
  27. } else {
  28. $result[$key]['sensitivewords_status'] = '<span style="color: red">禁用</span>';
  29. }
  30. // 生成操作按钮.
  31. $result[$key]['operate'] = $this->makeBtn($vo['sensitivewords_id']);
  32. }
  33. // 总数据.
  34. $return['total'] = db('sensitivewords')->where($where)->count(); //总数据
  35. $return['rows'] = $result;
  36. return json($return);
  37. }
  38. return $this->fetch();
  39. }
  40. //敏感词添加
  41. public function addsensitive(){
  42. if(request()->isPost()){
  43. $param = input('post.');
  44. $has = db('sensitivewords')->field('sensitivewords_id')->where('sensitivewords_word', $param['sensitivewords_word'])->find();
  45. if(!empty($has)){
  46. return json(['code' => -1, 'data' => '', 'msg' => '该敏感词已经存在']);
  47. }
  48. $param['sensitivewords_time'] = date('Y-m-d H:i:s');
  49. $param['sensitivewords_uid'] = session('user_id');
  50. try {
  51. db('sensitivewords')->insert($param);
  52. } catch(\Exception $e) {
  53. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  54. }
  55. return json(['code' => 1, 'data' => '', 'msg' => '添加敏感词成功']);
  56. }
  57. $this->assign([
  58. 'status' => config('kf_status')
  59. ]);
  60. return $this->fetch();
  61. }
  62. //敏感词编辑
  63. public function editsensitive(){
  64. if(request()->isAjax()){
  65. $param = input('post.');
  66. // 检测用户修改的管理员是否重复
  67. $has = db('sensitivewords')->where('sensitivewords_word', $param['sensitivewords_word'])->where('sensitivewords_id', '<>', $param['sensitivewords_id'])->find();
  68. if(!empty($has)){
  69. return json(['code' => -1, 'data' => '', 'msg' => '该敏感词已经存在']);
  70. }
  71. $param['sensitivewords_time'] = date('Y-m-d H:i:s');
  72. $param['sensitivewords_uid'] = session('user_id');//uid
  73. try{
  74. db('sensitivewords')->where('sensitivewords_id', $param['sensitivewords_id'])->update($param);
  75. }catch(\Exception $e){
  76. return json(['code' => -2, 'data' => '', 'msg' => $e->getMessage()]);
  77. }
  78. return json(['code' => 1, 'data' => '', 'msg' => '编辑敏感词成功']);
  79. }
  80. $id = input('param.sensitivewords_id/d');
  81. $info = db('sensitivewords')->where('sensitivewords_id', $id)->find();
  82. $this->assign([
  83. 'info' => $info,
  84. 'status' => config('kf_status')
  85. ]);
  86. return $this->fetch();
  87. }
  88. //删除
  89. public function delWord(){
  90. if(request()->isAjax()){
  91. $id = input('param.id/d');
  92. // return $id;
  93. try{
  94. db('sensitivewords')->where('sensitivewords_id', $id)->delete();
  95. }catch(\Exception $e){
  96. return json(['code' => -1, 'data' => '', 'msg' => $e->getMessage()]);
  97. }
  98. return json(['code' => 1, 'data' => '', 'msg' => '删除敏感词成功']);
  99. }
  100. }
  101. // 生成按钮
  102. private function makeBtn($id)
  103. {
  104. $operate = '<a href="' . url('sensitivec/editsensitive', ['sensitivewords_id' => $id]) . '">';
  105. $operate .= '<button type="button" class="btn btn-primary btn-sm"><i class="fa fa-paste"></i> 编辑</button></a> ';
  106. $operate .= '<a href="javascript:userDel(' . $id . ')"><button type="button" class="btn btn-danger btn-sm">';
  107. $operate .= '<i class="fa fa-trash-o"></i> 删除</button></a> ';
  108. return $operate;
  109. }
  110. }