条件开通

This commit is contained in:
2025-12-25 19:27:39 +08:00
parent 5df01f5192
commit 87dd4cc3ba
2 changed files with 10 additions and 11 deletions

View File

@@ -26,6 +26,7 @@ public class FilteredNacosRegistry extends NacosRegistry {
"removeByMap",
"getByIdOpt",
"getOneOpt",
"getOneAs",
"getObjOpt",
"getObjAs",
"getObjAsOpt",

View File

@@ -12,7 +12,6 @@ import com.czg.account.service.ShopConfigService;
import com.czg.account.service.ShopInfoService;
import com.czg.account.service.ShopUserService;
import com.czg.constant.TableValueConstant;
import com.czg.constants.PayTypeConstants;
import com.czg.exception.CzgException;
import com.czg.market.dto.MemberConfigDTO;
import com.czg.market.dto.MemberLevelDTO;
@@ -25,7 +24,6 @@ import com.czg.market.enums.PointsConstant;
import com.czg.market.service.*;
import com.czg.market.vo.*;
import com.czg.order.entity.OrderInfo;
import com.czg.order.entity.OrderPayment;
import com.czg.order.service.OrderPaymentService;
import com.czg.service.market.enums.OrderStatusEnums;
import com.czg.service.market.mapper.TbMemberConfigMapper;
@@ -381,16 +379,17 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
@Override
@Transactional(rollbackFor = Exception.class)
public boolean joinMemberByCondition(Long shopId, Long userId, ShopUser shopUser) {
MemberConfigVO memberConfigVO = detail(shopId);
if (!memberConfigVO.getIsOpen().equals(1L)) {
log.info("超级会员未开启, 店铺id: {}", shopId);
return false;
}
if (shopUser == null) {
log.warn("用户不存在, 店铺id: {}, 用户id: {}", shopId, userId);
return false;
}
if (shopUser.getStartTime() != null && shopUser.getEndTime() != null && DateUtil.isIn(DateUtil.date(), DateUtil.date(shopUser.getStartTime()), DateUtil.date(shopUser.getEndTime()))) {
if (shopUser.getIsVip() == 1 && shopUser.getStartTime() != null && shopUser.getEndTime() != null &&
DateUtil.isIn(DateUtil.date(), DateUtil.date(shopUser.getStartTime()), DateUtil.date(shopUser.getEndTime()))) {
return false;
}
MemberConfigVO memberConfigVO = detail(shopId);
if (!memberConfigVO.getIsOpen().equals(1L)) {
log.info("超级会员未开启, 店铺id: {}", shopId);
return false;
}
MemberLevelConfig levelConfig = levelConfigService.getOne(new QueryWrapper().eq(MemberLevelConfig::getShopId, shopId).orderBy(MemberLevelConfig::getExperienceValue, true).limit(1));
@@ -417,9 +416,8 @@ public class TbMemberConfigServiceImpl extends ServiceImpl<TbMemberConfigMapper,
orderInfoService.getOneAs(query().select("IFNULL(sum(pay_amount), 0) as total_amount").eq(OrderInfo::getShopId, shopId).eq(OrderInfo::getUserId, shopUser.getUserId())
.eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()), BigDecimal.class)
.compareTo(new BigDecimal(item.getValue())) >= 0;
case "RECHARGE_AMOUNT" ->
paymentService.countMemberInAmount(shopId, shopUser.getId())
.compareTo(new BigDecimal(item.getValue())) >= 0;
case "RECHARGE_AMOUNT" -> paymentService.countMemberInAmount(shopId, shopUser.getId())
.compareTo(new BigDecimal(item.getValue())) >= 0;
default -> throw new CzgException("会员开通条件类型错误");
};
if (!canOpen) {