package com.doumee.api.web.mall; import com.baomidou.mybatisplus.core.metadata.IPage; import com.doumee.api.web.ApiController; import com.doumee.config.annotation.LoginRequired; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.model.ApiResponse; import com.doumee.core.model.PageWrap; import com.doumee.dao.web.request.goods.AddCartGoodsRequest; import com.doumee.dao.web.request.goods.GoodsRequest; import com.doumee.dao.web.request.goods.UpdCartGoodsRequest; import com.doumee.dao.web.response.goods.CartGoodsResponse; import com.doumee.dao.web.response.goods.GoodsInfoResponse; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/3/27 15:59 */ @Api(tags = "购物车信息") @Trace(exclude = true) @RestController @RequestMapping("/web/shopCart") @Slf4j public class ShopCartApi extends ApiController { @LoginRequired @ApiOperation("购物车列表") @PostMapping("/goodsPage") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse> goodsPage(@RequestBody PageWrap pageWrap) { IPage page = shopcartService.cartGoodsPage(pageWrap,getMemberId()); return ApiResponse.success("查询成功",page); } @LoginRequired @ApiOperation("购物车列表") @GetMapping("/cartGoodsTypeNum") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse cartGoodsTypeNum() { return ApiResponse.success("查询成功",shopcartService.cartGoodsTypeNum(getMemberId())); } @LoginRequired @ApiOperation("批量删除") @GetMapping("/deleteBatch") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), @ApiImplicitParam(paramType = "query", dataType = "String", name = "ids", value = "购物车商品主键", required = true) }) public ApiResponse deleteBatch(@RequestParam String ids) { String [] idArray = ids.split(","); List idList = new ArrayList<>(); for (String id : idArray) { idList.add(Integer.valueOf(id)); } shopcartService.deleteByIdInBatch(idList); return ApiResponse.success(null); } @LoginRequired @ApiOperation("更新数量") @PostMapping("/updateNum") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse updateNum(@RequestBody UpdCartGoodsRequest updCartGoodsRequest) { updCartGoodsRequest.setMemberId(getMemberId()); shopcartService.updateUnm(updCartGoodsRequest); return ApiResponse.success(null); } @LoginRequired @ApiOperation("加入购物车") @PostMapping("/addCart") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse addCart(@RequestBody AddCartGoodsRequest addCartGoodsRequest) { addCartGoodsRequest.setMemberId(getMemberId()); shopcartService.addCart(addCartGoodsRequest); return ApiResponse.success(null); } @LoginRequired @ApiOperation("订单加入购物车") @GetMapping("/orderAddCart") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "orderId", value = "订单主键", required = true) }) public ApiResponse orderAddCart(@RequestParam Integer orderId) { shopcartService.orderToCart(orderId,getMemberId()); return ApiResponse.success(null); } }