家政小程序
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

ShopcarController.php 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\Shopcar;
  5. use Illuminate\Support\Facades\DB;
  6. class ShopcarController extends Controller
  7. {
  8. /**
  9. * 添加购物车
  10. * @param Request $request
  11. * @return mixed
  12. */
  13. public function add(Request $request) {
  14. $product_id = $request->input("product_id");
  15. $wechat_id = $request->header("openid");
  16. if($product_id) {
  17. $shopcar = Shopcar::where("wechat_id", $wechat_id)->where("product_id", $product_id)->first();
  18. if($shopcar) {
  19. $shopcar->product_amount = $shopcar->product_amount + 1;
  20. $shopcar->save();
  21. } else {
  22. $shopcar = new Shopcar;
  23. $shopcar->wechat_id = $wechat_id;
  24. $shopcar->product_id = $product_id;
  25. $shopcar->product_amount = 1;
  26. $shopcar->save();
  27. }
  28. return response()->json([
  29. "status" => 0,
  30. "message" => "已加入购物车!"
  31. ]);
  32. } else {
  33. return response()->json([
  34. "status" => -1,
  35. "error" => "请输入产品ID"
  36. ]);
  37. }
  38. }
  39. /**
  40. * 修改购物内产品数量
  41. * @param Request $request
  42. * @return mixed
  43. */
  44. public function amount(Request $request) {
  45. $product_id = $request->input("product_id");
  46. $wechat_id = $request->header("openid");
  47. $amount = $request->input("product_amount");
  48. if($product_id && $amount) {
  49. $shopcar = Shopcar::where("wechat_id", $wechat_id)->where("product_id", $product_id)->first();
  50. if($shopcar) {
  51. $shopcar->product_amount = $amount;
  52. $shopcar->save();
  53. return response()->json([
  54. "status" => 0,
  55. "message" => "修改成功!"
  56. ]);
  57. }
  58. } else {
  59. return response()->json([
  60. "status" => -1,
  61. "error" => "请输入产品ID和数量"
  62. ]);
  63. }
  64. }
  65. /**
  66. * 移除购物车
  67. * @param Request $request
  68. * @return mixed
  69. */
  70. public function delete(Request $request, $id) {
  71. $product_id = $request->route("id");
  72. $wechat_id = $request->header("openid");
  73. if($product_id) {
  74. $shopcar = Shopcar::where("wechat_id", $wechat_id)->where("product_id", $product_id)->first();
  75. if($shopcar) {
  76. $shopcar->delete();
  77. return response()->json([
  78. "status" => 0,
  79. "message" => "删除成功!"
  80. ]);
  81. }
  82. } else {
  83. return response()->json([
  84. "status" => -1,
  85. "error" => "请输入产品ID"
  86. ]);
  87. }
  88. }
  89. /**
  90. * 列出购物车列表
  91. * @param Request $request
  92. * @return mixed
  93. */
  94. public function list(Request $request) {
  95. $wechat_id = $request->header("openid");
  96. $sql = 'select t1.*, t2.name, t2.price, t2.classify, t2.color, t2.status, t2.photo '
  97. . 'from shopcars t1 '
  98. . 'inner join '
  99. . 'products t2 '
  100. . 'on t1.product_id = t2.id '
  101. . 'where t1.wechat_id = ?';
  102. $shopcars = DB::select($sql, [$wechat_id]);
  103. return response()->json([
  104. "status" => 0,
  105. "data" => $shopcars
  106. ]);
  107. }
  108. }