diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java index 0e590e3..15f1e74 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import com.qniao.domain.Entity; import java.time.LocalDateTime; +import java.util.List; /** * 抽奖奖品活动 @@ -37,5 +38,5 @@ public class RafflePrizeActivity extends Entity { @ApiModelProperty("启用状态") private Boolean enable; - + private transient List itemList; } diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivityItem.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivityItem.java new file mode 100644 index 0000000..9c1d866 --- /dev/null +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivityItem.java @@ -0,0 +1,24 @@ +package com.qniao.dam.domain.aggregate.rpa.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.domain.Entity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("da_raffle_prize_activity_item") +public class RafflePrizeActivityItem extends Entity { + + @ApiModelProperty("抽奖奖励活动标识") + private Long rafflePrizeActivityId; + + @ApiModelProperty("抽奖奖励配置标识") + private Long rafflePrizeConfigId; + + @ApiModelProperty("中奖占比") + private BigDecimal winningRate; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java index b833809..1f3cbf0 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java @@ -1,14 +1,19 @@ package com.qniao.dam.api.command.rpa.user.request; +import cn.hutool.core.collection.CollUtil; import com.fasterxml.jackson.annotation.JsonFormat; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivityItem; import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; import com.qniao.domain.Trans2DomainAssembler; import io.swagger.annotations.ApiModelProperty; import com.qniao.framework.utils.TypeConvertUtils; import lombok.Data; +import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; @Data public class UserCreateRafflePrizeActivityDto implements Trans2DomainAssembler { @@ -30,8 +35,29 @@ public class UserCreateRafflePrizeActivityDto implements Trans2DomainAssembler itemList; + @Override public RafflePrizeActivity trans2Domain() { - return TypeConvertUtils.convert(this, RafflePrizeActivity.class); + RafflePrizeActivity rafflePrizeActivity = TypeConvertUtils.convert(this, RafflePrizeActivity.class); + if (CollUtil.isNotEmpty(itemList)) { + rafflePrizeActivity.setItemList(itemList.stream().map(CreateRafflePrizeActivityItemDto::trans2Domain).collect(Collectors.toList())); + } + return rafflePrizeActivity; + } + + @Data + public static class CreateRafflePrizeActivityItemDto implements Trans2DomainAssembler { + + @ApiModelProperty("抽奖奖励配置标识") + private Long rafflePrizeConfigId; + + @ApiModelProperty("中奖占比") + private BigDecimal winningRate; + + @Override + public RafflePrizeActivityItem trans2Domain() { + return TypeConvertUtils.convert(this, RafflePrizeActivityItem.class); + } } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java index 87b3992..b3ec111 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java @@ -1,15 +1,22 @@ package com.qniao.dam.api.command.rpa.user.request; +import cn.hutool.core.collection.CollUtil; import com.fasterxml.jackson.annotation.JsonFormat; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivityItem; import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; import com.qniao.domain.Trans2DomainAssembler; import io.swagger.annotations.ApiModelProperty; import com.qniao.framework.utils.TypeConvertUtils; import lombok.Data; +import org.springframework.validation.annotation.Validated; +import javax.validation.Valid; import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; @Data public class UserEditRafflePrizeActivityDto implements Trans2DomainAssembler { @@ -34,10 +41,37 @@ public class UserEditRafflePrizeActivityDto implements Trans2DomainAssembler itemList; + @Override public RafflePrizeActivity trans2Domain() { - return TypeConvertUtils.convert(this, RafflePrizeActivity.class); + RafflePrizeActivity rafflePrizeActivity = TypeConvertUtils.convert(this, RafflePrizeActivity.class); + if (CollUtil.isNotEmpty(itemList)) { + rafflePrizeActivity.setItemList(itemList.stream().map(EditRafflePrizeActivityItemDto::trans2Domain).collect(Collectors.toList())); + } + return rafflePrizeActivity; + } + + @Data + @Validated + public static class EditRafflePrizeActivityItemDto implements Trans2DomainAssembler { + + @ApiModelProperty("抽奖活动项标识") + @NotNull(message = "抽奖活动项标识不能为空") + private Long id; + + @ApiModelProperty("抽奖奖励配置标识") + private Long rafflePrizeConfigId; + + @ApiModelProperty("中奖占比") + private BigDecimal winningRate; + + @Override + public RafflePrizeActivityItem trans2Domain() { + return TypeConvertUtils.convert(this, RafflePrizeActivityItem.class); + } } } 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 new file mode 100644 index 0000000..48463c5 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java @@ -0,0 +1,38 @@ +package com.qniao.dam.api.query.rpa.user; + +import com.qniao.dam.api.query.rpa.user.request.UserPageRafflePrizeActivityQueryParams; +import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailVo; +import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; +import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService; +import com.qniao.domain.QnPage; +import com.qniao.framework.utils.PageUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags = "抽奖奖品活动") +@RestController +@RequestMapping("user") +public class RafflePrizeActivityUserQueryController { + + @Resource + private RafflePrizeActivityQueryService rafflePrizeActivityQueryService; + + @GetMapping("page/raffle-prize-activity/by/operator") + @ApiOperation("运营端获取抽奖奖品配置分页") + public QnPage userPageRafflePrizeActivityByOperator(PageUtil pageUtil, + UserPageRafflePrizeActivityQueryParams queryParams) { + return PageUtil.convert(rafflePrizeActivityQueryService.pageByOperator(queryParams, pageUtil), UserPageRafflePrizeActivityByOperatorVo.class); + } + + @GetMapping("get/raffle-prize-activity/detail") + @ApiOperation("运营端获取抽奖奖品配置分页") + public UserGetRafflePrizeActivityDetailVo userGetRafflePrizeActivityDetail(@RequestParam("id") Long id) { + return rafflePrizeActivityQueryService.getDetail(id); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/request/UserPageRafflePrizeActivityQueryParams.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/request/UserPageRafflePrizeActivityQueryParams.java new file mode 100644 index 0000000..72f4f76 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/request/UserPageRafflePrizeActivityQueryParams.java @@ -0,0 +1,15 @@ +package com.qniao.dam.api.query.rpa.user.request; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class UserPageRafflePrizeActivityQueryParams { + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("启用状态") + private Boolean enable; + +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/RafflePrizeActivityItemVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/RafflePrizeActivityItemVo.java new file mode 100644 index 0000000..0321550 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/RafflePrizeActivityItemVo.java @@ -0,0 +1,40 @@ +package com.qniao.dam.api.query.rpa.user.response; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +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.math.BigDecimal; + +@Data +public class RafflePrizeActivityItemVo { + + @ApiModelProperty("抽奖活动项标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("抽奖奖励配置标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long rafflePrizeConfigId; + + @ApiModelProperty("中奖占比") + private BigDecimal winningRate; + + @ApiModelProperty("奖品类型") + private PrizeTypeEnum prizeType; + + @ApiModelProperty("奖品分类") + private PrizeCategoryEnum prizeCategory; + + @ApiModelProperty("奖品名称") + private String prizeName; + + @ApiModelProperty("奖品占比") + private BigDecimal prizePct; + + @ApiModelProperty("备注") + private String remark; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java new file mode 100644 index 0000000..c822f18 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java @@ -0,0 +1,41 @@ +package com.qniao.dam.api.query.rpa.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 io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class UserGetRafflePrizeActivityDetailVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + @ApiModelProperty("结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + @ApiModelProperty("活动说明") + private String description; + + @ApiModelProperty("参加条件") + private RafflePrizeActivityConditionEnum condition; + + @ApiModelProperty("启用状态") + private Boolean enable; + + private List itemList; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserPageRafflePrizeActivityByOperatorVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserPageRafflePrizeActivityByOperatorVo.java new file mode 100644 index 0000000..f9694b4 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserPageRafflePrizeActivityByOperatorVo.java @@ -0,0 +1,38 @@ +package com.qniao.dam.api.query.rpa.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 io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class UserPageRafflePrizeActivityByOperatorVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("名称") + private String name; + + @ApiModelProperty("开始时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + + @ApiModelProperty("结束时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; + + @ApiModelProperty("活动说明") + private String description; + + @ApiModelProperty("参加条件") + private RafflePrizeActivityConditionEnum condition; + + @ApiModelProperty("启用状态") + private Boolean enable; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java index b8b8b3f..a6eab69 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java @@ -1,7 +1,15 @@ package com.qniao.dam.infrastructure.persistent.dao.rpa; 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.rpa.user.request.UserPageRafflePrizeActivityQueryParams; +import com.qniao.dam.api.query.rpa.user.response.RafflePrizeActivityItemVo; +import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 抽奖奖品活动 @@ -9,4 +17,8 @@ import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; * @date 2025/01/13 */ public interface RafflePrizeActivityDao extends BaseMapper { + IPage pageByOperator(@Param("queryParams") UserPageRafflePrizeActivityQueryParams queryParams, + Page pageWithoutOrders); + + List listItemVo(@Param("rafflePrizeActivityId") Long rafflePrizeActivityId); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityItemDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityItemDao.java new file mode 100644 index 0000000..3c3e881 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityItemDao.java @@ -0,0 +1,7 @@ +package com.qniao.dam.infrastructure.persistent.dao.rpa; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivityItem; + +public interface RafflePrizeActivityItemDao extends BaseMapper { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java index 753143e..5d0b402 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java @@ -1,9 +1,14 @@ package com.qniao.dam.infrastructure.persistent.repository.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivityItem; import com.qniao.dam.domain.aggregate.rpa.repository.RafflePrizeActivityRepository; import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao; +import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityItemDao; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Objects; @@ -18,24 +23,47 @@ public class RafflePrizeActivityRepositoryImpl implements RafflePrizeActivityRep @Resource private RafflePrizeActivityDao dao; + @Resource + private RafflePrizeActivityItemDao rafflePrizeActivityItemDao; @Override public RafflePrizeActivity load(Long id) { - return dao.selectById(id); + RafflePrizeActivity rafflePrizeActivity = dao.selectById(id); + if (Objects.nonNull(rafflePrizeActivity)) { + rafflePrizeActivity.setItemList(rafflePrizeActivityItemDao.selectList(new LambdaQueryWrapper() + .eq(RafflePrizeActivityItem::getRafflePrizeActivityId, id))); + } + return rafflePrizeActivity; } + @Transactional(rollbackFor = Exception.class) @Override public Long save(RafflePrizeActivity entity) { - if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) { + if (Objects.isNull(entity.getId()) || Objects.isNull(dao.selectById(entity.getId()))) { dao.insert(entity); + if (CollUtil.isNotEmpty(entity.getItemList())) { + entity.getItemList().forEach(item -> { + item.setRafflePrizeActivityId(entity.getId()); + rafflePrizeActivityItemDao.insert(item); + }); + } } else { dao.updateById(entity); + if (CollUtil.isNotEmpty(entity.getItemList())) { + entity.getItemList().forEach(item -> { + item.setRafflePrizeActivityId(entity.getId()); + rafflePrizeActivityItemDao.updateById(item); + }); + } } return entity.getId(); } + @Transactional(rollbackFor = Exception.class) @Override public void delete(Long id) { dao.deleteById(id); + rafflePrizeActivityItemDao.delete(new LambdaQueryWrapper() + .eq(RafflePrizeActivityItem::getRafflePrizeActivityId, id)); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeConfigRepositoryImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeConfigRepositoryImpl.java index bfa851a..1aa68b4 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeConfigRepositoryImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeConfigRepositoryImpl.java @@ -26,7 +26,7 @@ public class RafflePrizeConfigRepositoryImpl implements RafflePrizeConfigReposit @Override public Long save(RafflePrizeConfig entity) { - if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) { + if (Objects.isNull(entity.getId()) || Objects.isNull(dao.selectById(entity.getId()))) { dao.insert(entity); } else { dao.updateById(entity); 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 2d33911..38e32ba 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 @@ -1,5 +1,14 @@ package com.qniao.dam.query.rpa; +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.UserGetRafflePrizeActivityDetailVo; +import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; +import com.qniao.framework.utils.PageUtil; + public interface RafflePrizeActivityQueryService { + IPage pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, PageUtil pageUtil); + + UserGetRafflePrizeActivityDetailVo getDetail(Long id); } 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 dac1367..49d0844 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,9 +1,39 @@ package com.qniao.dam.query.rpa.impl; +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.UserGetRafflePrizeActivityDetailVo; +import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; +import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; +import com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao; import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService; +import com.qniao.framework.utils.PageUtil; +import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Objects; + @Service public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQueryService { + @Resource + private RafflePrizeActivityDao rafflePrizeActivityDao; + + @Override + public IPage pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, + PageUtil pageUtil) { + return rafflePrizeActivityDao.pageByOperator(queryParams, pageUtil.toPageWithoutOrders()); + } + + @Override + public UserGetRafflePrizeActivityDetailVo getDetail(Long id) { + UserGetRafflePrizeActivityDetailVo detailVo = new UserGetRafflePrizeActivityDetailVo(); + RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityDao.selectById(id); + if (Objects.nonNull(rafflePrizeActivity)) { + detailVo = TypeConvertUtils.convert(rafflePrizeActivity, UserGetRafflePrizeActivityDetailVo.class); + detailVo.setItemList(rafflePrizeActivityDao.listItemVo(id)); + } + return detailVo; + } } \ No newline at end of file diff --git a/dating-agency-mall-server/src/main/resources/mapper/rpa/RafflePrizeActivityMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/rpa/RafflePrizeActivityMapper.xml new file mode 100644 index 0000000..80bb7f0 --- /dev/null +++ b/dating-agency-mall-server/src/main/resources/mapper/rpa/RafflePrizeActivityMapper.xml @@ -0,0 +1,44 @@ + + + + + + + + + + \ No newline at end of file