Browse Source

抽奖奖品活动

master
张彭杰 1 year ago
parent
commit
5a52e02949
10 changed files with 144 additions and 15 deletions
  1. 3
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpaw/entity/RafflePrizeActivityWinning.java
  2. 17
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java
  3. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java
  4. 36
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/RafflePrizeActivityWinningUserQueryController.java
  5. 13
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserGetRafflePrizeActivityDrawCountVo.java
  6. 21
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserGetRafflePrizeActivityLatestDrawInfoVo.java
  7. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java
  8. 18
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java
  9. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/RafflePrizeActivityWinningQueryService.java
  10. 37
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/impl/RafflePrizeActivityWinningQueryServiceImpl.java

3
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rpaw/entity/RafflePrizeActivityWinning.java

@ -43,6 +43,9 @@ public class RafflePrizeActivityWinning extends Entity<RafflePrizeActivityWinnin
@ApiModelProperty("最高奖励") @ApiModelProperty("最高奖励")
private String maxReward; private String maxReward;
@ApiModelProperty("奖励值")
private String rewardValue;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remark; private String remark;

17
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/RafflePrizeActivityUserQueryController.java

@ -1,7 +1,7 @@
package com.qniao.dam.api.query.rpa.user; 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.request.UserPageRafflePrizeActivityQueryParams;
import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailyByOperatorVo;
import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailVo;
import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo;
import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService; import com.qniao.dam.query.rpa.RafflePrizeActivityQueryService;
import com.qniao.domain.QnPage; import com.qniao.domain.QnPage;
@ -32,14 +32,15 @@ public class RafflePrizeActivityUserQueryController {
@GetMapping("get/raffle-prize-activity/detail/by/operator") @GetMapping("get/raffle-prize-activity/detail/by/operator")
@ApiOperation("运营端获取抽奖奖品活动详情") @ApiOperation("运营端获取抽奖奖品活动详情")
public UserGetRafflePrizeActivityDetailyByOperatorVo userGetRafflePrizeActivityDetailByOperator(@RequestParam("id") Long id) {
public UserGetRafflePrizeActivityDetailVo userGetRafflePrizeActivityDetailByOperator(@RequestParam("id") Long id) {
return rafflePrizeActivityQueryService.getDetailByOperator(id); return rafflePrizeActivityQueryService.getDetailByOperator(id);
} }
//
// @GetMapping("get/raffle-prize-activity/detail/by/customer")
// @ApiOperation("客户获取抽奖奖品活动详情")
// public UserGetRafflePrizeActivityDetailyByOperatorVo userGetRafflePrizeActivityDetailByOperator(@RequestParam("id") Long id) {
// return rafflePrizeActivityQueryService.getDetailByOperator(id);
// }
@GetMapping("get/raffle-prize-activity/detail/by/customer")
@ApiOperation("客户获取抽奖奖品活动详情")
public UserGetRafflePrizeActivityDetailVo userGetRafflePrizeActivityDetailByCustomer() {
return rafflePrizeActivityQueryService.getDetailByCustomer();
}
} }

dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailyByOperatorVo.java → dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpa/user/response/UserGetRafflePrizeActivityDetailVo.java

