DemandController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Components\AsyncResponse;
  4. use App\Demand;
  5. use App\Filters\DemandFilters;
  6. use App\Http\Requests\Demand\DemandRequest;
  7. use App\Services\DemandService;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Contracts\Foundation\Application;
  10. use Illuminate\Contracts\View\Factory;
  11. use Illuminate\View\View;
  12. use Ramsey\Uuid\Uuid;
  13. class DemandController extends Controller
  14. {
  15. use AsyncResponse;
  16. /**
  17. * @param Request $request
  18. * @param DemandFilters $filters
  19. * @return Application|Factory|View
  20. */
  21. public function index(Request $request, DemandFilters $filters)
  22. {
  23. // 查询权限
  24. $demands = Demand::query()->with(['processes', 'initiator', 'handler', 'uploadFile'])->filter($filters)->sql();
  25. $demands = Demand::query()->with(['processes', 'initiator', 'handler', 'uploadFile'])->filter($filters)->paginate($request['paginate'] ?? 50);
  26. return view('maintenance.demand.index', compact('demands'));
  27. }
  28. /**
  29. * @param DemandRequest $request
  30. * @param DemandService $service
  31. */
  32. public function storeApi(DemandRequest $request,DemandService $service)
  33. {
  34. // 创建权限
  35. /** @var Demand $demand */
  36. $demand = Demand::query()->create($request->all());
  37. if ($demand) {
  38. $file = $request->file('file');
  39. if(isset($file))$service->saveUPLoadFile($demand,$file);
  40. $this->success($demand);
  41. } else{
  42. $this->error('需求创建出现异常');
  43. }
  44. }
  45. /**
  46. * @param DemandRequest $request
  47. * @param Demand $demand
  48. */
  49. public function updateApi(DemandRequest $request, Demand $demand)
  50. {
  51. // 编辑权限
  52. $bool = $demand->update($request->all());
  53. if ($bool) {
  54. $demand->loadMissing('authority', 'initiator', 'handler', 'uploadFile', 'processes');
  55. $this->success($demand);
  56. }
  57. $this->error('需求更新出现异常');
  58. }
  59. /**
  60. * @param DemandRequest $request
  61. * @param Demand $demand
  62. * @param DemandService $service
  63. */
  64. public function uploadFileApi(DemandRequest $request, Demand $demand,DemandService $service)
  65. {
  66. // 文件上传
  67. $service->saveUPLoadFile($demand,$request['file']);
  68. $demand->loadMissing('authority', 'initiator', 'handler', 'uploadFile', 'processes');
  69. $this->success($demand);
  70. }
  71. /**
  72. * @param DemandRequest $request
  73. * @param Demand $demand
  74. */
  75. public function destroyApi(DemandRequest $request, Demand $demand)
  76. {
  77. // 删除权限
  78. try {
  79. if ($demand->delete()) $this->success();
  80. } catch (\Exception $e) {
  81. $this->error($e->getMessage());
  82. }
  83. }
  84. /**
  85. * 完结需求
  86. *
  87. * @param DemandRequest $request
  88. * @param Demand $demand
  89. */
  90. public function finishApi(DemandRequest $request, Demand $demand)
  91. {
  92. if($demand->update(['status','1']))
  93. $this->success($demand);
  94. else
  95. $this->error('修改失败');
  96. }
  97. }