家政小程序
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

OptionOrderController.php 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\OptionOrder;
  4. use App\Models\OptionValue;
  5. use App\Models\Classify;
  6. use Illuminate\Http\Request;
  7. class OptionOrderController extends Controller
  8. {
  9. public $classify_map = [];
  10. public $classify_name = [];
  11. public function __construct() {
  12. $classifies = Classify::all();
  13. foreach ($classifies as $classify) {
  14. $this->classify_map[$classify->id] = $classify;
  15. $this->classify_name[$classify->name] = $classify;
  16. }
  17. }
  18. public function store(Request $request) {
  19. $wechat_id = $request->header("openid");
  20. $option_ids = $request->input("options");
  21. $id = $request->input("id");
  22. $address = $request->input('address');
  23. $contact = $request->input('contact');
  24. $phone = $request->input('phone');
  25. $notes = $request->input('notes');
  26. $classify = $request->input('type');
  27. $price = $request->input('price');
  28. $status = $request->input('status');
  29. $photo = $request->input('photo');
  30. if($option_ids && $address && $contact && $phone && $classify) {
  31. $kvs = [];
  32. foreach ($option_ids as $option_id) {
  33. $option_value = OptionValue::with("optionKey")->find($option_id);
  34. $kvs[$option_value->optionKey->key] = $option_value->value;
  35. }
  36. if(!$id) {
  37. $option_order = new OptionOrder;
  38. $option_order->status = 0;
  39. $option_order->price = 0;
  40. } else {
  41. $option_order = OptinOrder::find($id);
  42. $option_order->status = $status;
  43. $option_order->price = $price;
  44. }
  45. $option_order->address = $address;
  46. $option_order->contact = $contact;
  47. $option_order->phone = $phone;
  48. $option_order->notes = $notes;
  49. $option_order->classify = $classify;
  50. $option_order->options = json_encode($kvs, JSON_UNESCAPED_UNICODE);
  51. if($classify) {
  52. $classify2 = $this->classify_name[$classify]->name;
  53. $pid = $this->classify_name[$classify]->pid;
  54. $classify1 = $this->classify_map[$pid]->name;
  55. $option_order->classify1 = $classify1;
  56. $option_order->classify2 = $classify2;
  57. $option_order->classify = $this->classify_name[$classify]->id;
  58. }
  59. $option_order->wechat_id = $wechat_id;
  60. $option_order->photo = $photo;
  61. $option_order->save();
  62. return Response()->json([
  63. "status" => 0,
  64. "message" => "保存成功"
  65. ]);
  66. } else {
  67. return Response()->json([
  68. "status" => -1,
  69. "message" => "信息不能为空!",
  70. "options" => $option_ids
  71. ]);
  72. }
  73. }
  74. /**
  75. * 每页20进行分页
  76. * @param Request $request
  77. * @return mixed
  78. */
  79. public function list(Request $request)
  80. {
  81. $classify = $request->input("classify");
  82. if($classify) {
  83. return OptionOrder::where("classify", $classify)->paginate(20);
  84. }
  85. return OptionOrder::paginate(20);
  86. }
  87. }