Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

semour / semour_web

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Find file
BlameHistoryPermalink
Switch branch/tag
  • semour_web
  • app
  • Http
  • Controllers
  • Api
  • CartApiController.php
  • SUDPTDUBLXEROFX\Administrator's avatar
    深茂 · dc5a89a8
    SUDPTDUBLXEROFX\Administrator committed 2 years ago
    dc5a89a8 Browse Files
CartApiController.php 2.74 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
<?php

namespace App\Http\Controllers\Api;

use App\Http\ApiHelper\ApiCode;
use App\Http\Requests\UserRegister;
use App\Http\Services\CartService;
use App\Http\Services\InquiryService;
use App\Models\User;
use Facade\Ignition\Support\Packagist\Package;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Redis;
use Illuminate\Support\Facades\Validator;

//购物车控制器
class CartApiController extends Controller
{
    //单条添加或者更新购物车
    public function saveCart(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'goods_id' => 'required|string',
            'buy_number' => 'required|string',
            'cart_id' => 'string',
        ]);

        if ($validator->fails()) {
            return $this->setError($validator->errors()->first());
        }

        $result = CartService::saveCart($request->user->id,$request->user->gid,$request->input("goods_id",0),$request->input("buy_number",0));
        return !$result ? $this->setError('Add cart failed , please contact administrator'):$this->setSuccess('success',ApiCode::API_CODE_SUCCESS,$result);
    }

    //批量添加购物车, items: {"goods_id":1166788996788323407,"goods_number":2}
    public function saveCartBatch(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'items' => 'required|string',
        ], [
            'items.min' => 'items must be at least 1 characters long.'
        ]);

        if ($validator->fails()) {
            return $this->setError($validator->errors()->first());
        }
        $data = $request->only([
            'items',
            'data',
        ]);

        $result = CartService::saveCart($data, $request->user->id,$request->user->gid);
        return !$result ? $this->setError('Add cart failed , please contact administrator'):$this->setSuccess('Add inquiry success');
    }

    //购物车列表
    public function cartLists(Request $request){
        $result = CartService::cartLists($request->user->id,$request->user->gid,$request->input("cart_ids",0));
        return $this->setSuccessData($result);
    }

    //查询当前购物车数量
    public function cartMyCount(Request $request){
        $result = CartService::cartMyCount($request->user->id,$request->user->gid);
        return $this->setSuccessData($result);
    }

    //删除购物车
    public function cartDelete(Request $request){
        $result = CartService::cartDelete($request->user->id,$request->input("cart_id",0));
        return $this->setSuccess("Delete cart success");
    }


}