From ccb76143ccb8ba49a2fb7bb20dfe8fd8d57ddab0 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 11:13:35 +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 --- .../market/service/TbMemberConfigService.java | 6 +++-- .../impl/TbMemberConfigServiceImpl.java | 26 +++++++++++++------ .../service/impl/OrderInfoServiceImpl.java | 1 - 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/TbMemberConfigService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/TbMemberConfigService.java index ca48ca762..26cc4ab4b 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/TbMemberConfigService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/TbMemberConfigService.java @@ -39,8 +39,10 @@ public interface TbMemberConfigService extends IService { /** * 发放会员奖励 - * @param isCost 是否是消费 true 消费 false 充值 + * @param money 实际消费金额 + * @param expVal 经验值,只有当type为pay的时候才生效 + * @return 是否成功 */ - boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, Integer expVal); + boolean deliver(Long shopId, Long userId, TableValueConstant.MemberExpFlow.Type type, BigDecimal money, Integer expVal, Long sourceId); } 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 cdf2be706..320dfb9b9 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 @@ -19,8 +19,6 @@ import com.czg.market.vo.MemberLevelVO; import com.czg.exception.CzgException; import com.czg.market.service.MemberLevelConfigService; import com.czg.market.service.TbMemberConfigService; -import com.czg.order.entity.OrderInfo; -import com.czg.order.entity.OrderPayment; import com.czg.order.service.OrderInfoService; import com.czg.order.service.OrderPaymentService; import com.czg.service.market.enums.OrderStatusEnums; @@ -32,6 +30,7 @@ import com.mybatisflex.spring.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; @@ -145,7 +144,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl 0) { throw new CzgException("1级时本字段必须为0"); } else if (lastConfig != null && levelDTO.getExperienceValue() <= lastConfig.getExperienceValue()) { @@ -204,7 +203,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl= nextConfig.getExperienceValue()) { + shopUser.setMemberLevelId(nextConfig.getId()); + } + log.info("用户id: {}, 增加经验值: {}, 当前经验值: {}, 当前等级: {}", userId, exp, shopUser.getExperience(), shopUser.getMemberLevelId()); + shopUserService.updateById(shopUser); } return true; } @Override + @Transactional(rollbackFor = Exception.class) public boolean joinMember(Long shopId, Long userId, Long memberOrderId) { MemberConfigVO memberConfigVO = detail(shopId); ShopUser shopUser = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getShopId, shopId).eq(ShopUser::getUserId, userId)); @@ -314,7 +322,7 @@ public class TbMemberConfigServiceImpl extends ServiceImpl