SystemClear.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\admin\controller\system;
  12. use app\admin\controller\AuthController;
  13. use app\admin\model\special\Special;
  14. use app\admin\model\special\SpecialSource;
  15. use app\admin\model\special\SpecialTask;
  16. use service\CacheService;
  17. use service\JsonService as Json;
  18. /**
  19. * 清除缓存
  20. * Class systemClear
  21. */
  22. class systemClear extends AuthController
  23. {
  24. public function index()
  25. {
  26. return $this->fetch();
  27. }
  28. public function refresh_cache()
  29. {
  30. `php think optimize:schema`;
  31. `php think optimize:autoload`;
  32. `php think optimize:route`;
  33. `php think optimize:config`;
  34. return Json::successful('数据缓存刷新成功!');
  35. }
  36. public function delete_cache()
  37. {
  38. $this->delDirAndFile("./runtime/temp");
  39. $this->delDirAndFile("./runtime/cache");
  40. return Json::successful('清除缓存成功!');
  41. }
  42. public function delete_log()
  43. {
  44. $this->delDirAndFile("./runtime/log");
  45. return Json::successful('清除日志成功!');
  46. }
  47. function delDirAndFile($dirName, $subdir = true)
  48. {
  49. if ($handle = opendir("$dirName")) {
  50. while (false !== ($item = readdir($handle))) {
  51. if ($item != "." && $item != "..") {
  52. if (is_dir("$dirName/$item"))
  53. $this->delDirAndFile("$dirName/$item", false);
  54. else
  55. @unlink("$dirName/$item");
  56. }
  57. }
  58. closedir($handle);
  59. if (!$subdir) @rmdir($dirName);
  60. }
  61. }
  62. public function data_compatible_back()
  63. {
  64. $specialList = Special::select();
  65. if (!$specialList) {
  66. return Json::successful('无需兼容!');
  67. }
  68. $isTask = SpecialSource::find();
  69. if ($isTask) {
  70. return Json::successful('无需兼容!');
  71. }
  72. try {
  73. foreach ($specialList as $k => $v) {
  74. SpecialTask::beginTrans();
  75. $specialTaskList = SpecialTask::where('special_id', $v['id'])->select();
  76. if (count($specialTaskList)) {
  77. foreach ($specialTaskList as $tk => $tv) {
  78. $source_inster['special_id'] = $tv['special_id'];
  79. $source_inster['source_id'] = $tv['id'];
  80. $source_inster['pay_status'] = PAY_MONEY;
  81. $source_inster['add_time'] = time();
  82. SpecialSource::set($source_inster);
  83. if ($tv['live_id'] == 0) {
  84. $task_update['type'] = 1;
  85. } else {
  86. $task_update['type'] = 4;
  87. }
  88. SpecialTask::where(['id' => $tv['id']])->update($task_update);
  89. }
  90. Special::where(['id' => $v['id']])->update(['type' => 1]);
  91. } else {
  92. Special::where(['id' => $v['id']])->update(['type' => 4]);
  93. }
  94. SpecialTask::commitTrans();
  95. }
  96. return Json::successful('兼容成功!');
  97. } catch (\Exception $e) {
  98. SpecialTask::rollbackTrans();
  99. echo $e->getMessage();
  100. die;
  101. return Json::fail('兼容失败!');
  102. }
  103. }
  104. public function data_compatible()
  105. {
  106. $specialList = Special::select();
  107. if (!$specialList) {
  108. return Json::successful('无需兼容!');
  109. }
  110. try {
  111. foreach ($specialList as $k => $v) {
  112. Special::where(['id' => $v['id']])->update(['type' => 1]);
  113. }
  114. $specialTaskList = SpecialTask::select();
  115. foreach ($specialTaskList as $tk => $tv) {
  116. SpecialTask::where(['id' => $tv['id']])->update(['type' => 1]);
  117. }
  118. return Json::successful('兼容成功!');
  119. } catch (\Exception $e) {
  120. return Json::fail('兼容失败!');
  121. }
  122. }
  123. }