ConfigOthers.php 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\controller\admin\system\config;
  12. use app\common\repositories\user\UserRepository;
  13. use think\App;
  14. use crmeb\basic\BaseController;
  15. use app\common\repositories\system\config\ConfigClassifyRepository;
  16. use app\common\repositories\system\config\ConfigRepository as repository;
  17. use app\common\repositories\system\config\ConfigValueRepository;
  18. class ConfigOthers extends BaseController
  19. {
  20. public $repository;
  21. public function __construct(App $app, repository $repository)
  22. {
  23. parent::__construct($app);
  24. $this->repository = $repository;
  25. }
  26. public function lst()
  27. {
  28. $data = [
  29. 'extension_status' => systemConfig('extension_status'),
  30. 'extension_self' => systemConfig('extension_self'),
  31. 'extension_limit' => systemConfig('extension_limit'),
  32. 'extension_limit_day' => systemConfig('extension_limit_day'),
  33. 'extension_one_rate' => bcmul(systemConfig('extension_one_rate'), 100, 3),
  34. 'extension_two_rate' => bcmul(systemConfig('extension_two_rate'), 100, 3),
  35. ];
  36. return app('json')->success($data);
  37. }
  38. public function update()
  39. {
  40. $data = $this->request->params(['extension_status', 'extension_two_rate', 'extension_one_rate', 'extension_self', 'extension_limit', 'extension_limit_day']);
  41. if ($data['extension_two_rate'] < 0 || $data['extension_one_rate'] < 0) return app('json')->fail('比例不能小于0');
  42. if (bccomp($data['extension_one_rate'], $data['extension_two_rate'], 4) == -1)
  43. return app('json')->fail('一级比例不能小于二级比例');
  44. if (bccomp(bcadd($data['extension_one_rate'], $data['extension_two_rate'], 3), 100, 3) == 1)
  45. return app('json')->fail('比例之和不能超过100%');
  46. if (!ctype_digit((string)$data['extension_limit_day']) || $data['extension_limit_day'] <= 0) {
  47. return app('json')->fail('分销绑定时间必须大于0');
  48. }
  49. $arr['extension_status'] = $data['extension_status'];
  50. $arr['extension_self'] = $data['extension_self'];
  51. $arr['extension_limit'] = $data['extension_limit'];
  52. $arr['extension_limit_day'] = $data['extension_limit_day'];
  53. $arr['extension_one_rate'] = bcdiv($data['extension_one_rate'], 100, 3);
  54. $arr['extension_two_rate'] = bcdiv($data['extension_two_rate'], 100, 3);
  55. $old = systemConfig(['extension_limit', 'extension_limit_day']);
  56. if (!$old['extension_limit'] && $data['extension_limit']) {
  57. app()->make(UserRepository::class)->initSpreadLimitDay(intval($data['extension_limit_day']));
  58. } else if ($old['extension_limit'] && !$data['extension_limit']) {
  59. app()->make(UserRepository::class)->clearSpreadLimitDay();
  60. } else if ($data['extension_limit_day'] != $old['extension_limit_day'] && $data['extension_limit']) {
  61. app()->make(UserRepository::class)->updateSpreadLimitDay(intval($data['extension_limit_day'] - $old['extension_limit_day']));
  62. }
  63. app()->make(ConfigValueRepository::class)->setFormData($arr, 0);
  64. return app('json')->success('修改成功');
  65. }
  66. public function getGroupBuying()
  67. {
  68. $data = [
  69. 'ficti_status' => systemConfig('ficti_status'),
  70. 'group_buying_rate' => systemConfig('group_buying_rate'),
  71. ];
  72. return app('json')->success($data);
  73. }
  74. public function setGroupBuying()
  75. {
  76. $data['ficti_status'] = $this->request->param('ficti_status') == 1 ? 1 : 0;
  77. $data['group_buying_rate'] = $this->request->param('group_buying_rate');
  78. if ($data['group_buying_rate'] < 0 || $data['group_buying_rate'] > 100)
  79. return app('json')->fail('请填写1~100之间的整数');
  80. app()->make(ConfigValueRepository::class)->setFormData($data, 0);
  81. return app('json')->success('修改成功');
  82. }
  83. }