Browse Source

直播红娘任务

release
张彭杰 2 months ago
parent
commit
06fa6afe60
8 changed files with 80 additions and 12 deletions
  1. 4
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardAmountUnitEnum.java
  2. 13
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java
  3. 14
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java
  4. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserListProductByVipVo.java
  5. 20
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/VipRightVo.java
  6. 14
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java
  7. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java
  8. 19
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java

4
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardAmountUnitEnum.java

@ -16,7 +16,9 @@ public enum RewardAmountUnitEnum {
MONTH(3, "月"), MONTH(3, "月"),
DAY(4, "天");
DAY(4, "天"),
WEEK(5, "周");
@EnumValue @EnumValue
@JsonValue @JsonValue

13
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/rewardconfig/constant/RewardTypeEnum.java

@ -161,7 +161,18 @@ public enum RewardTypeEnum {
CONTRACT_MATCHMAKER_RECOMMEND_COST_PCT(708, "签约红娘推荐消费收益百分比"), CONTRACT_MATCHMAKER_RECOMMEND_COST_PCT(708, "签约红娘推荐消费收益百分比"),
ONLINE_MATCHMAKER_RECOMMEND_COST_PCT(709, "线上红娘推荐消费收益百分比"), ONLINE_MATCHMAKER_RECOMMEND_COST_PCT(709, "线上红娘推荐消费收益百分比"),
TRAINEE_MATCHMAKER_RECOMMEND_COST_PCT(710, "实习红娘推荐消费收益百分比");
TRAINEE_MATCHMAKER_RECOMMEND_COST_PCT(710, "实习红娘推荐消费收益百分比"),
//VIP体验-权益
VIP_TRIAL_PROFILE_CARD(801, "VIP体验-资料卡"),
VIP_TRIAL_CONTACT_CARD(802, "VIP体验-联系卡"),
VIP_TRIAL_MATCH_CARD(803, "VIP体验-匹配卡"),
//VIP正式-权益
VIP_PROFILE_CARD(901, "VIP-资料卡"),
VIP_CONTACT_CARD(902, "VIP-联系卡"),
VIP_MATCH_CARD(903, "VIP-匹配卡");
@EnumValue @EnumValue
@JsonValue @JsonValue

14
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/right/constant/RightTypeEnum.java

@ -20,15 +20,19 @@ public enum RightTypeEnum {
OFFLINE_MEET(401, "线下见面"), OFFLINE_MEET(401, "线下见面"),
CHAT_CARD(501,"聊天卡"),
CHAT_CARD(501, "聊天卡"),
VIP(601, "会员"),
PROFILE_CARD(502, "资料卡"),
CONTRACT_LOVE(701,"包恋爱"),
CONTACT_CARD(503, "联系卡"),
CONTRACTED_MARRIAGE(801,"包领证");
MATCH_CARD(504, "匹配卡"),
VIP(601,"会员"),
CONTRACT_LOVE(701,"包恋爱"),
CONTRACTED_MARRIAGE(801,"包领证");
@EnumValue @EnumValue
@ -50,4 +54,4 @@ public enum RightTypeEnum {
} }
return null; return null;
} }
}
}

