diff --git a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/mica/constant/MarriageInformationContactApplyStatusEnum.java b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/mica/constant/MarriageInformationContactApplyStatusEnum.java index f0b890d..6b5879f 100644 --- a/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/mica/constant/MarriageInformationContactApplyStatusEnum.java +++ b/dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/mica/constant/MarriageInformationContactApplyStatusEnum.java @@ -10,7 +10,11 @@ import lombok.Getter; @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum MarriageInformationContactApplyStatusEnum { - MARRIAGE_BOUNTY(1, "悬赏招亲"); + PENDING(1, "申请中"), + + APPROVED(2, "已同意"), + + REJECTED(3, "已拒绝"); @EnumValue @JsonValue diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/mica/entity/MarriageInformationContactApply.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/mica/entity/MarriageInformationContactApply.java index affe85b..232027b 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/mica/entity/MarriageInformationContactApply.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/mica/entity/MarriageInformationContactApply.java @@ -32,5 +32,6 @@ public class MarriageInformationContactApply extends Entity() + .eq(ContactCardUsageRecord::getUserId, userId) + .eq(ContactCardUsageRecord::getUsageDate, LocalDate.now()) + .eq(ContactCardUsageRecord::getUsageType, usageType)); + } +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/MarriageInformationContactApplyQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/MarriageInformationContactApplyQueryService.java index dcff03a..ad9c6ea 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/MarriageInformationContactApplyQueryService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/MarriageInformationContactApplyQueryService.java @@ -2,4 +2,5 @@ package com.qniao.dam.query.mica; public interface MarriageInformationContactApplyQueryService { + Boolean checkApplying(Long applicantUserId, Long targetMiId); } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/impl/MarriageInformationContactApplyQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/impl/MarriageInformationContactApplyQueryServiceImpl.java index 5438ff7..3f56442 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/impl/MarriageInformationContactApplyQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/impl/MarriageInformationContactApplyQueryServiceImpl.java @@ -1,9 +1,33 @@ package com.qniao.dam.query.mica.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qniao.dam.domain.aggregate.mica.entity.MarriageInformationContactApply; +import com.qniao.dam.domian.aggregate.mica.constant.MarriageInformationContactApplyStatusEnum; +import com.qniao.dam.infrastructure.persistent.dao.mica.MarriageInformationContactApplyDao; import com.qniao.dam.query.mica.MarriageInformationContactApplyQueryService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Arrays; + @Service public class MarriageInformationContactApplyQueryServiceImpl implements MarriageInformationContactApplyQueryService { + @Resource + private MarriageInformationContactApplyDao marriageInformationContactApplyDao; + + @Override + public Boolean checkApplying(Long applicantUserId, Long targetMiId) { + if (marriageInformationContactApplyDao.selectCount(new LambdaQueryWrapper() + .eq(MarriageInformationContactApply::getApplicantMiId, targetMiId) + .eq(MarriageInformationContactApply::getTargetUserId, applicantUserId) + .eq(MarriageInformationContactApply::getUnlocked, true)) > 0) { + throw new RuntimeException("对方已经申请查看您的联系方式"); + } + return marriageInformationContactApplyDao.selectCount(new LambdaQueryWrapper() + .eq(MarriageInformationContactApply::getApplicantUserId, applicantUserId) + .eq(MarriageInformationContactApply::getTargetMiId, targetMiId) + .in(MarriageInformationContactApply::getStatus, Arrays.asList(MarriageInformationContactApplyStatusEnum.PENDING, MarriageInformationContactApplyStatusEnum.APPROVED))) > 0; + } + } \ No newline at end of file