|
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
|
+import com.zhongzheng.common.core.redis.RedisCache;
|
|
import com.zhongzheng.common.exception.CustomException;
|
|
import com.zhongzheng.common.exception.CustomException;
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
import com.zhongzheng.common.utils.DateUtils;
|
|
import com.zhongzheng.common.utils.ServletUtils;
|
|
import com.zhongzheng.common.utils.ServletUtils;
|
|
@@ -41,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -86,6 +88,8 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
|
|
@Autowired
|
|
@Autowired
|
|
private IGoodsService iGoodsService;
|
|
private IGoodsService iGoodsService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private RedisCache redisCache;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public OrderHandleVo queryById(Long id) {
|
|
public OrderHandleVo queryById(Long id) {
|
|
@@ -260,6 +264,13 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public String createOrder(OrderHandleAddBo bo) {
|
|
public String createOrder(OrderHandleAddBo bo) {
|
|
|
|
+ String key = "SUBMIT_HANDLE:"+bo.getCreateUserId()+"-"+bo.getUserGoodsList().size();
|
|
|
|
+ Long keyStatus = redisCache.getCacheObject(key);
|
|
|
|
+ if(Validator.isNotEmpty(keyStatus)&&keyStatus==100L){
|
|
|
|
+ throw new CustomException("禁止频繁提交",667);
|
|
|
|
+ }
|
|
|
|
+ redisCache.setCacheObject(key, 100L,20, TimeUnit.SECONDS);
|
|
|
|
+
|
|
String handleOrderSn = insertByAddBo(bo);
|
|
String handleOrderSn = insertByAddBo(bo);
|
|
String importNo = ServletUtils.getEncoded("IMPORT");
|
|
String importNo = ServletUtils.getEncoded("IMPORT");
|
|
for (OrderHandleItemAddBo itemAddBo : bo.getUserGoodsList()) {
|
|
for (OrderHandleItemAddBo itemAddBo : bo.getUserGoodsList()) {
|
|
@@ -278,6 +289,7 @@ public class OrderHandleServiceImpl extends ServiceImpl<OrderHandleMapper, Order
|
|
addBo.setHandleOrderSn(handleOrderSn);
|
|
addBo.setHandleOrderSn(handleOrderSn);
|
|
iOrderService.placePlatHandleOrder(addBo);
|
|
iOrderService.placePlatHandleOrder(addBo);
|
|
}
|
|
}
|
|
|
|
+ redisCache.deleteObject(key);
|
|
return handleOrderSn;
|
|
return handleOrderSn;
|
|
}
|
|
}
|
|
|
|
|