123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Description: 系统设置
  4. // +----------------------------------------------------------------------
  5. // | Author: Michael_xu | gengxiaoxu@5kcrm.com
  6. // +----------------------------------------------------------------------
  7. namespace app\admin\controller;
  8. use app\admin\controller\ApiCommon;
  9. use app\admin\logic\PoolConfigLogic;
  10. use think\Hook;
  11. use think\Request;
  12. class Setting extends ApiCommon
  13. {
  14. /**
  15. * 用于判断权限
  16. * @permission 无限制
  17. * @allow 登录用户可访问
  18. * @other 其他根据系统设置
  19. **/
  20. public function _initialize()
  21. {
  22. $action = [
  23. 'permission'=>[''],
  24. 'allow'=>['pool','setpool','readpool','changepool','deletepool','transferpool','customerlevel','poolfield']
  25. ];
  26. Hook::listen('check_auth',$action);
  27. $request = Request::instance();
  28. $a = strtolower($request->action());
  29. if (!in_array($a, $action['permission'])) {
  30. parent::_initialize();
  31. }
  32. $userInfo = $this->userInfo;
  33. //权限判断
  34. $unAction = [''];
  35. $adminTypes = adminGroupTypes($userInfo['id']);
  36. if (!in_array(2,$adminTypes) && !in_array(1,$adminTypes) && !in_array($a, $unAction)) {
  37. header('Content-Type:application/json; charset=utf-8');
  38. exit(json_encode(['code'=>102,'error'=>'无权操作']));
  39. }
  40. }
  41. /**
  42. * 公海配置列表
  43. *
  44. * @param PoolConfigLogic $poolConfigLogic
  45. * @author fanqi
  46. * @since 2021-03-30
  47. * @return \think\response\Json
  48. */
  49. public function pool(PoolConfigLogic $poolConfigLogic)
  50. {
  51. $data = $poolConfigLogic->getPoolList($this->param);
  52. return resultArray(['data' => $data]);
  53. }
  54. /**
  55. * 设置公海规则
  56. *
  57. * @param
  58. * @param PoolConfigLogic $poolConfigLogic 公海逻辑类
  59. * @author fanqi
  60. * @since 2021-03-29
  61. * @return \think\response\Json
  62. */
  63. public function setPool(PoolConfigLogic $poolConfigLogic)
  64. {
  65. $userInfo = $this->userInfo;
  66. $param = $this->param;
  67. $param['user_id'] = $userInfo['id'];
  68. if ($poolConfigLogic->setPoolConfig($param) === false) return resultArray(['error' => $poolConfigLogic->error]);
  69. return resultArray(['data' => '操作成功!']);
  70. }
  71. /**
  72. * 公海配置详情
  73. *
  74. * @param PoolConfigLogic $poolConfigLogic
  75. * @author fanqi
  76. * @since 2021-03-30
  77. * @return \think\response\Json
  78. */
  79. public function readPool(PoolConfigLogic $poolConfigLogic)
  80. {
  81. $poolId = $this->param['pool_id'];
  82. $data = $poolConfigLogic->readPool($poolId);
  83. if ($data === false) return resultArray(['error' => $poolConfigLogic->error]);
  84. return resultArray(['data' => $data]);
  85. }
  86. /**
  87. * 变更公海配置状态
  88. *
  89. * @param PoolConfigLogic $poolConfigLogic
  90. * @author fanqi
  91. * @since 2021-03-30
  92. * @return \think\response\Json
  93. */
  94. public function changePool(PoolConfigLogic $poolConfigLogic)
  95. {
  96. if ($poolConfigLogic->changePoolStatus($this->param) === false) return resultArray(['error' => $poolConfigLogic->error]);
  97. return resultArray(['data' => '操作成功!']);
  98. }
  99. /**
  100. * 删除公海配置
  101. *
  102. * @param PoolConfigLogic $poolConfigLogic
  103. * @author fanqi
  104. * @since 2021-03-30
  105. * @return \think\response\Json
  106. */
  107. public function deletePool(PoolConfigLogic $poolConfigLogic)
  108. {
  109. $poolId = $this->param['pool_id'];
  110. if ($poolConfigLogic->deletePool($poolId) === false) return resultArray(['error' => $poolConfigLogic->error]);
  111. return resultArray(['data' => '操作成功!']);
  112. }
  113. /**
  114. * 公海客户转移
  115. *
  116. * @param PoolConfigLogic $poolConfigLogic
  117. * @author fanqi
  118. * @since 2021-03-30
  119. * @return \think\response\Json
  120. */
  121. public function transferPool(PoolConfigLogic $poolConfigLogic)
  122. {
  123. $param = $this->param;
  124. if ($poolConfigLogic->transferPool($param) === false) {
  125. return resultArray(['error' => $poolConfigLogic->error]);
  126. }
  127. return resultArray(['data' => '操作成功!']);
  128. }
  129. /**
  130. * 客户级别列表
  131. *
  132. * @param PoolConfigLogic $poolConfigLogic
  133. * @author fanqi
  134. * @since 2021-04-22
  135. * @return \think\response\Json
  136. */
  137. public function customerLevel(PoolConfigLogic $poolConfigLogic)
  138. {
  139. $data = $poolConfigLogic->getCustomerLevel();
  140. return resultArray(['data' => $data]);
  141. }
  142. /**
  143. * 公海字段
  144. *
  145. * @param PoolConfigLogic $poolConfigLogic
  146. * @author fanqi
  147. * @since 2021-04-29
  148. * @return \think\response\Json
  149. */
  150. public function poolField(PoolConfigLogic $poolConfigLogic)
  151. {
  152. $data = $poolConfigLogic->getPoolFieldList($this->param);
  153. return resultArray(['data' => $data]);
  154. }
  155. /**
  156. * 设置顶部导航信息
  157. *
  158. * @author alvin guogaobo
  159. * @version 1.0 版本号
  160. * @since 2021/6/22 0022 11:28
  161. */
  162. public function appMenuConfig()
  163. {
  164. $param=$this->param;
  165. $userId=$this->userInfo['id'];
  166. $settingModel = new \app\crm\model\Setting();
  167. $data=$settingModel->setMenuConfig($param,$userId);
  168. return resultArray(['data'=>'操作成功']);
  169. }
  170. }