|
@@ -537,19 +537,21 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
stock = product.getTicketNum();
|
|
|
redisTemplate.opsForValue().set(stockKey, stock, 60 * 60 * 24, TimeUnit.SECONDS);
|
|
|
}
|
|
|
+ //使用人
|
|
|
+ List<String> ids = Arrays.stream(createOrderForm.getFamilyIds().split(",")).collect(Collectors.toList());
|
|
|
|
|
|
// 检查库存是否足够
|
|
|
- if (stock < count) {
|
|
|
+ if (stock < ids.size()) {
|
|
|
throw new JeecgBootException("订单提交失败,库存不足");
|
|
|
}
|
|
|
|
|
|
// 更新数据库中的库存数据
|
|
|
int row = appSitePriceRulesMapper.update(null, Wrappers.<AppSitePriceRules>lambdaUpdate()
|
|
|
.eq(AppSitePriceRules::getId, productId)
|
|
|
- .set(AppSitePriceRules::getTicketNum, stock - count));
|
|
|
+ .set(AppSitePriceRules::getTicketNum, stock - ids.size()));
|
|
|
if (row > 0) {
|
|
|
// 更新Redis中缓存的商品库存数据
|
|
|
- redisTemplate.opsForValue().decrement(stockKey, count);
|
|
|
+ redisTemplate.opsForValue().decrement(stockKey, ids.size());
|
|
|
}
|
|
|
// 库存扣减完,创建订单
|
|
|
appOrder
|
|
@@ -569,14 +571,12 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
.setUpdateBy(user.getId())
|
|
|
.setStatus(CommonConstant.STATUS_NORMAL)
|
|
|
.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
- //使用人
|
|
|
- List<String> ids = Arrays.stream(createOrderForm.getFamilyIds().split(",")).collect(Collectors.toList());
|
|
|
+
|
|
|
for (String id : ids) {
|
|
|
FamilyMembers familyMembers = familyMembersMapper.selectById(id);
|
|
|
if (Objects.isNull(familyMembers)) {
|
|
|
-
|
|
|
+ throw new JeecgBootException("订单提交失败,用户不存在");
|
|
|
}
|
|
|
-
|
|
|
String date = DateUtil.format(priceRule.getDateOfSale(), "yyyy-MM-dd");
|
|
|
String startTime = DateUtil.format(priceRule.getStartTime(), "HH:mm:ss");
|
|
|
String endTime = DateUtil.format(priceRule.getEndTime(), "HH:mm:ss");
|