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 fe4aaf0..58cffe4 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 @@ -30,6 +30,9 @@ public class RafflePrizeActivityWinning extends Entity userPageRafflePrizeActivityWinningByOperator(PageUtil pageUtil, + UserPageRafflePrizeActivityWinningQueryParams queryParams) { + return PageUtil.convert(rafflePrizeActivityWinningQueryService.page(queryParams, pageUtil), UserPageRafflePrizeActivityWinningVo.class); + } + + @GetMapping("page/raffle-prize-activity-winning/by/customer") + @ApiOperation("客户获取抽奖活动中奖名单分页") + public QnPage userPageRafflePrizeActivityWinningByCustomer(PageUtil pageUtil, + UserPageRafflePrizeActivityWinningQueryParams queryParams, + @RequestParam("userId") Long userId) { + queryParams.setQueryUserId(userId); + queryParams.setIsDraw(true); + return PageUtil.convert(rafflePrizeActivityWinningQueryService.page(queryParams, pageUtil), UserPageRafflePrizeActivityWinningVo.class); + } + + @GetMapping("page/raffle-prize-activity-winning/lamp") + @ApiOperation("用户获取抽奖活动中奖名单跑马灯分页") + public QnPage userPageRafflePrizeActivityWinningByCustomer(PageUtil pageUtil) { + return PageUtil.convert(rafflePrizeActivityWinningQueryService.lamp(pageUtil), UserPageRafflePrizeActivityWinningVo.class); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/request/UserPageRafflePrizeActivityWinningQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/request/UserPageRafflePrizeActivityWinningQueryParams.java new file mode 100644 index 0000000..dc913a2 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/request/UserPageRafflePrizeActivityWinningQueryParams.java @@ -0,0 +1,17 @@ +package com.qniao.dam.api.query.rpaw.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserPageRafflePrizeActivityWinningQueryParams { + + @ApiModelProperty("抽奖奖品活动标识") + private Long rafflePrizeActivityId; + + @ApiModelProperty("中奖用户标识") + private Long queryUserId; + + @ApiModelProperty("是否抽奖") + private Boolean isDraw; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserPageRafflePrizeActivityWinningVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserPageRafflePrizeActivityWinningVo.java new file mode 100644 index 0000000..2df873c --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserPageRafflePrizeActivityWinningVo.java @@ -0,0 +1,66 @@ +package com.qniao.dam.api.query.rpaw.user.response; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; +import com.qniao.dam.domian.aggregate.rpc.constant.PrizeCategoryEnum; +import com.qniao.dam.domian.aggregate.rpc.constant.PrizeTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class UserPageRafflePrizeActivityWinningVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long rafflePrizeActivityWinningId; + + @ApiModelProperty("抽奖奖品活动标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long rafflePrizeActivityId; + + @ApiModelProperty("抽奖奖品活动名称") + private String rafflePrizeActivityName; + + @ApiModelProperty("参加条件") + private RafflePrizeActivityConditionEnum rafflePrizeActivityCondition; + + @ApiModelProperty("中奖人") + @JsonSerialize(using = ToStringSerializer.class) + private Long userId; + + @ApiModelProperty("中奖人名称") + private String name; + + @ApiModelProperty("中奖人手机") + private String phone; + + @ApiModelProperty("奖品类型") + private PrizeTypeEnum prizeType; + + @ApiModelProperty("奖品分类") + private PrizeCategoryEnum prizeCategory; + + @ApiModelProperty("中奖产品") + private String rafflePrizeConfigName; + + @ApiModelProperty("是否抽奖") + private Boolean isDraw; + + @ApiModelProperty("抽奖时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime drawTime; + + @ApiModelProperty("最高奖励") + private String maxReward; + + @ApiModelProperty("奖励值") + private String rewardValue; + + @ApiModelProperty("备注") + private String remark; + +} 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 index 91dabc8..26ba4ce 100644 --- 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 @@ -43,6 +43,7 @@ public class RafflePrizeActivityEventHandler extends BaseApplicationService { winning.setRafflePrizeActivityId(rafflePrizeActivity.getId()); winning.setRafflePrizeActivityCondition(rafflePrizeActivity.getActivityCondition()); winning.setUserId(matchmaker.getUserId()); + winning.setName(matchmaker.getName()); winning.setPhone(matchmaker.getPhone()); winning.setIsDraw(false); winning.setMaxReward(event.getStayFranchiseFee().stripTrailingZeros().toPlainString()); 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 index db9d5c4..95ff5c7 100644 --- 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 @@ -1,7 +1,12 @@ package com.qniao.dam.infrastructure.persistent.dao.rpaw; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qniao.dam.api.query.rpaw.user.request.UserPageRafflePrizeActivityWinningQueryParams; +import com.qniao.dam.api.query.rpaw.user.response.UserPageRafflePrizeActivityWinningVo; import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; +import org.apache.ibatis.annotations.Param; /** * 抽奖活动中奖信息 @@ -9,4 +14,9 @@ import com.qniao.dam.domain.aggregate.rpaw.entity.RafflePrizeActivityWinning; * @date 2025/01/14 */ public interface RafflePrizeActivityWinningDao extends BaseMapper { + + IPage page(Page pageWithoutOrders, + @Param("queryParams") UserPageRafflePrizeActivityWinningQueryParams queryParams); + + IPage lamp(Page pageWithoutOrders); } 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 8aef677..d300a3a 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,11 +1,19 @@ package com.qniao.dam.query.rpaw; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.rpaw.user.request.UserPageRafflePrizeActivityWinningQueryParams; import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo; import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo; +import com.qniao.dam.api.query.rpaw.user.response.UserPageRafflePrizeActivityWinningVo; +import com.qniao.framework.utils.PageUtil; public interface RafflePrizeActivityWinningQueryService { UserGetRafflePrizeActivityDrawCountVo getDrawCount(Long rafflePrizeActivityId, Long userId); UserGetRafflePrizeActivityLatestDrawInfoVo getLatestDrawInfo(Long rafflePrizeActivityId, Long userId); + + IPage page(UserPageRafflePrizeActivityWinningQueryParams queryParams, PageUtil pageUtil); + + IPage lamp(PageUtil pageUtil); } 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 9dcad6c..e428904 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,11 +1,15 @@ package com.qniao.dam.query.rpaw.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.qniao.dam.api.query.rpaw.user.request.UserPageRafflePrizeActivityWinningQueryParams; import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo; import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo; +import com.qniao.dam.api.query.rpaw.user.response.UserPageRafflePrizeActivityWinningVo; 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.PageUtil; import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; @@ -43,4 +47,17 @@ public class RafflePrizeActivityWinningQueryServiceImpl implements RafflePrizeAc } return latestDrawInfoVo; } + + @Override + public IPage page(UserPageRafflePrizeActivityWinningQueryParams queryParams, + PageUtil pageUtil) { + return rafflePrizeActivityWinningDao.page(pageUtil.toPageWithoutOrders(), queryParams); + } + + @Override + public IPage lamp(PageUtil pageUtil) { + return rafflePrizeActivityWinningDao.lamp(pageUtil.toPageWithoutOrders()); + } + + } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/resources/mapper/rpaw/RafflePrizeActivityWinningMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/rpaw/RafflePrizeActivityWinningMapper.xml new file mode 100644 index 0000000..a3e867d --- /dev/null +++ b/dating-agency-mall-server/src/main/resources/mapper/rpaw/RafflePrizeActivityWinningMapper.xml @@ -0,0 +1,61 @@ + + + + + + + + + \ No newline at end of file