4
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/UserListProductByVipVo.java

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
@Data @Data
public class UserListProductByVipVo { public class UserListProductByVipVo {
@ -49,6 +50,7 @@ public class UserListProductByVipVo {
private PurchaseTimeLimitTypeEnum purchaseTimeLimit; private PurchaseTimeLimitTypeEnum purchaseTimeLimit;
//会员权益 //会员权益
@ApiModelProperty("会员权益")
private List<VipRightVo> vipRightList;
} }

20
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/product/user/response/VipRightVo.java

@ -0,0 +1,20 @@
package com.qniao.dam.api.query.product.user.response;
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardAmountUnitEnum;
import com.qniao.dam.domian.aggregate.rewardconfig.constant.RewardTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VipRightVo {
@ApiModelProperty("奖励类型")
private RewardTypeEnum rewardType;
@ApiModelProperty("奖励金额单位")
private RewardAmountUnitEnum rewardAmountUnit;
@ApiModelProperty("值")
private String value;
}

14
dating-agency-mall-server/src/main/java/com/qniao/dam/query/product/impl/ProductQueryServiceImpl.java

@ -8,10 +8,12 @@ import com.qniao.dam.api.query.product.user.request.UserPageProductByCustomerQue
import com.qniao.dam.api.query.product.user.request.UserPageProductByMatchmakerQueryParam; import com.qniao.dam.api.query.product.user.request.UserPageProductByMatchmakerQueryParam;
import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam; import com.qniao.dam.api.query.product.user.request.UserPageProductByOperatorQueryParam;
import com.qniao.dam.api.query.product.user.response.*; import com.qniao.dam.api.query.product.user.response.*;
import com.qniao.dam.api.query.right.user.response.UserVipRightVo;
import com.qniao.dam.domain.aggregate.externalproduct.valueobj.ExternalProductRel; import com.qniao.dam.domain.aggregate.externalproduct.valueobj.ExternalProductRel;
import com.qniao.dam.domain.aggregate.product.entity.Product; import com.qniao.dam.domain.aggregate.product.entity.Product;
import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec; import com.qniao.dam.domain.aggregate.productspec.entity.ProductSpec;
import com.qniao.dam.domain.aggregate.productspec.valueobj.ProductSpecTerm; import com.qniao.dam.domain.aggregate.productspec.valueobj.ProductSpecTerm;
import com.qniao.dam.domain.aggregate.rewardconfig.entity.RewardConfig;
import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum;
import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum; import com.qniao.dam.domian.aggregate.product.constant.ProductTypeEnum;
import com.qniao.dam.domian.aggregate.product.constant.PurchaseTimeLimitTypeEnum; import com.qniao.dam.domian.aggregate.product.constant.PurchaseTimeLimitTypeEnum;
@ -24,6 +26,7 @@ import com.qniao.dam.infrastructure.persistent.dao.domain.ProductSpecTermDao;
import com.qniao.dam.infrastructure.persistent.dao.view.ProductViewDao; import com.qniao.dam.infrastructure.persistent.dao.view.ProductViewDao;
import com.qniao.dam.query.product.ProductQueryService; import com.qniao.dam.query.product.ProductQueryService;
import com.qniao.dam.query.purchaseproductrecord.PurchaseProductRecordQueryService; import com.qniao.dam.query.purchaseproductrecord.PurchaseProductRecordQueryService;
import com.qniao.dam.query.rewardconfig.RewardConfigQueryService;
import com.qniao.das.domian.aggregate.marriageinformation.constant.GenderEnum; import com.qniao.das.domian.aggregate.marriageinformation.constant.GenderEnum;
import com.qniao.framework.utils.PageUtil; import com.qniao.framework.utils.PageUtil;
import com.qniao.framework.utils.TypeConvertUtils; import com.qniao.framework.utils.TypeConvertUtils;
@ -50,6 +53,8 @@ public class ProductQueryServiceImpl implements ProductQueryService {
private ProductSpecTermDao productSpecTermDao; private ProductSpecTermDao productSpecTermDao;
@Resource @Resource
private PurchaseProductRecordQueryService purchaseProductRecordQueryService; private PurchaseProductRecordQueryService purchaseProductRecordQueryService;
@Resource
private RewardConfigQueryService rewardConfigQueryService;
@Value("${service-phone}") @Value("${service-phone}")
private String servicePhone; private String servicePhone;
@ -126,6 +131,15 @@ public class ProductQueryServiceImpl implements ProductQueryService {
public List<UserListProductByVipVo> listProductByVip(Long userId) { public List<UserListProductByVipVo> listProductByVip(Long userId) {
List<UserListProductByVipVo> list = productViewDao.listProductByVip(); List<UserListProductByVipVo> list = productViewDao.listProductByVip();
list = eliminatePurchaseTimeLimit(list, userId); list = eliminatePurchaseTimeLimit(list, userId);
List<RewardConfig> vipTrialRightList = rewardConfigQueryService.listVipTrialRight();
List<RewardConfig> vipRightList = rewardConfigQueryService.listVipRight();
for (UserListProductByVipVo record : list) {
if (ProductSubCategoryEnum.VIP_TRIAL_CARD.equals(record.getSubCategory())) {
record.setVipRightList(TypeConvertUtils.convert(vipTrialRightList, VipRightVo.class));
} else {
record.setVipRightList(TypeConvertUtils.convert(vipRightList, VipRightVo.class));
}
}
return list; return list;
} }

4
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/RewardConfigQueryService.java

@ -31,4 +31,8 @@ public interface RewardConfigQueryService {
RewardConfig queryMatchmakerRenewValidityPeriod(Matchmaker matchmaker); RewardConfig queryMatchmakerRenewValidityPeriod(Matchmaker matchmaker);
BigDecimal queryMatchmakerChannelGiftPct(Long userId, Integer todayCrossMicCount); BigDecimal queryMatchmakerChannelGiftPct(Long userId, Integer todayCrossMicCount);
List<RewardConfig> listVipTrialRight();
List<RewardConfig> listVipRight();
} }

19
dating-agency-mall-server/src/main/java/com/qniao/dam/query/rewardconfig/impl/RewardConfigQueryServiceImpl.java

@ -21,10 +21,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.*;
@Service @Service
public class RewardConfigQueryServiceImpl implements RewardConfigQueryService { public class RewardConfigQueryServiceImpl implements RewardConfigQueryService {
@ -169,6 +166,20 @@ public class RewardConfigQueryServiceImpl implements RewardConfigQueryService {
return pct; return pct;
} }
@Override
public List<RewardConfig> listVipTrialRight() {
return rewardConfigDao.selectList(new LambdaQueryWrapper<RewardConfig>()
.in(RewardConfig::getRewardType, Arrays.asList(RewardTypeEnum.VIP_TRIAL_PROFILE_CARD, RewardTypeEnum.VIP_TRIAL_CONTACT_CARD, RewardTypeEnum.VIP_TRIAL_MATCH_CARD))
.orderByAsc(RewardConfig::getRewardType));
}
@Override
public List<RewardConfig> listVipRight() {
return rewardConfigDao.selectList(new LambdaQueryWrapper<RewardConfig>()
.in(RewardConfig::getRewardType, Arrays.asList(RewardTypeEnum.VIP_PROFILE_CARD, RewardTypeEnum.VIP_CONTACT_CARD, RewardTypeEnum.VIP_MATCH_CARD))
.orderByAsc(RewardConfig::getRewardType));
}
@Override @Override
public BigDecimal queryRecommendRewardPct(MatchmakerLevelEnum initiatorLevel, public BigDecimal queryRecommendRewardPct(MatchmakerLevelEnum initiatorLevel,
MatchmakerLevelEnum receiveLevel) { MatchmakerLevelEnum receiveLevel) {

Loading…
Cancel
Save