提交 244f87dc authored 作者: wudepeng's avatar wudepeng

批量添加购物车时间处理

上级 cafa215c
......@@ -31,6 +31,13 @@
</dependencyManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.1</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp</artifactId>
......
package com.example.afrishop_v3.controllers;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.example.afrishop_v3.base.Result;
import com.example.afrishop_v3.base.StateConstant;
import com.example.afrishop_v3.enums.ResultCodeEnum;
......@@ -14,10 +16,8 @@ import com.example.afrishop_v3.util.ValidateUtils;
import com.example.afrishop_v3.util.WordposHelper;
import net.sf.json.JSONArray;
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;
......@@ -26,6 +26,7 @@ import java.net.URISyntaxException;
import java.util.*;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
@RestController
@RequestMapping("/cart")
......@@ -172,7 +173,8 @@ public class CartController extends Controller {
repository.save(cart);
} else {
//detail.setItemNum(itemDetail.getItemNum());
insertRecord(itemDetail, userId, flag);
Integer index = itemDetail.getIndex();
insertRecord(itemDetail, userId, flag,index);
}
if (user.hasFcm()) {
......@@ -186,7 +188,13 @@ public class CartController extends Controller {
@PostMapping("/addCartList")
public Result addCartList(@RequestBody List<TbCfCartRecordR> cartList) {
cartList.forEach(cart -> addToCart(cart));
AtomicInteger index= new AtomicInteger(0);
cartList.forEach(cart->{
logger.info(cart.getItemId()+"的index:"+index);
cart.setIndex(index.get());
index.getAndIncrement();
addToCart(cart);
});
return new Result();
}
......@@ -223,12 +231,16 @@ public class CartController extends Controller {
}
//Insert
private void insertRecord(TbCfCartRecordR itemDetail, String userId, Integer checkFlag) {
private void insertRecord(TbCfCartRecordR itemDetail, String userId, Integer checkFlag,Integer index ) {
//日期处理:因为批量加入购物车时日期都是相同的,所以需要加入索引,确保每个时间不相同,才能按时间降序排列
String now = DateUtil.now();
if (index==null) index=0;
DateTime dateTime = DateUtil.offsetSecond(DateUtil.parse(now), index);
itemDetail.setCartRecordId(uid());
itemDetail.setCheckFlag(checkFlag);
itemDetail.setEnableFlag(StateConstant.VALID);
itemDetail.setUserId(userId);
itemDetail.setCreateTime(new Date());
itemDetail.setCreateTime(dateTime);
repository.save(itemDetail);
}
......
......@@ -101,6 +101,8 @@ public class TbCfCartRecordR {
@Formula(value = "(SELECT sk.sku_price FROM tb_cf_item_skus sk WHERE sk.id=item_sku_id limit 1)")
private BigDecimal skuPrice;
@Transient
private Integer index;
public TbCfCartRecordR(){
this.shopName = "afrishop";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论