ConfigurationController.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Configuration;
  5. use App\Filters\ConfigurationFilters;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Cache;
  9. class ConfigurationController extends Controller
  10. {
  11. use AsyncResponse;
  12. private $procurement_configuration_cache_key='procurement_configuration_cache_key_';
  13. public function index(Request $request,ConfigurationFilters $filters)
  14. {
  15. $this->gate('系统配置');
  16. $configurations = Configuration::query()->orderBy('id')->filter($filters)->paginate($request['paginate'] ?? 50);
  17. return view('/maintenance/configuration/index',compact('configurations'));
  18. }
  19. public function storeApi(Request $request)
  20. {
  21. $this->gate('系统配置-编辑');
  22. $params = $request->all();
  23. $params['operator'] = Auth::user()['id'];
  24. $configuration = Configuration::query()->create($params);
  25. Cache::put($this->procurement_configuration_cache_key.$params['name'],$configuration['value']);
  26. if($configuration)$this->success($configuration->loadMissing('operator'));
  27. $this->error('创建失败');
  28. }
  29. public function updateApi(Request $request)
  30. {
  31. $this->gate('系统配置-编辑');
  32. $configuration = Configuration::query()->find($request['id']);
  33. if(!$configuration)$this->error('更新异常');
  34. $params = $request->only(['name','value','description']);
  35. $params['operator'] = Auth::user()['id'];
  36. $configuration->update($params);
  37. Cache::put($this->procurement_configuration_cache_key.$params['name'],$configuration['value']);
  38. $this->success($configuration->loadMissing('operator'));
  39. }
  40. public function destroyApi($id)
  41. {
  42. $this->gate('系统配置-删除');
  43. Configuration::query()->where('id',$id)->delete();
  44. $this->success();
  45. }
  46. }