zhuyifan

fix

......@@ -47,7 +47,7 @@ import com.infoloop.tianting.exception.ErrorCodeEnum;
import com.infoloop.tianting.logic.delay.DelayedQueue;
import com.infoloop.tianting.logic.delay.OrderAutoCancelDelayTask;
import com.infoloop.tianting.logic.delay.param.AutoCancelParam;
import com.infoloop.tianting.menuservice.CloseTimeTypeEnum;
import com.infoloop.tianting.menuservice.ModeOfPaymentEnum;
import com.infoloop.tianting.model.bo.AddSkusSellQuantityBO;
import com.infoloop.tianting.model.bo.SkuSellQuantityBO;
import com.infoloop.tianting.model.dto.OperationDTO.BatchOperationDto;
......@@ -66,6 +66,7 @@ import com.infoloop.tianting.utils.DateUtil;
import com.infoloop.tianting.utils.JsonUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RAtomicLong;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -477,7 +478,7 @@ public class OrderServiceRpcClient {
String currentDate = DateUtil.formatDate(today, DateUtil.YYYY_MM_DD);
String redisKey = REDIS_KEY_PREFIX + currentDate;
// 获取分布式原子Long对象,用于原子自增操作
org.redisson.api.RAtomicLong atomicLong = redissonClient.getAtomicLong(redisKey);
RAtomicLong atomicLong = redissonClient.getAtomicLong(redisKey);
// 原子自增并获取当前值
long counter = atomicLong.incrementAndGet();
return String.format("%04d", (int) counter);
......@@ -565,7 +566,7 @@ public class OrderServiceRpcClient {
.addAllOrderDetails(orderDetails)
.build();
final var menuById = menuServiceRpcClient.getMenuById(createOrderDto.getEnterpriseId(), createOrderDto.getMenuId());
if (menuById.getResponse().getOrderRuleJson().getCloseTimeType() == CloseTimeTypeEnum.IMMEDIATELY) {
if (menuById.getResponse().getOrderRuleJson().getModeOfPayment() == ModeOfPaymentEnum.ONLINE) {
final var skuIds = createOrderDto.getOrderDetailDtos().stream().map(CreateOrderDetailDto::getSkuId).collect(Collectors.toList());
final var skuSellQuantities = this.querySkuSellQuantitiesByStallAndSkuIds(createOrderDto.getEnterpriseId(), createOrderDto.getStallId(), skuIds);
final var skuSellQuantityMap = skuSellQuantities.stream().collect(Collectors.toMap(SingleSkuSellQuantityRpcResponse::getSkuId, Function.identity()));
......@@ -599,7 +600,7 @@ public class OrderServiceRpcClient {
.setEnterpriseId(createOrderDto.getEnterpriseId())
.setCreatedBy(createOrderDto.getCreatedBy())
.build());
if (orderResponse.getIsCreated() && menuById.getResponse().getOrderRuleJson().getCloseTimeType() == CloseTimeTypeEnum.IMMEDIATELY) {
if (orderResponse.getIsCreated() && menuById.getResponse().getOrderRuleJson().getModeOfPayment() == ModeOfPaymentEnum.ONLINE) {
final var isSuccess = this.addSkusSellQuantities(createOrderDto.getEnterpriseId(), createOrderDto.getStallId(),
orderDetails.stream().map(e -> AddSkusSellQuantityBO.builder()
.skuId(e.getSkuId())
......