16 changed files with 393 additions and 6 deletions
Split View
Diff Options
-
3dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivity.java
-
24dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpa/entity/RafflePrizeActivityItem.java
-
28dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserCreateRafflePrizeActivityDto.java
-
36dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/rpa/user/request/UserEditRafflePrizeActivityDto.java
-
38dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java
-
15dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/request/UserPageRafflePrizeActivityQueryParams.java
-
40dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/RafflePrizeActivityItemVo.java
-
41dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java
-
38dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserPageRafflePrizeActivityByOperatorVo.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityDao.java
-
7dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/rpa/RafflePrizeActivityItemDao.java
-
32dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeActivityRepositoryImpl.java
-
2dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/RafflePrizeConfigRepositoryImpl.java
-
9dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java
-
30dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java
-
44dating-agency-mall-server/src/main/resources/mapper/rpa/RafflePrizeActivityMapper.xml
@ -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; |
|||
} |
|||
@ -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); |
|||
} |
|||
} |
|||
@ -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; |
|||
|
|||
} |
|||
@ -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; |
|||
} |
|||
@ -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; |
|||
} |
|||
@ -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; |
|||
} |
|||
@ -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> { |
|||
} |
|||
@ -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); |
|||
} |
|||
@ -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; |
|||
} |
|||
} |
|||
@ -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> |
|||
Write
Preview
Loading…
Cancel
Save