diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/response/UserListRightByCustomerVo.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/response/UserListRightByCustomerVo.java index fd95a1a..e401b59 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/response/UserListRightByCustomerVo.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/response/UserListRightByCustomerVo.java @@ -1,12 +1,15 @@ package com.qniao.dam.api.query.right.user.response; import com.fasterxml.jackson.annotation.JsonFormat; +import com.qniao.dam.domain.aggregate.right.entity.RightTerm; +import com.qniao.dam.domian.aggregate.right.constant.RightNameEnum; import com.qniao.dam.domian.aggregate.right.constant.RightTypeEnum; import com.qniao.dam.domian.aggregate.right.constant.RightUnitEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; +import java.util.Objects; @Data public class UserListRightByCustomerVo { @@ -39,4 +42,24 @@ public class UserListRightByCustomerVo { @ApiModelProperty("单日使用数量") private Integer dailyUseCount; + + @ApiModelProperty("是否能用") + private Boolean enable; + + public boolean checkEnable() { + //1.判断有效期 + if (Objects.nonNull(startTime) && Objects.nonNull(endTime)) { + LocalDateTime now = LocalDateTime.now(); + if (startTime.isAfter(now) || endTime.isBefore(now)) { + return false; + } + } + //2.判断剩余条数 + // rightCount==0 表示已用完 rightCount==-1 表示不限次数 + if (rightCount == 0 || rightCount < -1) { + return false; + } + //3.今日使用次数上限 + return dailyUseLimit == -1 || dailyUseLimit <= dailyUseCount; + } } 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 a0543f5..7790c12 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 @@ -71,6 +71,7 @@ public class RightQueryServiceImpl implements RightQueryService { UserListRightByCustomerVo customerVo = transformCustomerRight(rightType, rightList); //统计使用次数 customerVo.setDailyUseCount(rightConsumeRelQueryService.countDailyUseBy(queryParam.getUserId(), queryParam.getMiId(), rightType)); + customerVo.setEnable(customerVo.checkEnable()); customerVolist.add(customerVo); } }