From 2810aeb52b9d5e4079647934f6c8408f9864c493 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期二, 24 六月 2025 14:31:09 +0800
Subject: [PATCH] insert 完成再来一单接口
---
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