@ -11,7 +11,7 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
public class UserGetRafflePrizeActivityDetailyByOperatorVo {
public class UserGetRafflePrizeActivityDetailVo {
@ApiModelProperty("唯一标识") @ApiModelProperty("唯一标识")
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)

36
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/RafflePrizeActivityWinningUserQueryController.java

@ -0,0 +1,36 @@
package com.qniao.dam.api.query.rpaw.user;
import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo;
import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo;
import com.qniao.dam.query.rpaw.RafflePrizeActivityWinningQueryService;
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 RafflePrizeActivityWinningUserQueryController {
@Resource
private RafflePrizeActivityWinningQueryService rafflePrizeActivityWinningQueryService;
@GetMapping("get/raffle-prize-activity/draw-count")
@ApiOperation("客户获取抽奖奖品活动抽奖次数")
public UserGetRafflePrizeActivityDrawCountVo userGetRafflePrizeActivityDrawCount(@RequestParam("rafflePrizeActivityId") Long rafflePrizeActivityId,
@RequestParam("userId") Long userId) {
return rafflePrizeActivityWinningQueryService.getDrawCount(rafflePrizeActivityId, userId);
}
@GetMapping("get/raffle-prize-activity/latest-draw-info")
@ApiOperation("客户获取抽奖奖品活动抽奖次数")
public UserGetRafflePrizeActivityLatestDrawInfoVo userGetRafflePrizeActivityLatestDrawInfo(@RequestParam("rafflePrizeActivityId") Long rafflePrizeActivityId,
@RequestParam("userId") Long userId) {
return rafflePrizeActivityWinningQueryService.getLatestDrawInfo(rafflePrizeActivityId, userId);
}
}

13
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserGetRafflePrizeActivityDrawCountVo.java

@ -0,0 +1,13 @@
package com.qniao.dam.api.query.rpaw.user.response;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserGetRafflePrizeActivityDrawCountVo {
@ApiModelProperty("活动抽奖次数")
private Integer drawCount = 0;
}

21
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rpaw/user/response/UserGetRafflePrizeActivityLatestDrawInfoVo.java

@ -0,0 +1,21 @@
package com.qniao.dam.api.query.rpaw.user.response;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserGetRafflePrizeActivityLatestDrawInfoVo {
@ApiModelProperty("抽奖标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long rafflePrizeActivityWinningId;
@ApiModelProperty("最高奖励")
private String maxReward;
@ApiModelProperty("备注")
private String remark;
}

6
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/RafflePrizeActivityQueryService.java

@ -2,7 +2,7 @@ package com.qniao.dam.query.rpa;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.request.UserPageRafflePrizeActivityQueryParams;
import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailyByOperatorVo;
import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailVo;
import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum;
@ -12,7 +12,9 @@ public interface RafflePrizeActivityQueryService {
IPage<UserPageRafflePrizeActivityByOperatorVo> pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, PageUtil pageUtil); IPage<UserPageRafflePrizeActivityByOperatorVo> pageByOperator(UserPageRafflePrizeActivityQueryParams queryParams, PageUtil pageUtil);
UserGetRafflePrizeActivityDetailyByOperatorVo getDetailByOperator(Long id);
UserGetRafflePrizeActivityDetailVo getDetailByOperator(Long id);
RafflePrizeActivity queryEnableBy(RafflePrizeActivityConditionEnum rafflePrizeActivityConditionEnum); RafflePrizeActivity queryEnableBy(RafflePrizeActivityConditionEnum rafflePrizeActivityConditionEnum);
UserGetRafflePrizeActivityDetailVo getDetailByCustomer();
} }

18
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpa/impl/RafflePrizeActivityQueryServiceImpl.java

@ -3,7 +3,7 @@ package com.qniao.dam.query.rpa.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.request.UserPageRafflePrizeActivityQueryParams;
import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailyByOperatorVo;
import com.qniao.dam.api.query.rpa.user.response.UserGetRafflePrizeActivityDetailVo;
import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo; import com.qniao.dam.api.query.rpa.user.response.UserPageRafflePrizeActivityByOperatorVo;
import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity; import com.qniao.dam.domain.aggregate.rpa.entity.RafflePrizeActivity;
import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum; import com.qniao.dam.domian.aggregate.rpa.constant.RafflePrizeActivityConditionEnum;
@ -30,11 +30,11 @@ public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQ
} }
@Override @Override
public UserGetRafflePrizeActivityDetailyByOperatorVo getDetailByOperator(Long id) {
UserGetRafflePrizeActivityDetailyByOperatorVo detailVo = new UserGetRafflePrizeActivityDetailyByOperatorVo();
public UserGetRafflePrizeActivityDetailVo getDetailByOperator(Long id) {
UserGetRafflePrizeActivityDetailVo detailVo = null;
RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityDao.selectById(id); RafflePrizeActivity rafflePrizeActivity = rafflePrizeActivityDao.selectById(id);
if (Objects.nonNull(rafflePrizeActivity)) { if (Objects.nonNull(rafflePrizeActivity)) {
detailVo = TypeConvertUtils.convert(rafflePrizeActivity, UserGetRafflePrizeActivityDetailyByOperatorVo.class);
detailVo = TypeConvertUtils.convert(rafflePrizeActivity, UserGetRafflePrizeActivityDetailVo.class);
detailVo.setItemList(rafflePrizeActivityDao.listItemVo(id)); detailVo.setItemList(rafflePrizeActivityDao.listItemVo(id));
} }
return detailVo; return detailVo;
@ -53,4 +53,14 @@ public class RafflePrizeActivityQueryServiceImpl implements RafflePrizeActivityQ
wrapper.last("limit 1"); wrapper.last("limit 1");
return rafflePrizeActivityDao.selectOne(wrapper); return rafflePrizeActivityDao.selectOne(wrapper);
} }
@Override
public UserGetRafflePrizeActivityDetailVo getDetailByCustomer() {
UserGetRafflePrizeActivityDetailVo detailVo = null;
RafflePrizeActivity rafflePrizeActivity = queryEnableBy(null);
if (Objects.nonNull(rafflePrizeActivity)) {
detailVo = getDetailByOperator(rafflePrizeActivity.getId());
}
return detailVo;
}
} }

