From 88bd75d93f86d3cf4f12e652d459da8bae71e545 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 24 六月 2025 15:22:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java | 23 +++++++++++++++++++++++ framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java | 16 ++++++++++++++++ buyer-api/src/main/java/cn/lili/controller/order/CartController.java | 15 +++++++++++++++ framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java | 4 ++++ 4 files changed, 58 insertions(+), 0 deletions(-) diff --git a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java b/buyer-api/src/main/java/cn/lili/controller/order/CartController.java index 005a1c0..6eb90b1 100644 --- a/buyer-api/src/main/java/cn/lili/controller/order/CartController.java +++ b/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/绔嬪嵆璐拱锛欱UY_NOW/鎷煎洟璐拱锛歅INTUAN / 绉垎璐拱锛歅OINT ", required = true, paramType = "query") diff --git a/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java b/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java new file mode 100644 index 0000000..6d3ec65 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/cart/entity/dto/BuyBackDTO.java @@ -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; +} diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java index 2d525af..7e202f8 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartService.java +++ b/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); + /** * 娓呯┖璐墿杞� */ diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index fc70f12..71df81f 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/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)); } -- Gitblit v1.8.0