家政小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ProductController.php 4.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\Product;
  5. use App\Models\ProductPage;
  6. class ProductController extends Controller
  7. {
  8. /**
  9. * 创建活动
  10. * @param Request $request
  11. * @return \Illuminate\Http\JsonResponse
  12. */
  13. public function store(Request $request)
  14. {
  15. $id = $request->input('id');
  16. $name = $request->input('name');
  17. $info = $request->input('info');
  18. $classify = $request->input('classify');
  19. $color = $request->input('color');
  20. $price = $request->input('price');
  21. $status = $request->input('status');
  22. $show = $request->input('show');
  23. if ($id) {
  24. $product = Product::find($id);
  25. $product->status = $status;
  26. $product->show = 0;
  27. } else {
  28. $product = new Product;
  29. $product->status = 0;
  30. $product->collect_num = 0;
  31. $product->sell_num = 0;
  32. }
  33. if ($name && $info && $classify && $color) {
  34. $product->name = $name;
  35. $product->info = $info;
  36. $product->color = $color;
  37. $product->price = $price;
  38. $product->classify = $classify;
  39. $product->show = $show;
  40. $product->save();
  41. return Response()->json([
  42. "status" => 0,
  43. "message" => "保存成功!"
  44. ]);
  45. } else {
  46. return Response()->json([
  47. "status" => -1,
  48. "message" => "信息不能为空!"
  49. ]);
  50. }
  51. }
  52. /**
  53. * 返回给后台列表
  54. * @param Request $request
  55. * @return mixed
  56. */
  57. public function manage_list(Request $request) {
  58. return Product::paginate(20);
  59. }
  60. /**
  61. * 按分类返回给小程序
  62. * @param Request $request
  63. * @return \Illuminate\Http\JsonResponse
  64. */
  65. public function list(Request $request)
  66. {
  67. $products = Product::all()->toArray();
  68. $datas = array_map(function ($product) {
  69. return [
  70. "id" => $product["id"],
  71. "classify" => $product["classify"],
  72. "name" => $product["name"],
  73. "price" => $product["price"],
  74. "photo" => $product["photo"]
  75. ];
  76. }, $products);
  77. $data = [];
  78. foreach ($datas as $d) {
  79. if(!array_key_exists($d["classify"], $data)) {
  80. $data[$d["classify"]] = [];
  81. }
  82. array_push($data[$d["classify"]], $d);
  83. }
  84. return response()->json([
  85. "status" => 0,
  86. "data" => $data
  87. ]);
  88. }
  89. /**
  90. * 每页20进行分页
  91. * @param Request $request
  92. * @return mixed
  93. */
  94. public function home(Request $request)
  95. {
  96. $homePage = ProductPage::find(1);
  97. $top1 = Product::find($homePage->top1);
  98. $top2 = Product::find($homePage->top2);
  99. $top3 = Product::find($homePage->top3);
  100. return Response()->json([
  101. "data" => [
  102. [
  103. "id" => $top1["id"],
  104. "name" => $top1["name"],
  105. "photo" => $top1["photo"]
  106. ],
  107. [
  108. "id" => $top2["id"],
  109. "name" => $top2["name"],
  110. "photo" => $top2["photo"]
  111. ],
  112. [
  113. "id" => $top3["id"],
  114. "name" => $top3["name"],
  115. "photo" => $top3["photo"]
  116. ],
  117. ],
  118. "status" => 0,
  119. ]);
  120. }
  121. public function setHome(Request $request) {
  122. $top1 = $request->input("top1");
  123. $top2 = $request->input("top2");
  124. $top3 = $request->input("top3");
  125. if($top1 && $top2 && $top3 ) {
  126. $homePage = ProductPage::find(1);
  127. $homePage->top1 = $top1;
  128. $homePage->top2 = $top2;
  129. $homePage->top3 = $top3;
  130. $homePage->save();
  131. return response()->json([
  132. "status" => 0,
  133. "message" => '修改成功'
  134. ]);
  135. } else {
  136. return Response()->json([
  137. "status" => -1,
  138. "message" => "信息不能为空!"
  139. ]);
  140. }
  141. }
  142. }