6
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/RafflePrizeActivityWinningQueryService.java

@ -1,5 +1,11 @@
package com.qniao.dam.query.rpaw; package com.qniao.dam.query.rpaw;
import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo;
import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo;
public interface RafflePrizeActivityWinningQueryService { public interface RafflePrizeActivityWinningQueryService {
UserGetRafflePrizeActivityDrawCountVo getDrawCount(Long rafflePrizeActivityId, Long userId);
UserGetRafflePrizeActivityLatestDrawInfoVo getLatestDrawInfo(Long rafflePrizeActivityId, Long userId);
} }

37
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rpaw/impl/RafflePrizeActivityWinningQueryServiceImpl.java

@ -1,9 +1,46 @@
package com.qniao.dam.query.rpaw.impl; package com.qniao.dam.query.rpaw.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityDrawCountVo;
import com.qniao.dam.api.query.rpaw.user.response.UserGetRafflePrizeActivityLatestDrawInfoVo;
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.dam.query.rpaw.RafflePrizeActivityWinningQueryService;
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 RafflePrizeActivityWinningQueryServiceImpl implements RafflePrizeActivityWinningQueryService { public class RafflePrizeActivityWinningQueryServiceImpl implements RafflePrizeActivityWinningQueryService {
@Resource
private RafflePrizeActivityWinningDao rafflePrizeActivityWinningDao;
@Override
public UserGetRafflePrizeActivityDrawCountVo getDrawCount(Long rafflePrizeActivityId, Long userId) {
UserGetRafflePrizeActivityDrawCountVo drawCountVo = new UserGetRafflePrizeActivityDrawCountVo();
drawCountVo.setDrawCount(rafflePrizeActivityWinningDao.selectCount(new LambdaQueryWrapper<RafflePrizeActivityWinning>()
.eq(RafflePrizeActivityWinning::getRafflePrizeActivityId, rafflePrizeActivityId)
.eq(RafflePrizeActivityWinning::getUserId, userId)
.eq(RafflePrizeActivityWinning::getIsDraw, false)));
return drawCountVo;
}
@Override
public UserGetRafflePrizeActivityLatestDrawInfoVo getLatestDrawInfo(Long rafflePrizeActivityId, Long userId) {
UserGetRafflePrizeActivityLatestDrawInfoVo latestDrawInfoVo = null;
RafflePrizeActivityWinning winning = rafflePrizeActivityWinningDao.selectOne(new LambdaQueryWrapper<RafflePrizeActivityWinning>()
.eq(RafflePrizeActivityWinning::getRafflePrizeActivityId, rafflePrizeActivityId)
.eq(RafflePrizeActivityWinning::getUserId, userId)
.eq(RafflePrizeActivityWinning::getIsDraw, false)
.orderByAsc(RafflePrizeActivityWinning::getCreateTime)
.last("limit 1"));
if (Objects.nonNull(winning)) {
latestDrawInfoVo = TypeConvertUtils.convert(winning, UserGetRafflePrizeActivityLatestDrawInfoVo.class);
latestDrawInfoVo.setRafflePrizeActivityWinningId(winning.getId());
}
return latestDrawInfoVo;
}
} }
Loading…
Cancel
Save