From 3dbc5e8f554072fe5c71c58ebf7e74854fba6ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Fri, 12 Sep 2025 09:54:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E4=BC=9A=E5=91=98=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/czg/market/dto/MemberConfigDTO.java | 2 + .../com/czg/market/entity/TbMemberConfig.java | 2 + .../impl/TbMemberConfigServiceImpl.java | 86 +++++++++---------- 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MemberConfigDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MemberConfigDTO.java index d2a9ceae5..dc0b43e36 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MemberConfigDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MemberConfigDTO.java @@ -107,5 +107,7 @@ public class MemberConfigDTO { private String openType; + private String memberPriceShopType; + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/TbMemberConfig.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/TbMemberConfig.java index 931a7938d..a397cc574 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/TbMemberConfig.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/TbMemberConfig.java @@ -95,4 +95,6 @@ public class TbMemberConfig implements Serializable { private String openType; + private String memberPriceShopType; + } diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java index f372b759c..d329fdc57 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/TbMemberConfigServiceImpl.java @@ -253,55 +253,55 @@ public class TbMemberConfigServiceImpl extends ServiceImpl StrUtil.isNotBlank(shopUser.getPhone()); - case "ORDER" -> - orderInfoService.count(new QueryWrapper().eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, userId) - .notIn(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode(), OrderStatusEnums.CANCELLED.getCode())) > Integer.parseInt(item.getValue()); - case "COST_AMOUNT" -> - orderInfoService.list(new QueryWrapper().eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, userId) - .notIn(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode(), OrderStatusEnums.CANCELLED.getCode())) - .stream().map(OrderInfo::getPayAmount).reduce(BigDecimal.ZERO, BigDecimal::add).compareTo(new BigDecimal(item.getValue())) > 0; - case "RECHARGE_AMOUNT" -> - orderPaymentService.list(new QueryWrapper().eq(OrderPayment::getShopId, shopId) - .eq(OrderPayment::getSourceId, shopUser.getId()).isNotNull(OrderPayment::getTradeNumber)) - .stream().map(OrderPayment::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add).compareTo(new BigDecimal(item.getValue())) > 0; - default -> throw new CzgException("会员开通条件类型错误"); - }; - - } + MemberOrder memberOrder = memberOrderService.getOne(new QueryWrapper().eq(MemberOrder::getId, memberOrderId).eq(MemberOrder::getShopId, shopId)); + if (memberOrder == null) { + log.warn("会员购买支付失败,会员订单不存在,会员订单id:{}", memberOrderId); + return false; + } + if (!OrderStatusEnums.UNPAID.getCode().equals(memberOrder.getStatus())) { + log.warn("会员购买支付失败,会员订单状态不为待支付,会员订单id:{}", memberOrderId); + return false; } - if (canOpen) { - MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1)); - shopUser.setMemberLevelId(levelConfig.getId()); - shopUser.setIsVip(1); - shopUserService.updateById(shopUser); + switch (memberOrder.getCircleUnit()) { + case "天": + shopUser.setEndTime(shopUser.getEndTime().plusDays(memberOrder.getCircleTime())); + break; + case "周": + shopUser.setEndTime(shopUser.getEndTime().plusWeeks(memberOrder.getCircleTime())); + break; + case "月": + shopUser.setEndTime(shopUser.getEndTime().plusMonths(memberOrder.getCircleTime())); + break; + case "季": + shopUser.setEndTime(shopUser.getEndTime().plusMonths(memberOrder.getCircleTime() * 3L)); + break; + case "年": + shopUser.setEndTime(shopUser.getEndTime().plusYears(memberOrder.getCircleTime())); + break; + default: + throw new CzgException("周期单位错误"); } + if (memberOrder.getReward() != null) { + shopUser.setExperience(shopUser.getExperience() + memberOrder.getReward()); + } + + if (memberOrder.getCouponList() != null && !memberOrder.getCouponList().isEmpty()) { + + } + + MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1)); + shopUser.setMemberLevelId(levelConfig.getId()); + shopUser.setIsVip(1); + shopUserService.updateById(shopUser); + return false; } }