peng
2 天以前 2810aeb52b9d5e4079647934f6c8408f9864c493
insert 完成再来一单接口
3个文件已修改
1个文件已添加
58 ■■■■■ 已修改文件
buyer-api/src/main/java/cn/lili/controller/order/CartController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
buyer-api/src/main/java/cn/lili/controller/order/CartController.java
@@ -5,6 +5,7 @@
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.order.cart.entity.dto.BuyBackDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.order.cart.entity.vo.TradeParams;
@@ -16,11 +17,16 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
 * 买家端,购物车接口
@@ -151,6 +157,15 @@
    }
    @ApiOperation(value = "再次购买")
    @Validated
    @PostMapping(value = "/sku/buyBack")
    public ResultMessage<Object> buyBack(@RequestBody @Valid @NotEmpty List<BuyBackDTO> backDTO) {
        cartService.buyBack(backDTO);
        return ResultUtil.success();
    }
    @ApiOperation(value = "获取结算页面购物车详情")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "way", value = "购物车购买:CART/立即购买:BUY_NOW/拼团购买:PINTUAN / 积分购买:POINT ", required = true, paramType = "query")
framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java
New file
@@ -0,0 +1,23 @@
package cn.lili.modules.order.cart.entity.dto;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
 * 再次购买使用
 *
 * @author peng
 * @since 2025-06-24
 */
@Data
public class BuyBackDTO {
    @NotBlank(message = "商品skuId不能为空")
    private String skuId;
    @Min(value = 1, message = "最小不能小于一个")
    private Integer num;
}
framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java
@@ -1,6 +1,7 @@
package cn.lili.modules.order.cart.service;
import cn.lili.modules.order.cart.entity.dto.BuyBackDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
import cn.lili.modules.order.cart.entity.vo.TradeParams;
@@ -92,6 +93,9 @@
     */
    void delete(String[] skuIds);
    void buyBack(List<BuyBackDTO> backDTO);
    /**
     * 清空购物车
     */
framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java
@@ -23,6 +23,7 @@
import cn.lili.modules.member.entity.dos.MemberAddress;
import cn.lili.modules.member.service.MemberAddressService;
import cn.lili.modules.member.service.MemberService;
import cn.lili.modules.order.cart.entity.dto.BuyBackDTO;
import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO;
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
@@ -51,6 +52,7 @@
import cn.lili.modules.store.entity.dos.StoreAddress;
import cn.lili.modules.store.service.StoreAddressService;
import cn.lili.modules.store.service.StoreService;
import com.beust.ah.A;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -126,6 +128,9 @@
    @Autowired
    private StoreAddressService storeAddressService;
    @Autowired
    private CartService cartService;
    @Override
    public void add(String skuId, Integer num, String cartType, Boolean cover) {
@@ -313,6 +318,17 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void buyBack(List<BuyBackDTO> backDTO) {
        //将原有的商品取消选中
        cartService.checkedAll(false);
        //添加商品
        backDTO.forEach(buyBackDTO -> {
            cartService.add(buyBackDTO.getSkuId(), buyBackDTO.getNum(), CartTypeEnum.CART.name(), true);
        });
    }
    @Override
    public void clean() {
        cache.remove(this.getOriginKey(CartTypeEnum.CART));
    }