buyer-api/src/main/java/cn/lili/controller/order/CartController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | 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)); }