16 changed files with 393 additions and 6 deletions
Unified 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; |
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 { |
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; |
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.dam.query.rpa.RafflePrizeActivityQueryService; |
||||
|
import com.qniao.framework.utils.PageUtil; |
||||
|
import com.qniao.framework.utils.TypeConvertUtils; |
||||
import org.springframework.stereotype.Service; |
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.Objects; |
||||
|
|
||||
@Service |
@Service |
||||
public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQueryService { |
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