diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UsePageRevenueRewardRecordByOperatorVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UsePageRevenueRewardRecordByOperatorVo.java index e8be523..cc2566f 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UsePageRevenueRewardRecordByOperatorVo.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/revenuereward/user/response/UsePageRevenueRewardRecordByOperatorVo.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.qniao.dam.domian.aggregate.product.constant.ProductSubCategoryEnum; import com.qniao.dam.domian.aggregate.walletaccount.constant.TradeTypeEnum; +import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -29,9 +30,15 @@ public class UsePageRevenueRewardRecordByOperatorVo { @ApiModelProperty("收益者手机") private String revenueOwnerPhone; + @ApiModelProperty("红娘用户ID") + private Long matchmakerUserId; + @ApiModelProperty("红娘身份类型") private ProductSubCategoryEnum matchmakerType; + @ApiModelProperty("红娘等级") + private MatchmakerLevelEnum matchmakerLevel; + @ApiModelProperty("交易类型") private TradeTypeEnum tradeType; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OperationCenterDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OperationCenterDao.java new file mode 100644 index 0000000..084183c --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/OperationCenterDao.java @@ -0,0 +1,7 @@ +package com.qniao.dam.infrastructure.persistent.dao.domain; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qniao.dau.domain.aggregate.operationcenter.entity.OperationCenter; + +public interface OperationCenterDao extends BaseMapper { +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/MatchmakerQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/MatchmakerQueryService.java index 6b8d331..d7b1000 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/MatchmakerQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/MatchmakerQueryService.java @@ -2,9 +2,12 @@ package com.qniao.dam.query.matchmaker; import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import com.qniao.dau.domain.aggregate.matchmakeraudit.entity.MatchmakerAudit; +import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; public interface MatchmakerQueryService { Matchmaker queryByUserId(Long userId); MatchmakerAudit queryAuditByUserId(Long userId); + + MatchmakerLevelEnum queryLevelByUserId(Long userId); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/impl/MatchmakerQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/impl/MatchmakerQueryServiceImpl.java index 5db2600..ae89a7b 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/impl/MatchmakerQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/matchmaker/impl/MatchmakerQueryServiceImpl.java @@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qniao.dam.infrastructure.persistent.dao.domain.MatchmakerAuditDao; import com.qniao.dam.infrastructure.persistent.dao.domain.MatchmakerDao; import com.qniao.dam.query.matchmaker.MatchmakerQueryService; +import com.qniao.dam.query.operationcenter.OperationCenterQueryService; +import com.qniao.dam.query.store.StoreQueryService; import com.qniao.dau.domain.aggregate.matchmaker.entity.Matchmaker; import com.qniao.dau.domain.aggregate.matchmakeraudit.entity.MatchmakerAudit; +import com.qniao.dau.domian.aggregate.matchmaker.constant.MatchmakerLevelEnum; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Objects; @Service public class MatchmakerQueryServiceImpl implements MatchmakerQueryService { @@ -17,6 +21,10 @@ public class MatchmakerQueryServiceImpl implements MatchmakerQueryService { private MatchmakerDao matchmakerDao; @Resource private MatchmakerAuditDao matchmakerAuditDao; + @Resource + private StoreQueryService storeQueryService; + @Resource + private OperationCenterQueryService operationCenterQueryService; @Override public Matchmaker queryByUserId(Long userId) { @@ -32,5 +40,27 @@ public class MatchmakerQueryServiceImpl implements MatchmakerQueryService { .orderByDesc(MatchmakerAudit::getCreateTime) .last("limit 1")); } + + /** + * 查询用户的红娘级别 + * + * @param userId + * @return + */ + @Override + public MatchmakerLevelEnum queryLevelByUserId(Long userId) { + MatchmakerLevelEnum matchmakerLevel = null; + Matchmaker matchmaker = queryByUserId(userId); + if (Objects.nonNull(matchmaker)) { + matchmakerLevel = matchmaker.queryLevel(); + if (storeQueryService.hasByUserId(userId)) { + matchmakerLevel = MatchmakerLevelEnum.MATCHMAKER_STORE; + } + if (operationCenterQueryService.hasByUserId(userId)) { + matchmakerLevel = MatchmakerLevelEnum.MATCHMAKER_OPERATION_CENTER; + } + } + return matchmakerLevel; + } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/operationcenter/OperationCenterQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/operationcenter/OperationCenterQueryService.java new file mode 100644 index 0000000..bac66e4 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/operationcenter/OperationCenterQueryService.java @@ -0,0 +1,5 @@ +package com.qniao.dam.query.operationcenter; + +public interface OperationCenterQueryService { + boolean hasByUserId(Long userId); +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/operationcenter/impl/OperationCenterQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/operationcenter/impl/OperationCenterQueryServiceImpl.java new file mode 100644 index 0000000..261924b --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/operationcenter/impl/OperationCenterQueryServiceImpl.java @@ -0,0 +1,22 @@ +package com.qniao.dam.query.operationcenter.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qniao.dam.infrastructure.persistent.dao.domain.OperationCenterDao; +import com.qniao.dam.query.operationcenter.OperationCenterQueryService; +import com.qniao.dau.domain.aggregate.operationcenter.entity.OperationCenter; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class OperationCenterQueryServiceImpl implements OperationCenterQueryService { + + @Resource + private OperationCenterDao operationCenterDao; + + @Override + public boolean hasByUserId(Long userId) { + return operationCenterDao.selectCount(new LambdaQueryWrapper() + .eq(OperationCenter::getAdministratorId, userId)) > 0; + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java index 23e7811..467899f 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/revenuereward/impl/RevenueRewardQueryServiceImpl.java @@ -10,6 +10,7 @@ import com.qniao.dam.domain.aggregate.revenuereward.entity.RevenueReward; import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum; import com.qniao.dam.infrastructure.persistent.dao.domain.RevenueRewardDao; import com.qniao.dam.infrastructure.persistent.dao.view.RevenueRewardViewDao; +import com.qniao.dam.query.matchmaker.MatchmakerQueryService; import com.qniao.dam.query.revenuereward.RevenueRewardQueryService; import com.qniao.domain.QnPage; import com.qniao.framework.utils.PageUtil; @@ -28,6 +29,8 @@ public class RevenueRewardQueryServiceImpl implements RevenueRewardQueryService private RevenueRewardDao revenueRewardDao; @Resource private RevenueRewardViewDao revenueRewardViewDao; + @Resource + private MatchmakerQueryService matchmakerQueryService; @Override public RevenueReward queryByUserId(Long userId) { @@ -79,6 +82,7 @@ public class RevenueRewardQueryServiceImpl implements RevenueRewardQueryService Map> allAssociateOrderRecordMap = allAssociateOrderRecordList.stream().collect(Collectors.groupingBy(RevenueRewardAssociateOrderRecordVo::getRevenueRewardRecordId)); page.getRecords().forEach(record -> { record.setAssociateOrderRecordList(allAssociateOrderRecordMap.get(record.getRevenueRewardRecordId())); + record.setMatchmakerLevel(matchmakerQueryService.queryLevelByUserId(record.getMatchmakerUserId())); }); } return page; diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/StoreQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/StoreQueryService.java index d5484dc..b99f5f7 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/StoreQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/StoreQueryService.java @@ -4,4 +4,6 @@ import com.qniao.dau.domain.aggregate.store.entity.Store; public interface StoreQueryService { Store queryById(Long id); + + boolean hasByUserId(Long userId); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/impl/StoreQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/impl/StoreQueryServiceImpl.java index 711695b..3a1bdd2 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/impl/StoreQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/store/impl/StoreQueryServiceImpl.java @@ -1,5 +1,6 @@ package com.qniao.dam.query.store.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qniao.dam.infrastructure.persistent.dao.domain.StoreDao; import com.qniao.dam.query.store.StoreQueryService; import com.qniao.dau.domain.aggregate.store.entity.Store; @@ -17,4 +18,10 @@ public class StoreQueryServiceImpl implements StoreQueryService { public Store queryById(Long id) { return storeDao.selectById(id); } + + @Override + public boolean hasByUserId(Long userId) { + return storeDao.selectCount(new LambdaQueryWrapper() + .eq(Store::getAdministratorId, userId)) > 0; + } } diff --git a/dating-agency-mall-server/src/main/resources/mapper/revenuereward/RevenueRewardViewMapper.xml b/dating-agency-mall-server/src/main/resources/mapper/revenuereward/RevenueRewardViewMapper.xml index bdfe0f9..ace3627 100644 --- a/dating-agency-mall-server/src/main/resources/mapper/revenuereward/RevenueRewardViewMapper.xml +++ b/dating-agency-mall-server/src/main/resources/mapper/revenuereward/RevenueRewardViewMapper.xml @@ -60,6 +60,7 @@ select darrr.id as revenueRewardRecordId, darrr.create_time, + dam.user_id as matchmakerUserId, dam.type as matchmakerType, dam.`name` as revenueOwnerName, dam.phone as revenueOwnerPhone,