Adminconfig.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace app\admin\controller\qingdong\general;
  3. use app\admin\controller\qingdong\Base;
  4. use app\admin\model\AuthGroup;
  5. use fast\Tree;
  6. /**
  7. * 常规设置
  8. */
  9. class Adminconfig extends Base {
  10. protected $relationSearch = true;
  11. /**
  12. * @var \addons\qingdong\model\AdminConfig
  13. */
  14. protected $model = null;
  15. public function _initialize() {
  16. parent::_initialize();
  17. $this->model = new \addons\qingdong\model\AdminConfig;
  18. $this->childrenAdminIds = $this->auth->getChildrenAdminIds($this->auth->isSuperAdmin());
  19. $this->childrenGroupIds = $this->auth->getChildrenGroupIds($this->auth->isSuperAdmin());
  20. //角色组
  21. $groupList = collection(AuthGroup::where('id', 'in', $this->childrenGroupIds)->select())->toArray();
  22. Tree::instance()->init($groupList);
  23. $groupdata = [];
  24. if ($this->auth->isSuperAdmin()) {
  25. $result = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0));
  26. foreach ($result as $k => $v) {
  27. $groupdata[$v['id']] = $v['name'];
  28. }
  29. } else {
  30. $result = [];
  31. $groups = $this->auth->getGroups();
  32. foreach ($groups as $m => $n) {
  33. $childlist = Tree::instance()->getTreeList(Tree::instance()->getTreeArray($n['id']));
  34. $temp = [];
  35. foreach ($childlist as $k => $v) {
  36. $temp[$v['id']] = $v['name'];
  37. }
  38. $result[__($n['name'])] = $temp;
  39. }
  40. $groupdata = $result;
  41. }
  42. $this->view->assign('groupdata', $groupdata);
  43. }
  44. /**
  45. * 查看
  46. */
  47. public function index() {
  48. //设置过滤方法
  49. if ($this->request->isAjax()) {
  50. $row = $this->request->post('row/a', '', 'trim');
  51. $group = $this->request->post("group/a");
  52. //过滤不允许的组别,避免越权
  53. $group = array_intersect($this->childrenGroupIds, $group);
  54. $department='';
  55. if ($group) {
  56. $department=implode(',',$group);
  57. }
  58. $this->model::setConfig('auto', $row['auto'] ?? 0, $this->model::TYPE_SEAS);
  59. $this->model::setConfig('genjing', $row['genjing'] ?? 0, $this->model::TYPE_SEAS);
  60. $this->model::setConfig('genjing_success', $row['genjing_success'] ?? 0, $this->model::TYPE_SEAS);
  61. $this->model::setConfig('genjing_day', $row['genjing_day'] ?? 0, $this->model::TYPE_SEAS);
  62. $this->model::setConfig('chengjiao', $row['chengjiao'] ?? 0, $this->model::TYPE_SEAS);
  63. $this->model::setConfig('chengjiao_day', $row['chengjiao_day'] ?? 0, $this->model::TYPE_SEAS);
  64. $this->model::setConfig('is_linkman', $row['is_linkman'] ?? 0, $this->model::TYPE_SEAS);
  65. $this->model::setConfig('leadauto', $row['leadauto'] ?? 0, $this->model::TYPE_LEAD);
  66. $this->model::setConfig('lead_day', $row['lead_day'] ?? 0, $this->model::TYPE_LEAD);
  67. $this->model::setConfig('leadcard', $row['leadcard'] ?? 0, $this->model::TYPE_LEAD);
  68. $this->model::setConfig('department', $department ?? 0, $this->model::TYPE_LEAD);
  69. $this->success('设置成功');
  70. }
  71. $seas = $this->model->where(['type'=>$this->model::TYPE_SEAS])->column('field,value');
  72. $seas['auto'] = isset($seas['auto']) ? $seas['auto'] : 0;
  73. $seas['genjing'] = isset($seas['genjing']) ? $seas['genjing'] : 0;
  74. $seas['genjing_success'] = isset($seas['genjing_success']) ? $seas['genjing_success'] : 0;
  75. $seas['genjing_day'] = isset($seas['genjing_day']) ? $seas['genjing_day'] : 0;
  76. $seas['chengjiao'] = isset($seas['chengjiao']) ? $seas['chengjiao'] : 0;
  77. $seas['chengjiao_day'] = isset($seas['chengjiao_day']) ? $seas['chengjiao_day'] : 0;
  78. $seas['is_linkman'] = isset($seas['is_linkman']) ? $seas['is_linkman'] : 0;
  79. $lead = $this->model->where(['type'=>$this->model::TYPE_LEAD])->column('field,value');
  80. $lead['leadauto'] = isset($lead['leadauto']) ? $lead['leadauto'] : 0;
  81. $lead['lead_day'] = isset($lead['lead_day']) ? $lead['lead_day'] : 1;
  82. $lead['leadcard'] = isset($lead['leadcard']) ? $lead['leadcard'] : 2;
  83. $lead['department'] = isset($lead['department']) ? $lead['department'] : 0;
  84. $this->assign('lead',$lead);
  85. $this->assign('seas',$seas);
  86. return $this->view->fetch();
  87. }
  88. /**
  89. *参数配置
  90. */
  91. public function wechat() {
  92. //设置过滤方法
  93. if ($this->request->isAjax()) {
  94. $row = $this->request->post('row/a', '', 'trim');
  95. $this->model::setConfig('mini_appid', $row['mini_appid'], $this->model::TYPE_WECHAT);
  96. $this->model::setConfig('mini_secret', $row['mini_secret'], $this->model::TYPE_WECHAT);
  97. $this->model::setConfig('appid', $row['appid'], $this->model::TYPE_WECHAT);
  98. $this->model::setConfig('secret', $row['secret'], $this->model::TYPE_WECHAT);
  99. $this->model::setConfig('map_key', $row['map_key'], $this->model::TYPE_WECHAT);
  100. $this->model::setConfig('web_url', $row['web_url'], $this->model::TYPE_WECHAT);
  101. $this->model::setConfig('ding_key', $row['ding_key'], $this->model::TYPE_DING);
  102. $this->model::setConfig('ding_secret', $row['ding_secret'], $this->model::TYPE_DING);
  103. $this->model::setConfig('corpid', $row['corpid'], $this->model::TYPE_WECHAT);
  104. $this->model::setConfig('corpsecret', $row['corpsecret'], $this->model::TYPE_WECHAT);
  105. $this->model::setConfig('agentid', $row['agentid'], $this->model::TYPE_WECHAT);
  106. $this->success('设置成功');
  107. }
  108. $wechat = $this->model->where([
  109. 'type' => $this->model::TYPE_WECHAT
  110. ])->column('field,value');
  111. $this->assign('wechat', $wechat);
  112. $ding = $this->model->where([
  113. 'type' => $this->model::TYPE_DING
  114. ])->column('field,value');
  115. $this->assign('ding', $ding);
  116. return $this->view->fetch();
  117. }
  118. }