From ea610fe09e79aa1921179c807e5e6126bed0ca17 Mon Sep 17 00:00:00 2001 From: Derran Date: Tue, 14 Jan 2025 17:04:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=BD=E5=A5=96=E5=A5=96=E5=93=81=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/RafflePrizeActivityWinning.java | 50 ++++++++++++++++++ .../MatchmakerFranchiseFeeRewardEvent.java | 30 +++++++++++ ...quireMatchmakerJoinRecommendRewardDto.java | 2 + ...quireMatchmakerJoinRecommendRewardDto.java | 4 ++ ...afflePrizeActivityUserQueryController.java | 7 +++ .../rpa/RafflePrizeActivityEventHandler.java | 52 +++++++++++++++++++ .../reward/RewardApplicationService.java | 17 +++++- ...rizeActivityWinningApplicationService.java | 26 ++++++++++ .../RafflePrizeActivityWinningAggregate.java | 31 +++++++++++ .../RafflePrizeActivityWinningRepository.java | 12 +++++ .../rpaw/RafflePrizeActivityWinningDao.java | 12 +++++ ...flePrizeActivityWinningRepositoryImpl.java | 41 +++++++++++++++ .../rpa/RafflePrizeActivityQueryService.java | 4 ++ .../RafflePrizeActivityQueryServiceImpl.java | 17 ++++++ ...afflePrizeActivityWinningQueryService.java | 5 ++ ...ePrizeActivityWinningQueryServiceImpl.java | 9 ++++ 16 files changed, 318 insertions(+), 1 deletion(-) create mode 100644 dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpaw/entity/RafflePrizeActivityWinning.java create mode 100644 dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/matchmaker/event/MatchmakerFranchiseFeeRewardEvent.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/rpa/RafflePrizeActivityEventHandler.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpaw/RafflePrizeActivityWinningApplicationService.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/RafflePrizeActivityWinningAggregate.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/repository/RafflePrizeActivityWinningRepository.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpaw/RafflePrizeActivityWinningDao.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityWinningRepositoryImpl.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/RafflePrizeActivityWinningQueryService.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/impl/RafflePrizeActivityWinningQueryServiceImpl.java diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpaw/entity/RafflePrizeActivityWinning.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpaw/entity/RafflePrizeActivityWinning.java new file mode 100644 index 0000000..8691e11 --- /dev/null +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpaw/entity/RafflePrizeActivityWinning.java @@ -0,0 +1,50 @@ +package com.qniao.dam.domain.aggregate.rpaw.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import com.qniao.domain.Entity; + +import java.time.LocalDateTime; + +/** + * 抽奖活动中奖信息 + * + * @date 2025/01/14 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("da_raffle_prize_activity_winning") +public class RafflePrizeActivityWinning extends Entity { + + @ApiModelProperty("抽奖奖品活动标识") + private Long rafflePrizeActivityId; + + @ApiModelProperty("参加条件") + private RafflePrizeActivityConditionEnum rafflePrizeActivityCondition; + + @ApiModelProperty("中奖人") + private Long userId; + + @ApiModelProperty("中奖人手机") + private String phone; + + @ApiModelProperty("中奖产品") + private String rafflePrizeConfigName; + + @ApiModelProperty("是否抽奖") + private Boolean isDraw; + + @ApiModelProperty("抽奖时间") + private LocalDateTime drawTime; + + @ApiModelProperty("最高奖励") + private String maxReward; + + @ApiModelProperty("备注") + private String remark; + + +} diff --git a/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/matchmaker/event/MatchmakerFranchiseFeeRewardEvent.java b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/matchmaker/event/MatchmakerFranchiseFeeRewardEvent.java new file mode 100644 index 0000000..219fdb9 --- /dev/null +++ b/dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/matchmaker/event/MatchmakerFranchiseFeeRewardEvent.java @@ -0,0 +1,30 @@ +package com.qniao.dam.domian.aggregate.matchmaker.event; + +import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; +import com.qniao.domain.BaseDomainEvent; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class MatchmakerFranchiseFeeRewardEvent extends BaseDomainEvent { + + @ApiModelProperty("发起邀请红娘") + private Long matchmakerId; + + @ApiModelProperty("加盟费") + private BigDecimal franchiseFee; + + @ApiModelProperty("留存加盟费") + private BigDecimal stayFranchiseFee; + + @ApiModelProperty("被邀请用户名称") + private String receiveUserName; + + @ApiModelProperty("入驻红娘级别") + private MatchmakerLevelEnum receiveLevel; + + @ApiModelProperty("关联ID") + private Long associateId; +} diff --git a/dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserAcquireMatchmakerJoinRecommendRewardDto.java b/dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserAcquireMatchmakerJoinRecommendRewardDto.java index f20aca8..acadacf 100644 --- a/dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserAcquireMatchmakerJoinRecommendRewardDto.java +++ b/dating-agency-mall-sdk/src/main/java/com/qniao/dam/application/request/UserAcquireMatchmakerJoinRecommendRewardDto.java @@ -1,6 +1,7 @@ package com.qniao.dam.application.request; import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; +import com.qniao.dau.domian.aggregate.matchmakeraudit.constant.MatchmakerAuditBehaviorEnum; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -15,4 +16,5 @@ public class UserAcquireMatchmakerJoinRecommendRewardDto { private Long associateOrderId; private MatchmakerLevelEnum initiatorLevel; private MatchmakerLevelEnum receiveLevel; + private MatchmakerAuditBehaviorEnum behavior; } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/UserAcquireMatchmakerJoinRecommendRewardDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/UserAcquireMatchmakerJoinRecommendRewardDto.java index 4de0c78..36561e9 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/UserAcquireMatchmakerJoinRecommendRewardDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/reward/user/request/UserAcquireMatchmakerJoinRecommendRewardDto.java @@ -1,6 +1,7 @@ package com.qniao.dam.api.command.reward.user.request; import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; +import com.qniao.dau.domian.aggregate.matchmakeraudit.constant.MatchmakerAuditBehaviorEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -25,4 +26,7 @@ public class UserAcquireMatchmakerJoinRecommendRewardDto { @ApiModelProperty("入驻红娘级别") private MatchmakerLevelEnum receiveLevel; + @ApiModelProperty("行为 1注册 2升级") + private MatchmakerAuditBehaviorEnum behavior; + } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java index aedf9ba..976800a 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java @@ -35,4 +35,11 @@ public class RafflePrizeActivityUserQueryController { public UserGetRafflePrizeActivityDetailyByOperatorVo userGetRafflePrizeActivityDetailByOperator(@RequestParam("id") Long id) { return rafflePrizeActivityQueryService.getDetailByOperator(id); } + +// +// @GetMapping("get/raffle-prize-activity/detail/by/customer") +// @ApiOperation("客户获取抽奖奖品活动详情") +// public UserGetRafflePrizeActivityDetailyByOperatorVo userGetRafflePrizeActivityDetailByOperator(@RequestParam("id") Long id) { +// return rafflePrizeActivityQueryService.getDetailByOperator(id); +// } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/rpa/RafflePrizeActivityEventHandler.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/rpa/RafflePrizeActivityEventHandler.java new file mode 100644 index 0000000..911e70c --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/rpa/RafflePrizeActivityEventHandler.java @@ -0,0 +1,52 @@ +package com.qniao.dam.application.handler.rpa; + +import com.google.common.eventbus.Subscribe; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import com.qniao.dam.domian.aggregate.matchmaker.event.MatchmakerFranchiseFeeRewardEvent; +import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; +import com.qniao.dam.infrastructure.persistent.dao.domain.MatchmakerDao; +import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService; +import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; +import com.qniao.domain.BaseApplicationService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Objects; + +@Component +@Slf4j +public class RafflePrizeActivityEventHandler extends BaseApplicationService { + + @Resource + private RafflePrizeActivityQueryService rafflePrizeActivityQueryService; + @Resource + private MatchmakerDao matchmakerDao; + + /** + * 红娘邀请入驻奖励事件 + * + * @param event 红娘邀请入驻奖励事件 + */ + @Subscribe + private void handle(MatchmakerFranchiseFeeRewardEvent event) { + try { + RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityQueryService.queryEnableBy(RafflePrizeActivityConditionEnum.MATCHMAKER_JOIN_RECOMMEND); + if (Objects.nonNull(rafflePrizeActivity)) { + Matchmaker matchmaker = matchmakerDao.selectById(event.getMatchmakerId()); + //满足抽奖活动,获得抽奖资格 + RafflePrizeActivityWinning winning = new RafflePrizeActivityWinning(); + winning.setRafflePrizeActivityId(rafflePrizeActivity.getId()); + winning.setRafflePrizeActivityCondition(rafflePrizeActivity.getCondition()); + winning.setUserId(matchmaker.getUserId()); + winning.setPhone(matchmaker.getPhone()); + winning.setIsDraw(false); + winning.setMaxReward(event.getStayFranchiseFee().stripTrailingZeros().toPlainString()); + winning.setRemark(matchmaker.getType().getDesc() + matchmaker.getName() + "邀请" + event.getReceiveLevel().getDesc() + event.getReceiveUserName() + "加盟,加盟费" + event.getFranchiseFee()); + } + } catch (Exception e) { + log.error("红娘邀请入驻奖励事件处理异常", e); + } + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java index 267bdd4..aef6e80 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/reward/RewardApplicationService.java @@ -10,6 +10,7 @@ import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardAssociateOrderRecord; import com.qniao.dam.domain.aggregate.revenuereward.valueobj.RevenueRewardRecord; import com.qniao.dam.domain.service.revenuereward.AcquireRevenueRewardDomainService; +import com.qniao.dam.domian.aggregate.matchmaker.event.MatchmakerFranchiseFeeRewardEvent; import com.qniao.dam.domian.aggregate.pointaccount.event.PointRewardCreatedMQ; import com.qniao.dam.domian.aggregate.prc.constant.PointRewardConfigTypeEnum; import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; @@ -33,6 +34,8 @@ import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation; import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import com.qniao.dau.domain.aggregate.store.entity.Store; +import com.qniao.dau.domian.aggregate.matchmakeraudit.constant.MatchmakerAuditBehaviorEnum; +import com.qniao.domain.BaseApplicationService; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.stereotype.Service; @@ -41,7 +44,7 @@ import java.math.BigDecimal; import java.util.*; @Service -public class RewardApplicationService { +public class RewardApplicationService extends BaseApplicationService { @Resource private RewardConfigQueryService rewardConfigQueryService; @@ -103,6 +106,18 @@ public class RewardApplicationService { walletAccount.setRecordList(Collections.singletonList(record)); acquireRevenueRewardDomainService.handle(revenueReward, walletAccount); + //发送红娘收益事件 + if (MatchmakerAuditBehaviorEnum.REGISTER.equals(dto.getBehavior())) { + MatchmakerFranchiseFeeRewardEvent rewardEvent = new MatchmakerFranchiseFeeRewardEvent(); + rewardEvent.setMatchmakerId(initiatorMatchmaker.getId()); + rewardEvent.setFranchiseFee(rewardAmount); + rewardEvent.setStayFranchiseFee(rewardAmount.subtract(revenue)); + rewardEvent.setReceiveUserName(dto.getReceiveUserName()); + rewardEvent.setReceiveLevel(dto.getReceiveLevel()); + rewardEvent.setAssociateId(dto.getAssociateOrderId()); + this.sendEvent(rewardEvent); + } + //积分奖励 PointRewardCreatedMQ mq = new PointRewardCreatedMQ(); mq.setOwnId(dto.getInitiatorUserId()); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpaw/RafflePrizeActivityWinningApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpaw/RafflePrizeActivityWinningApplicationService.java new file mode 100644 index 0000000..e8f7fa5 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/rpaw/RafflePrizeActivityWinningApplicationService.java @@ -0,0 +1,26 @@ +package com.qniao.dam.application.service.rpaw; + +import com.qniao.dam.domain.aggregate.rpaw.RafflePrizeActivityWinningAggregate; +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class RafflePrizeActivityWinningApplicationService { + + @Resource + private RafflePrizeActivityWinningAggregate rafflePrizeActivityWinningAggregate; + + public void create(RafflePrizeActivityWinning rafflePrizeActivityWinning) { + rafflePrizeActivityWinningAggregate.create(rafflePrizeActivityWinning); + } + + public void edit(RafflePrizeActivityWinning rafflePrizeActivityWinning) { + rafflePrizeActivityWinningAggregate.edit(rafflePrizeActivityWinning); + } + + public void delete(Long id) { + rafflePrizeActivityWinningAggregate.delete(id); + } +} \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/RafflePrizeActivityWinningAggregate.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/RafflePrizeActivityWinningAggregate.java new file mode 100644 index 0000000..5ea1700 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/RafflePrizeActivityWinningAggregate.java @@ -0,0 +1,31 @@ +package com.qniao.dam.domain.aggregate.rpaw; + +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import com.qniao.dam.domain.aggregate.rpaw.repository.RafflePrizeActivityWinningRepository; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 抽奖活动中奖信息 + * + * @date 2025/01/14 + */ +@Service +public class RafflePrizeActivityWinningAggregate { + + @Resource + private RafflePrizeActivityWinningRepository repository; + + public void create(RafflePrizeActivityWinning entity) { + repository.save(entity); + } + + public void edit(RafflePrizeActivityWinning entity) { + repository.save(entity); + } + + public void delete(Long id) { + repository.delete(id); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/repository/RafflePrizeActivityWinningRepository.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/repository/RafflePrizeActivityWinningRepository.java new file mode 100644 index 0000000..a6cc7fc --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/rpaw/repository/RafflePrizeActivityWinningRepository.java @@ -0,0 +1,12 @@ +package com.qniao.dam.domain.aggregate.rpaw.repository; + +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import com.qniao.domain.Repository; + +/** + * 抽奖活动中奖信息 + * + * @date 2025/01/14 + */ +public interface RafflePrizeActivityWinningRepository extends Repository { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpaw/RafflePrizeActivityWinningDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpaw/RafflePrizeActivityWinningDao.java new file mode 100644 index 0000000..db9d5c4 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpaw/RafflePrizeActivityWinningDao.java @@ -0,0 +1,12 @@ +package com.qniao.dam.infrastructure.persistent.dao.rpaw; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; + +/** + * 抽奖活动中奖信息 + * + * @date 2025/01/14 + */ +public interface RafflePrizeActivityWinningDao extends BaseMapper { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityWinningRepositoryImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityWinningRepositoryImpl.java new file mode 100644 index 0000000..78be032 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityWinningRepositoryImpl.java @@ -0,0 +1,41 @@ +package com.qniao.dam.infrastructure.persistent.repository.impl; + +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import com.qniao.dam.domain.aggregate.rpaw.repository.RafflePrizeActivityWinningRepository; +import com.qniao.dam.infrastructure.persistent.dao.rpaw.RafflePrizeActivityWinningDao; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Objects; + +/** + * 抽奖活动中奖信息 + * + * @date 2025/01/14 + */ +@Service +public class RafflePrizeActivityWinningRepositoryImpl implements RafflePrizeActivityWinningRepository { + + @Resource + private RafflePrizeActivityWinningDao dao; + + @Override + public RafflePrizeActivityWinning load(Long id) { + return dao.selectById(id); + } + + @Override + public Long save(RafflePrizeActivityWinning entity) { + if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) { + dao.insert(entity); + } else { + dao.updateById(entity); + } + return entity.getId(); + } + + @Override + public void delete(Long id) { + dao.deleteById(id); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java index 2903b83..21de8f2 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.qniao.dam.api.query.rpa.user.request.UserPageRafflePrizeActivityQueryParams; import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailyByOperatorVo; import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; import com.qniao.framework.utils.PageUtil; public interface RafflePrizeActivityQueryService { @@ -11,4 +13,6 @@ public interface RafflePrizeActivityQueryService { IPage pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, PageUtil pageUtil); UserGetRafflePrizeActivityDetailyByOperatorVo getDetailByOperator(Long id); + + RafflePrizeActivity queryEnableBy(RafflePrizeActivityConditionEnum rafflePrizeActivityConditionEnum); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java index 3a50241..703e3b4 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java @@ -1,10 +1,12 @@ package com.qniao.dam.query.rpa.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.qniao.dam.api.query.rpa.user.request.UserPageRafflePrizeActivityQueryParams; import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailyByOperatorVo; import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao; import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService; import com.qniao.framework.utils.PageUtil; @@ -12,6 +14,7 @@ import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.Objects; @Service @@ -36,4 +39,18 @@ public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQ } return detailVo; } + + @Override + public RafflePrizeActivity queryEnableBy(RafflePrizeActivityConditionEnum condition) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if (Objects.nonNull(condition)) { + wrapper.eq(RafflePrizeActivity::getCondition, condition); + } + wrapper.eq(RafflePrizeActivity::getEnable, true); + LocalDateTime now = LocalDateTime.now(); + wrapper.ge(RafflePrizeActivity::getStartTime, now); + wrapper.le(RafflePrizeActivity::getEndTime, now); + wrapper.last("limit 1"); + return rafflePrizeActivityDao.selectOne(wrapper); + } } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/RafflePrizeActivityWinningQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/RafflePrizeActivityWinningQueryService.java new file mode 100644 index 0000000..48eb483 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/RafflePrizeActivityWinningQueryService.java @@ -0,0 +1,5 @@ +package com.qniao.dam.query.rpaw; + +public interface RafflePrizeActivityWinningQueryService { + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/impl/RafflePrizeActivityWinningQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/impl/RafflePrizeActivityWinningQueryServiceImpl.java new file mode 100644 index 0000000..f6041bf --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/impl/RafflePrizeActivityWinningQueryServiceImpl.java @@ -0,0 +1,9 @@ +package com.qniao.dam.query.rpaw.impl; + +import com.qniao.dam.query.rpaw.RafflePrizeActivityWinningQueryService; +import org.springframework.stereotype.Service; + +@Service +public class RafflePrizeActivityWinningQueryServiceImpl implements RafflePrizeActivityWinningQueryService { + +} \ No newline at end of file