From 27ef9b4fb299dcf782e17e1312ad81ccc56ee6dd Mon Sep 17 00:00:00 2001 From: Derran Date: Wed, 20 Mar 2024 13:59:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/RightConsumeRel.java | 21 +++++++++++++- .../right/RightApplicationService.java | 7 ++--- .../right/impl/RightQueryServiceImpl.java | 5 ++++ .../RightConsumeRelQueryService.java | 7 +++++ .../impl/RightConsumeRelQueryServiceImpl.java | 29 +++++++++++++++++++ 5 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/RightConsumeRelQueryService.java create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/impl/RightConsumeRelQueryServiceImpl.java diff --git a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rightconsumerel/entity/RightConsumeRel.java b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rightconsumerel/entity/RightConsumeRel.java index 9444dfa..06610fa 100644 --- a/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rightconsumerel/entity/RightConsumeRel.java +++ b/dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/rightconsumerel/entity/RightConsumeRel.java @@ -1,16 +1,31 @@ package com.qniao.dam.domain.aggregate.rightconsumerel.entity; import com.baomidou.mybatisplus.annotation.TableName; +import com.qniao.dam.domian.aggregate.right.constant.RightTypeEnum; import com.qniao.domain.Entity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.time.LocalDate; + @Data @EqualsAndHashCode(callSuper = true) @TableName("da_right_consume_rel") public class RightConsumeRel extends Entity { + @ApiModelProperty("用户标识") + private Long userId; + + @ApiModelProperty("征婚资料标识") + private Long miId; + + @ApiModelProperty("消费日期") + private LocalDate consumeDate; + + @ApiModelProperty("权益类型") + private RightTypeEnum type; + @ApiModelProperty("权益标识") private Long rightId; @@ -20,8 +35,12 @@ public class RightConsumeRel extends Entity { @ApiModelProperty("状态") private Boolean enable; - public static RightConsumeRel build(Long rightId, Long associatedId) { + public static RightConsumeRel build(Long userId, Long miId, RightTypeEnum type, Long rightId, Long associatedId) { RightConsumeRel rightConsumeRel = new RightConsumeRel(); + rightConsumeRel.setUserId(userId); + rightConsumeRel.setMiId(miId); + rightConsumeRel.setConsumeDate(LocalDate.now()); + rightConsumeRel.setType(type); rightConsumeRel.setRightId(rightId); rightConsumeRel.setAssociatedId(associatedId); rightConsumeRel.setEnable(true); diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/right/RightApplicationService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/right/RightApplicationService.java index 24e709e..2a8287b 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/right/RightApplicationService.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/right/RightApplicationService.java @@ -152,9 +152,6 @@ public class RightApplicationService { } } - /** - * todo 检查今日使用次数 - */ public UserConsumeRightBySdkVo consumeRight(UserConsumeRightBySdkDto dto) { UserConsumeRightBySdkVo vo = new UserConsumeRightBySdkVo(); try { @@ -164,6 +161,7 @@ public class RightApplicationService { if (rightQueryService.checkEnable(right)) { executeConsumeRight(right, dto.getAssociatedId()); vo.setFlag(true); + break; } } } @@ -194,8 +192,9 @@ public class RightApplicationService { if (!rightQueryService.checkEnable(right)) { right.setEnable(false); } + right.setUpdateRightTermList(right.getRightTermList()); //组装权益消费关联实体 - RightConsumeRel rightConsumeRel = RightConsumeRel.build(right.getId(), associatedId); + RightConsumeRel rightConsumeRel = RightConsumeRel.build(right.getUserId(), right.getMiId(), right.getType(), right.getId(), associatedId); consumeRightDomainService.handle(right, rightConsumeRel); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java index 220e6a5..57f9845 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java @@ -13,6 +13,7 @@ import com.qniao.dam.domian.aggregate.right.constant.RightUnitEnum; import com.qniao.dam.infrastructure.persistent.dao.domain.RightDao; import com.qniao.dam.infrastructure.persistent.dao.domain.RightTermDao; import com.qniao.dam.query.right.RightQueryService; +import com.qniao.dam.query.rightconsumerel.RightConsumeRelQueryService; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -33,6 +34,8 @@ public class RightQueryServiceImpl implements RightQueryService { private RightTermDao rightTermDao; @Resource private RightRepository rightRepository; + @Resource + private RightConsumeRelQueryService rightConsumeRelQueryService; @Override public List listRightByCustomer(UserListRightByCustomerQueryParam queryParam) { @@ -46,6 +49,8 @@ public class RightQueryServiceImpl implements RightQueryService { List rightList = allRightMap.get(rightType); if (CollUtil.isNotEmpty(rightList)) { UserListRightByCustomerVo customerVo = transformCustomerRight(rightType, rightList); + //统计使用次数 + customerVo.setDailyUseCount(rightConsumeRelQueryService.countDailyUseBy(queryParam.getUserId(), queryParam.getMiId(), rightType)); customerVolist.add(customerVo); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/RightConsumeRelQueryService.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/RightConsumeRelQueryService.java new file mode 100644 index 0000000..dab0144 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/RightConsumeRelQueryService.java @@ -0,0 +1,7 @@ +package com.qniao.dam.query.rightconsumerel; + +import com.qniao.dam.domian.aggregate.right.constant.RightTypeEnum; + +public interface RightConsumeRelQueryService { + Integer countDailyUseBy(Long userId, Long miId, RightTypeEnum rightType); +} diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/impl/RightConsumeRelQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/impl/RightConsumeRelQueryServiceImpl.java new file mode 100644 index 0000000..165634f --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/rightconsumerel/impl/RightConsumeRelQueryServiceImpl.java @@ -0,0 +1,29 @@ +package com.qniao.dam.query.rightconsumerel.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qniao.dam.domain.aggregate.rightconsumerel.entity.RightConsumeRel; +import com.qniao.dam.domian.aggregate.right.constant.RightTypeEnum; +import com.qniao.dam.infrastructure.persistent.dao.domain.RightConsumeRelDao; +import com.qniao.dam.query.rightconsumerel.RightConsumeRelQueryService; +import org.springframework.stereotype.Service; +import reactor.core.publisher.Mono; + +import javax.annotation.Resource; +import java.time.LocalDate; + +@Service +public class RightConsumeRelQueryServiceImpl implements RightConsumeRelQueryService { + + @Resource + private RightConsumeRelDao rightConsumeRelDao; + + @Override + public Integer countDailyUseBy(Long userId, Long miId, RightTypeEnum rightType) { + return rightConsumeRelDao.selectCount(new LambdaQueryWrapper() + .eq(RightConsumeRel::getUserId, userId) + .eq(RightConsumeRel::getMiId, miId) + .eq(RightConsumeRel::getType, rightType) + .eq(RightConsumeRel::getConsumeDate, LocalDate.now()) + .eq(RightConsumeRel::getEnable, true)); + } +}