diff --git a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java index b94c6c9..70d6531 100644 --- a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java +++ b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java @@ -10,6 +10,9 @@ import lombok.Getter; @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum RewardTypeEnum { + /** + * 红娘合伙人 + */ GUEST_CERTIFICATION(101, "嘉宾实名认证"), PUBLISH_MARRIAGE_BOUNTY(102, "发布悬赏招亲"), @@ -24,6 +27,17 @@ public enum RewardTypeEnum { MATCHMAKER_JOIN_RECOMMEND_STORE(107, "红娘入驻推荐门店奖励"), + /** + * 线上红娘 + */ + GUEST_CERTIFICATION_BY_ONLINE(111, "嘉宾实名认证"), + + PUBLISH_MARRIAGE_BOUNTY_BY_ONLINE(112, "发布悬赏招亲"), + + MATCH_MARRIAGE_BOUNTY_BY_ONLINE(113, "匹配悬赏招亲"), + + MATCHMAKER_JOIN_RECOMMEND_BY_ONLINE(114, "红娘入驻推荐红娘奖励"), + // 2** 服务费 PLATFORM_SERVICE_FEE(201, "平台服务费"), @@ -48,8 +62,6 @@ public enum RewardTypeEnum { MARRIAGE_BOUNTY_MARRIAGE_VALIDITY_PERIOD(306, "招亲榜-结婚服务有效期"); - // 4** 红娘合伙人 - @EnumValue @JsonValue private final Integer value; diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java index 1d69267..5f4d529 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rewardconfig/entity/RewardConfig.java @@ -24,9 +24,6 @@ public class RewardConfig extends Entity { @ApiModelProperty("奖励金额单位") private RewardAmountUnitEnum rewardAmountUnit; -// @ApiModelProperty("奖励金额") -// private BigDecimal rewardAmount; - @ApiModelProperty("值") private String value; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/RewardConfigUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/RewardConfigUserQueryController.java index 00b0938..b024b7d 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/RewardConfigUserQueryController.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/RewardConfigUserQueryController.java @@ -1,15 +1,18 @@ package com.qniao.dam.api.query.rewardconfig.user; import com.qniao.dam.api.query.rewardconfig.user.request.UserGetRewardConfigDetailQueryParams; +import com.qniao.dam.api.query.rewardconfig.user.response.RewardConfigVo; import com.qniao.dam.api.query.rewardconfig.user.response.UserGetRewardConfigDetailVo; import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; 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; +import java.util.List; @RestController @RequestMapping("user") @@ -25,4 +28,9 @@ public class RewardConfigUserQueryController { return rewardConfigQueryService.getRewardConfigDetail(queryParams); } + @GetMapping("list/reward-config/by/matchmaker") + @ApiOperation("客户获取红娘入驻的奖励配置") + public List useListRewardConfigByMatchMaker(@RequestParam("type") Integer type) { + return rewardConfigQueryService.listRewardConfigByMatchMaker(type); + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/response/RewardConfigVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/response/RewardConfigVo.java new file mode 100644 index 0000000..d00c218 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/rewardconfig/user/response/RewardConfigVo.java @@ -0,0 +1,21 @@ +package com.qniao.dam.api.query.rewardconfig.user.response; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class RewardConfigVo { + + @ApiModelProperty("唯一标识") + @JsonSerialize(using = ToStringSerializer.class) + private Long id; + + @ApiModelProperty("奖励类型") + private RewardTypeEnum rewardType; + + @ApiModelProperty("值") + private String value; +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java index 48c5693..d410cf4 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java @@ -1,12 +1,17 @@ package com.qniao.dam.query.rewardconfig; import com.qniao.dam.api.query.rewardconfig.user.request.UserGetRewardConfigDetailQueryParams; +import com.qniao.dam.api.query.rewardconfig.user.response.RewardConfigVo; import com.qniao.dam.api.query.rewardconfig.user.response.UserGetRewardConfigDetailVo; import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; +import java.util.List; + public interface RewardConfigQueryService { UserGetRewardConfigDetailVo getRewardConfigDetail(UserGetRewardConfigDetailQueryParams queryParams); RewardConfig queryByRewardType(RewardTypeEnum rewardType); + + List listRewardConfigByMatchMaker(Integer type); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java index a88e495..847b3b1 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java @@ -2,15 +2,21 @@ package com.qniao.dam.query.rewardconfig.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qniao.dam.api.query.rewardconfig.user.request.UserGetRewardConfigDetailQueryParams; +import com.qniao.dam.api.query.rewardconfig.user.response.RewardConfigVo; import com.qniao.dam.api.query.rewardconfig.user.response.UserGetRewardConfigDetailVo; import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig; +import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum; import com.qniao.dam.infrastructure.persistent.dao.domain.RewardConfigDao; import com.qniao.dam.infrastructure.persistent.dao.view.RewardConfigViewDao; import com.qniao.dam.query.rewardconfig.RewardConfigQueryService; +import com.qniao.framework.utils.TypeConvertUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; @Service public class RewardConfigQueryServiceImpl implements RewardConfigQueryService { @@ -28,7 +34,24 @@ public class RewardConfigQueryServiceImpl implements RewardConfigQueryService { @Override public RewardConfig queryByRewardType(RewardTypeEnum rewardType) { return rewardConfigDao.selectOne(new LambdaQueryWrapper() - .eq(RewardConfig::getRewardType,rewardType) + .eq(RewardConfig::getRewardType, rewardType) .last("limit 1")); } + + @Override + public List listRewardConfigByMatchMaker(Integer type) { + List voList = new ArrayList<>(); + if (ProductSubCategoryEnum.MATCHMAKER_FRANCHISE_FEE.getValue().equals(type)) { + List list = rewardConfigDao.selectList(new LambdaQueryWrapper() + .in(RewardConfig::getRewardType, Arrays.asList(RewardTypeEnum.GUEST_CERTIFICATION, RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY, + RewardTypeEnum.MATCH_MARRIAGE_BOUNTY, RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND))); + voList = TypeConvertUtils.convert(list, RewardConfigVo.class); + } else if (ProductSubCategoryEnum.MATCHMAKER_ONLINE_FEE.getValue().equals(type)) { + List list = rewardConfigDao.selectList(new LambdaQueryWrapper() + .in(RewardConfig::getRewardType, Arrays.asList(RewardTypeEnum.GUEST_CERTIFICATION_BY_ONLINE, RewardTypeEnum.PUBLISH_MARRIAGE_BOUNTY_BY_ONLINE, + RewardTypeEnum.MATCH_MARRIAGE_BOUNTY_BY_ONLINE, RewardTypeEnum.MATCHMAKER_JOIN_RECOMMEND_BY_ONLINE))); + voList = TypeConvertUtils.convert(list, RewardConfigVo.class); + } + return voList; + } }