diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java index 788dbe819..8f4973c92 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java @@ -110,9 +110,14 @@ public class ShopUserServiceImpl extends ServiceImpl i MemberLevelConfig memberLevelConfig = memberLevelConfigService.getById(shopUser.getMemberLevelId()); if (memberLevelConfig != null) { shopUser.setMemberName(memberLevelConfig.getName()); - shopUser.setDiscount(memberLevelConfig.getDiscount()); MemberConfigVO configVO = memberConfigService.detail(memberLevelConfig.getShopId()); - shopUser.setIsMemberPrice(configVO.getIsMemberPrice()); + if (configVO.getIsOpen().equals(1L)) { + shopUser.setIsMemberPrice(configVO.getIsMemberPrice()); + shopUser.setDiscount(memberLevelConfig.getDiscount()); + }else { + shopUser.setIsMemberPrice(0); + shopUser.setDiscount(100); + } } } return shopUser; diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java index f17e0699b..98267b439 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java @@ -1248,12 +1248,6 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { } orderDetailService.updateOrderDetailStatus(orderInfo.getId(), OrderStatusEnums.DONE.getCode()); - if (orderInfo.getUserId() != null) { - ThreadUtil.execAsync(() -> exShopUserInfo(orderInfo)); - } - if (StrUtil.isNotBlank(orderInfo.getTableCode())) { - ThreadUtil.execAsync(() -> exTable(orderInfo)); - } // 保存消息参数(避免闭包中引用的变量被修改) final Long orderId = orderInfo.getId(); final boolean isPrint = orderInfo.getIsPrint() == 1; @@ -1264,6 +1258,12 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { @Override public void afterCommit() { + if (orderInfo.getUserId() != null) { + ThreadUtil.execAsync(() -> exShopUserInfo(orderInfo)); + } + if (StrUtil.isNotBlank(orderInfo.getTableCode())) { + ThreadUtil.execAsync(() -> exTable(orderInfo)); + } // 事务成功提交后执行消息发送 String printParam = orderId + "_" + (!"after-pay".equals(payMode) ? 1 : 0) + "_1"; rabbitPublisher.sendOrderPrintMsg(printParam, isPrint); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index 6bd50968b..77910f587 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -58,6 +58,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.TransactionSynchronization; +import org.springframework.transaction.support.TransactionSynchronizationManager; import java.math.BigDecimal; import java.math.RoundingMode; @@ -244,8 +246,8 @@ public class PayServiceImpl implements PayService { orderInfo.setRemark(payParam.getCheckOrderPay().getRemark()); } - log.info("发放经验值"); - memberConfigService.deliver(shopUser, TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getOrderAmount(), null, orderInfo.getId()); +// log.info("发放经验值"); +// memberConfigService.deliver(shopUser, TableValueConstant.MemberExpFlow.Type.COST, orderInfo.getOrderAmount(), null, orderInfo.getId()); Long flowId = shopUserService.updateMoney(shopUserMoneyEditDTO); orderInfoCustomService.upOrderInfo(orderInfo, orderInfo.getOrderAmount(),