diff --git a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActUserReceiveEnum.java b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActUserReceiveEnum.java index 68429e89d..8d70c522e 100644 --- a/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActUserReceiveEnum.java +++ b/pjcloud-wallet/pjcloud-wallet-api/src/main/java/com/bsd/pjcloud/wallet/api/constant/act/ActUserReceiveEnum.java @@ -20,6 +20,10 @@ public enum ActUserReceiveEnum { USER_CANNOT_PARTICIPATE("5", "用户不能参加此活动"), OTHER_ERROR("6", "其他错误"), USER_CAN_JOIN_ACT("99", "用户可以参加活动"), + + // 特殊 + PLEASE_RECEIVE_IN_BIRTH_MONTH("-100", "请在生日当月领取"), + PLEASE_FILL_BIRTH_DATE("-101", "请填写出生日期"), ; private final String code; diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java index 44410e8c4..b0059bf51 100755 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/act/ActCouponRecordServiceImpl.java @@ -2,6 +2,8 @@ package com.bsd.pjcloud.wallet.service.impl.act; import cn.hutool.core.collection.IterUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.json.JSON; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -22,6 +24,7 @@ import com.bsd.pjcloud.wallet.api.constant.act.ActUserReceiveEnum; import com.bsd.pjcloud.wallet.api.dto.WalletTransactionDto; import com.bsd.pjcloud.wallet.api.dto.act.ActCouponReceiveDto; import com.bsd.pjcloud.wallet.api.dto.act.ActCouponRecordDto; +import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity; import com.bsd.pjcloud.wallet.api.entity.WalletTypeEntity; import com.bsd.pjcloud.wallet.api.entity.act.ActCouponEntity; import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity; @@ -61,7 +64,7 @@ public class ActCouponRecordServiceImpl extends ServiceImpl walletList = walletTransactionMapper.scopeList(dto, null); if (ObjectUtil.isEmpty(walletList)) { log.info("|{}|{}用户参加{}活动失败:用户最近一年充值金额不足500,1500,800,2400", TAG, sysUser.getName(), uniqueCode); 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; + } return ActUserReceiveEnum.USER_CAN_JOIN_ACT; } return null;