diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index d1bf87a04..50e799703 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -1230,7 +1230,7 @@ public class HardOrderServiceImpl extends ServiceImpl walletList = walletTransactionMapper.scopeList(dto, null); if (ObjectUtil.isEmpty(walletList)) { - log.info("|{}|{}用户参加{}活动失败:用户最近一年充值金额不足500,1500,800,2400", TAG, sysUser.getName(), uniqueCode); + log.info("|{}|{}用户参加{}活动失败:用户最近3个月没有充值记录", TAG, sysUser.getName(), uniqueCode); return ActUserReceiveEnum.USER_CANNOT_PARTICIPATE; } - // 要在生日当月领取 + Integer walletTotalPrice = walletList.stream().filter(v -> ObjectUtil.isNotEmpty(v.getPrice())).map(WalletTransactionEntity::getPrice).reduce(Integer::sum).orElse(0); + if (walletTotalPrice < 1500 * 100) { + log.info("|{}|{}用户参加{}活动失败:用户最近3个月没有充值{}分", TAG, sysUser.getName(), uniqueCode, walletTotalPrice); + return ActUserReceiveEnum.USER_CANNOT_PARTICIPATE; + } + // 领取时间要大于生日 LocalDate birthday = sysUser.getBirthday(); if (ObjectUtil.isEmpty(birthday)) { log.info("|{}|{}用户参加{}活动失败:请填写生日", TAG, sysUser.getName(), uniqueCode); return ActUserReceiveEnum.PLEASE_FILL_BIRTH_DATE; } - if (ObjectUtil.notEqual(LocalDate.now().getMonth().getValue(), birthday.getMonth().getValue())) { - log.info("|{}|{}用户参加{}活动成功:在生日当月领取", TAG, sysUser.getName(), uniqueCode); - return ActUserReceiveEnum.PLEASE_RECEIVE_IN_BIRTH_MONTH; + LocalDate currentYearBirthday = birthday.withYear(LocalDate.now().getYear()); + if (currentYearBirthday.isBefore(LocalDate.now())) { + log.info("|{}|{}用户参加{}活动失败:生日已结束", TAG, sysUser.getName(), uniqueCode); + return ActUserReceiveEnum.BIRTHDAY_PERIOD_ENDED; } return ActUserReceiveEnum.USER_CAN_JOIN_ACT; } diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java index 41795e88e..8ef870723 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/utils/act/service/ActCouponComUtilService.java @@ -13,11 +13,13 @@ import com.bsd.pjcloud.wallet.service.ActCouponLifecycleService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import java.lang.reflect.Array; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.temporal.TemporalAdjusters; +import java.util.ArrayList; /** * @author liusiyang_dxm @@ -87,7 +89,7 @@ public class ActCouponComUtilService implements ActCouponLifecycleService { * 领取优惠券后的处理 */ @Override - public void afterReceive(ActCouponRecordEntity record) { + public void afterReceive(ActCouponRecordEntity record, SysUser sysUser) { } @@ -135,7 +137,8 @@ public class ActCouponComUtilService implements ActCouponLifecycleService { } // 基本校验:状态是否可用 if (ObjectUtil.notEqual(ActCouponRecordStatusEnum.UNUSED.getCode(), couponRecord.getStatus())) { - return "优惠券不可用"; + ActCouponRecordStatusEnum type = ActCouponRecordStatusEnum.valueOfByType(couponRecord.getStatus()); + return "该优惠券" + type.getDesc(); } // 校验有效期 LocalDateTime now = LocalDateTime.now(); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/act/ActCancelMapper.xml b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/act/ActCancelMapper.xml index 3f124aae0..2a09f51aa 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/act/ActCancelMapper.xml +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/resources/mapper/act/ActCancelMapper.xml @@ -48,6 +48,7 @@ + order by a.create_time desc , a.id desc \ No newline at end of file