提交 778028a0 authored 作者: 吴德鹏's avatar 吴德鹏

购物车批量添加

上级 8b0d9e0a
......@@ -17,6 +17,7 @@ import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
......@@ -64,8 +65,9 @@ public class CartController extends Controller {
}
//Add single item to the cart
// @Async
@PostMapping
public Result addToCart(@RequestParam(value = "checkFlag",required = false) Integer checkFlag, @RequestBody TbCfCartRecordR itemDetail) {
public Result addToCart(@RequestBody TbCfCartRecordR itemDetail) {
TbCfUserInfo user = this.user.user();
......@@ -147,6 +149,7 @@ public class CartController extends Controller {
TbCfCartRecordR detail;
if (optionalItem.isPresent()) {
detail = optionalItem.get();
......@@ -160,18 +163,18 @@ public class CartController extends Controller {
// Check if the item exist in cart
Optional<TbCfCartRecordR> cartOptional = repository.findFirstByUserIdAndItemIdAndItemSku(userId, itemId, itemDetail.getItemSku());
Integer flag = itemDetail.getCheckFlag() != null ? itemDetail.getCheckFlag() : StateConstant.VALID;
if (cartOptional.isPresent()) {
TbCfCartRecordR cart = cartOptional.get();
cart.setCheckFlag(checkFlag != null ? checkFlag : StateConstant.VALID);
cart.setCheckFlag(flag);
cart.increaseNum(itemDetail.getItemNum());
repository.save(cart);
} else {
//detail.setItemNum(itemDetail.getItemNum());
insertRecord(itemDetail, userId, checkFlag);
insertRecord(itemDetail, userId, flag);
}
if (user.hasFcm()) {
int i = repository.countByUserId(userId);
sendNotification(user.getFcm(), "Cart updates", "Item added to cart, " + i + " item(s) are pending, continue with order");
......@@ -181,6 +184,14 @@ public class CartController extends Controller {
return new Result();
}
@PostMapping("/addCartList")
public Result addCartList(@RequestBody List<TbCfCartRecordR> cartList) {
cartList.forEach(cart -> {
addToCart(cart);
});
return new Result();
}
@PutMapping("/changeCartStatus/{status}")
public Result changeCartStatus(@RequestBody String[] cartIds,
@PathVariable("status") Integer status) {
......@@ -216,7 +227,7 @@ public class CartController extends Controller {
//Insert
private void insertRecord(TbCfCartRecordR itemDetail, String userId, Integer checkFlag) {
itemDetail.setCartRecordId(uid());
itemDetail.setCheckFlag(checkFlag != null ? checkFlag : StateConstant.VALID);
itemDetail.setCheckFlag(checkFlag);
itemDetail.setEnableFlag(StateConstant.VALID);
itemDetail.setUserId(userId);
itemDetail.setCreateTime(new Date());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论