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