Config.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app\admin\controller\kefu;
  3. use app\common\controller\Backend;
  4. use think\Db;
  5. /*
  6. * KeFu配置
  7. */
  8. class Config extends Backend
  9. {
  10. public function _initialize()
  11. {
  12. parent::_initialize();
  13. }
  14. /*
  15. * 查看
  16. */
  17. public function index()
  18. {
  19. $config = Db::name('kefu_config')->column('name,value');
  20. $csr_config = Db::name('kefu_csr_config')
  21. ->alias('c')
  22. ->field('c.id,c.admin_id,c.ceiling,a.username')
  23. ->join('admin a', 'c.admin_id=a.id')
  24. ->select();
  25. $this->view->assign('config_list', $config);
  26. $this->view->assign('csr_config', $csr_config);
  27. return $this->view->fetch();
  28. }
  29. /*
  30. * 保存修改
  31. */
  32. public function update()
  33. {
  34. if ($this->request->isPost()) {
  35. $config = Db::name('kefu_config')->column('name,value');
  36. $csr_config = Db::name('kefu_csr_config')
  37. ->alias('c')
  38. ->field('c.id,c.admin_id,c.ceiling,a.username')
  39. ->join('admin a', 'c.admin_id=a.id')
  40. ->select();
  41. $csr_config_admin_ids = array_column($csr_config, 'admin_id');
  42. $params = $this->request->post("row/a");
  43. if ($params) {
  44. // 配置更新-只更新有修改的
  45. foreach ($params as $key => $value) {
  46. if ($params[$key] != $config[$key]) {
  47. Db::name('kefu_config')->where('name', $key)->update(['value' => $value]);
  48. }
  49. }
  50. $this->success();
  51. }
  52. $this->error();
  53. }
  54. return;
  55. }
  56. }