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

批量添加购物车时间处理

上级 cafa215c
...@@ -31,6 +31,13 @@ ...@@ -31,6 +31,13 @@
</dependencyManagement> </dependencyManagement>
<dependencies> <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> <dependency>
<groupId>com.squareup.okhttp</groupId> <groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp</artifactId> <artifactId>okhttp</artifactId>
......
package com.example.afrishop_v3.controllers; 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.Result;
import com.example.afrishop_v3.base.StateConstant; import com.example.afrishop_v3.base.StateConstant;
import com.example.afrishop_v3.enums.ResultCodeEnum; import com.example.afrishop_v3.enums.ResultCodeEnum;
...@@ -14,10 +16,8 @@ import com.example.afrishop_v3.util.ValidateUtils; ...@@ -14,10 +16,8 @@ import com.example.afrishop_v3.util.ValidateUtils;
import com.example.afrishop_v3.util.WordposHelper; import com.example.afrishop_v3.util.WordposHelper;
import net.sf.json.JSONArray; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Async;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.IOException; import java.io.IOException;
...@@ -26,6 +26,7 @@ import java.net.URISyntaxException; ...@@ -26,6 +26,7 @@ import java.net.URISyntaxException;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
@RestController @RestController
@RequestMapping("/cart") @RequestMapping("/cart")
...@@ -172,7 +173,8 @@ public class CartController extends Controller { ...@@ -172,7 +173,8 @@ public class CartController extends Controller {
repository.save(cart); repository.save(cart);
} else { } else {
//detail.setItemNum(itemDetail.getItemNum()); //detail.setItemNum(itemDetail.getItemNum());
insertRecord(itemDetail, userId, flag); Integer index = itemDetail.getIndex();
insertRecord(itemDetail, userId, flag,index);
} }
if (user.hasFcm()) { if (user.hasFcm()) {
...@@ -186,7 +188,13 @@ public class CartController extends Controller { ...@@ -186,7 +188,13 @@ public class CartController extends Controller {
@PostMapping("/addCartList") @PostMapping("/addCartList")
public Result addCartList(@RequestBody List<TbCfCartRecordR> cartList) { 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(); return new Result();
} }
...@@ -223,12 +231,16 @@ public class CartController extends Controller { ...@@ -223,12 +231,16 @@ public class CartController extends Controller {
} }
//Insert //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.setCartRecordId(uid());
itemDetail.setCheckFlag(checkFlag); itemDetail.setCheckFlag(checkFlag);
itemDetail.setEnableFlag(StateConstant.VALID); itemDetail.setEnableFlag(StateConstant.VALID);
itemDetail.setUserId(userId); itemDetail.setUserId(userId);
itemDetail.setCreateTime(new Date()); itemDetail.setCreateTime(dateTime);
repository.save(itemDetail); repository.save(itemDetail);
} }
......
...@@ -101,6 +101,8 @@ public class TbCfCartRecordR { ...@@ -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)") @Formula(value = "(SELECT sk.sku_price FROM tb_cf_item_skus sk WHERE sk.id=item_sku_id limit 1)")
private BigDecimal skuPrice; private BigDecimal skuPrice;
@Transient
private Integer index;
public TbCfCartRecordR(){ public TbCfCartRecordR(){
this.shopName = "afrishop"; this.shopName = "afrishop";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论