Browse Source

抽奖奖品活动

master
张彭杰 1 year ago
parent
commit
4111b45678
16 changed files with 393 additions and 6 deletions
  1. 3
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java
  2. 24
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivityItem.java
  3. 28
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java
  4. 36
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java
  5. 38
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java
  6. 15
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/request/UserPageRafflePrizeActivityQueryParams.java
  7. 40
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/RafflePrizeActivityItemVo.java
  8. 41
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java
  9. 38
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserPageRafflePrizeActivityByOperatorVo.java
  10. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java
  11. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityItemDao.java
  12. 32
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java
  13. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeConfigRepositoryImpl.java
  14. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java
  15. 30
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java
  16. 44
      dating-agency-mall-server/src/main/resources/mapper/rpa/RafflePrizeActivityMapper.xml

3
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<RafflePrizeActivity> {
@ApiModelProperty("启用状态")
private Boolean enable;
private transient List<RafflePrizeActivityItem> itemList;
}

24
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<RafflePrizeActivityItem> {
@ApiModelProperty("抽奖奖励活动标识")
private Long rafflePrizeActivityId;
@ApiModelProperty("抽奖奖励配置标识")
private Long rafflePrizeConfigId;
@ApiModelProperty("中奖占比")
private BigDecimal winningRate;
}

28
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<RafflePrizeActivity> {
@ -30,8 +35,29 @@ public class UserCreateRafflePrizeActivityDto implements Trans2DomainAssembler<R
@ApiModelProperty("参加条件")
private RafflePrizeActivityConditionEnum condition;
private List<CreateRafflePrizeActivityItemDto> 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<RafflePrizeActivityItem> {
@ApiModelProperty("抽奖奖励配置标识")
private Long rafflePrizeConfigId;
@ApiModelProperty("中奖占比")
private BigDecimal winningRate;
@Override
public RafflePrizeActivityItem trans2Domain() {
return TypeConvertUtils.convert(this, RafflePrizeActivityItem.class);
}
}
}

36
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<RafflePrizeActivity> {
@ -34,10 +41,37 @@ public class UserEditRafflePrizeActivityDto implements Trans2DomainAssembler<Raf
private String description;
@ApiModelProperty("参加条件")
@Valid
private RafflePrizeActivityConditionEnum condition;
private List<EditRafflePrizeActivityItemDto> 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<RafflePrizeActivityItem> {
@ApiModelProperty("抽奖活动项标识")
@NotNull(message = "抽奖活动项标识不能为空")
private Long id;
@ApiModelProperty("抽奖奖励配置标识")
private Long rafflePrizeConfigId;
@ApiModelProperty("中奖占比")
private BigDecimal winningRate;
@Override
public RafflePrizeActivityItem trans2Domain() {
return TypeConvertUtils.convert(this, RafflePrizeActivityItem.class);
}
}
}

38
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<UserPageRafflePrizeActivityByOperatorVo> 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);
}
}

15
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;
}

40
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;
}

41
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<RafflePrizeActivityItemVo> itemList;
}

38
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;
}

12
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<RafflePrizeActivity> {
IPage<UserPageRafflePrizeActivityByOperatorVo> pageByOperator(@Param("queryParams") UserPageRafflePrizeActivityQueryParams queryParams,
Page<Object> pageWithoutOrders);
List<RafflePrizeActivityItemVo> listItemVo(@Param("rafflePrizeActivityId") Long rafflePrizeActivityId);
}

7
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<RafflePrizeActivityItem> {
}

32
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<RafflePrizeActivityItem>()
.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<RafflePrizeActivityItem>()
.eq(RafflePrizeActivityItem::getRafflePrizeActivityId, id));
}
}

2
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);

9
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<UserPageRafflePrizeActivityByOperatorVo> pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, PageUtil pageUtil);
UserGetRafflePrizeActivityDetailVo getDetail(Long id);
}

30
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<UserPageRafflePrizeActivityByOperatorVo> 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;
}
}

44
dating-agency-mall-server/src/main/resources/mapper/rpa/RafflePrizeActivityMapper.xml

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qniao.dam.infrastructure.persistent.dao.rpa.RafflePrizeActivityDao">
<select id="pageByOperator"
resultType="com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo">
SELECT
id,
`name`,
start_time,
end_time,
description,
`condition`,
`enable`
FROM
da_raffle_prize_activity
where is_delete=0
<if test="queryParams.name != null and queryParams.name != '' ">
AND name LIKE CONCAT('%', TRIM(#{queryParams.name}), '%')
</if>
<if test="queryParams.enable != null">
AND enable = #{queryParams.enable}
</if>
ORDER BY create_time desc
</select>
<select id="listItemVo" resultType="com.qniao.dam.api.query.rpa.user.response.RafflePrizeActivityItemVo">
SELECT
darpai.id,
darpai.raffle_prize_config_id,
darpai.winning_rate,
darpc.prize_type,
darpc.prize_category,
darpc.prize_name,
darpc.prize_pct,
darpc.remark
from da_raffle_prize_activity_item as darpai
LEFT JOIN da_raffle_prize_config as darpc on darpc.id=darpai.raffle_prize_config_id
where darpai.is_delete=0
and darpai.raffle_prize_activity_id= #{rafflePrizeActivityId}
</select>
</mapper>
Loading…
Cancel
Save