From 5a52e0294987247098af4fe7015b01b398a94e5d Mon Sep 17 00:00:00 2001 From: Derran Date: Tue, 14 Jan 2025 17:54:47 +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 | 3 ++ ...afflePrizeActivityUserQueryController.java | 17 +++++---- ...> UserGetRafflePrizeActivityDetailVo.java} | 2 +- ...izeActivityWinningUserQueryController.java | 36 ++++++++++++++++++ ...UserGetRafflePrizeActivityDrawCountVo.java | 13 +++++++ ...etRafflePrizeActivityLatestDrawInfoVo.java | 21 +++++++++++ .../rpa/RafflePrizeActivityQueryService.java | 6 ++- .../RafflePrizeActivityQueryServiceImpl.java | 18 +++++++-- ...afflePrizeActivityWinningQueryService.java | 6 +++ ...ePrizeActivityWinningQueryServiceImpl.java | 37 +++++++++++++++++++ 10 files changed, 144 insertions(+), 15 deletions(-) rename dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/{UserGetRafflePrizeActivityDetailyByOperatorVo.java => UserGetRafflePrizeActivityDetailVo.java} (95%) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/RafflePrizeActivityWinningUserQueryController.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserGetRafflePrizeActivityDrawCountVo.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserGetRafflePrizeActivityLatestDrawInfoVo.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 index 8691e11..b986963 100644 --- 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 @@ -43,6 +43,9 @@ public class RafflePrizeActivityWinning extends Entity pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, PageUtil pageUtil); - UserGetRafflePrizeActivityDetailyByOperatorVo getDetailByOperator(Long id); + UserGetRafflePrizeActivityDetailVo getDetailByOperator(Long id); RafflePrizeActivity queryEnableBy(RafflePrizeActivityConditionEnum rafflePrizeActivityConditionEnum); + + UserGetRafflePrizeActivityDetailVo getDetailByCustomer(); } 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 c5ca0d6..66ca931 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 @@ -3,7 +3,7 @@ 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.UserGetRafflePrizeActivityDetailVo; 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; @@ -30,11 +30,11 @@ public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQ } @Override - public UserGetRafflePrizeActivityDetailyByOperatorVo getDetailByOperator(Long id) { - UserGetRafflePrizeActivityDetailyByOperatorVo detailVo = new UserGetRafflePrizeActivityDetailyByOperatorVo(); + public UserGetRafflePrizeActivityDetailVo getDetailByOperator(Long id) { + UserGetRafflePrizeActivityDetailVo detailVo = null; RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityDao.selectById(id); if (Objects.nonNull(rafflePrizeActivity)) { - detailVo = TypeConvertUtils.convert(rafflePrizeActivity, UserGetRafflePrizeActivityDetailyByOperatorVo.class); + detailVo = TypeConvertUtils.convert(rafflePrizeActivity, UserGetRafflePrizeActivityDetailVo.class); detailVo.setItemList(rafflePrizeActivityDao.listItemVo(id)); } return detailVo; @@ -53,4 +53,14 @@ public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQ wrapper.last("limit 1"); return rafflePrizeActivityDao.selectOne(wrapper); } + + @Override + public UserGetRafflePrizeActivityDetailVo getDetailByCustomer() { + UserGetRafflePrizeActivityDetailVo detailVo = null; + RafflePrizeActivity rafflePrizeActivity = queryEnableBy(null); + if (Objects.nonNull(rafflePrizeActivity)) { + detailVo = getDetailByOperator(rafflePrizeActivity.getId()); + } + return detailVo; + } } \ 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 index 48eb483..8aef677 100644 --- 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 @@ -1,5 +1,11 @@ package com.qniao.dam.query.rpaw; +import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo; +import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo; + public interface RafflePrizeActivityWinningQueryService { + UserGetRafflePrizeActivityDrawCountVo getDrawCount(Long rafflePrizeActivityId, Long userId); + + UserGetRafflePrizeActivityLatestDrawInfoVo getLatestDrawInfo(Long rafflePrizeActivityId, Long userId); } 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 index f6041bf..9dcad6c 100644 --- 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 @@ -1,9 +1,46 @@ package com.qniao.dam.query.rpaw.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo; +import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo; +import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import com.qniao.dam.infrastructure.persistent.dao.rpaw.RafflePrizeActivityWinningDao; import com.qniao.dam.query.rpaw.RafflePrizeActivityWinningQueryService; +import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Objects; + @Service public class RafflePrizeActivityWinningQueryServiceImpl implements RafflePrizeActivityWinningQueryService { + @Resource + private RafflePrizeActivityWinningDao rafflePrizeActivityWinningDao; + + @Override + public UserGetRafflePrizeActivityDrawCountVo getDrawCount(Long rafflePrizeActivityId, Long userId) { + UserGetRafflePrizeActivityDrawCountVo drawCountVo = new UserGetRafflePrizeActivityDrawCountVo(); + drawCountVo.setDrawCount(rafflePrizeActivityWinningDao.selectCount(new LambdaQueryWrapper() + .eq(RafflePrizeActivityWinning::getRafflePrizeActivityId, rafflePrizeActivityId) + .eq(RafflePrizeActivityWinning::getUserId, userId) + .eq(RafflePrizeActivityWinning::getIsDraw, false))); + return drawCountVo; + } + + @Override + public UserGetRafflePrizeActivityLatestDrawInfoVo getLatestDrawInfo(Long rafflePrizeActivityId, Long userId) { + UserGetRafflePrizeActivityLatestDrawInfoVo latestDrawInfoVo = null; + RafflePrizeActivityWinning winning = rafflePrizeActivityWinningDao.selectOne(new LambdaQueryWrapper() + .eq(RafflePrizeActivityWinning::getRafflePrizeActivityId, rafflePrizeActivityId) + .eq(RafflePrizeActivityWinning::getUserId, userId) + .eq(RafflePrizeActivityWinning::getIsDraw, false) + .orderByAsc(RafflePrizeActivityWinning::getCreateTime) + .last("limit 1")); + if (Objects.nonNull(winning)) { + latestDrawInfoVo = TypeConvertUtils.convert(winning, UserGetRafflePrizeActivityLatestDrawInfoVo.class); + latestDrawInfoVo.setRafflePrizeActivityWinningId(winning.getId()); + } + return latestDrawInfoVo; + } } \ No newline at end of file