RepairDeviceController.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\Api\mini;
  3. use App\Models\InnerDevice;
  4. use App\Models\Option;
  5. use App\Models\Part;
  6. use App\Models\Project;
  7. use App\Models\RentType;
  8. use App\Models\RepairDevice;
  9. use Illuminate\Http\Request;
  10. use Illuminate\Support\Facades\Auth;
  11. class RepairDeviceController extends BaseController
  12. {
  13. protected $model;
  14. public function __construct()
  15. {
  16. $this->model = new RepairDevice();
  17. }
  18. public function create(Request $request)
  19. {
  20. $project = Project::find($request->input('project_id'));
  21. if(!$project) return $this->error(['msg' => '找不到项目']);
  22. // $user = Auth::guard('mini')->user();
  23. $data = $request->only(['project_id', 'work_point_id', 'inner_device_id', 'reason', 'day', 'remark', 'money']);
  24. $user = Auth::guard('mini')->user();
  25. $data['user_id'] = $user ? $user->id : '';
  26. $data['money'] = $this->transMoney($request->input('money'));
  27. $repair = $this->model->create($data);
  28. $repair_status = Option::get('inner_devices', 'status', 'repair');
  29. InnerDevice::where('id', $data['inner_device_id'])->update([
  30. 'status' => $repair_status
  31. ]);
  32. if(!$repair) return $this->error(['msg' => '订单失败']);
  33. $parts = $request->input('parts');
  34. if($parts) {
  35. foreach($parts as $item) {
  36. $price = $this->transMoney($item['price']);
  37. $item['price'] = $price;
  38. Part::create(array_merge($item, [
  39. 'repair_device_id' => $repair->id
  40. ]));
  41. }
  42. }
  43. return $this->success();
  44. }
  45. public function get(Request $request)
  46. {
  47. $items = $this->model->where('inner_device_id', $request->input('id'))->with('parts', 'project', 'user')->get();
  48. foreach($items as $item) {
  49. $item->date = substr($item->created_at, 0 ,10);
  50. }
  51. return $this->success(['data' => $items]);
  52. }
  53. }