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<IPage<CartGoodsResponse>> goodsPage(@RequestBody PageWrap pageWrap) {
|
IPage<CartGoodsResponse> 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<Integer> 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<Integer> 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);
|
}
|
|
}
|