From 41083a93b1a33135e16d60d41bf17e182c241f1b Mon Sep 17 00:00:00 2001 From: Derran Date: Tue, 26 Mar 2024 11:10:00 +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 --- .../right/RightApplicationService.java | 16 ++++++------- .../task/AcquireGiftRightTask.java | 24 ++++++++++--------- .../domain/UserMarriageInformationDao.java | 7 ++++++ 3 files changed, 27 insertions(+), 20 deletions(-) create mode 100644 dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserMarriageInformationDao.java 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 80925bf..45c6b66 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 @@ -80,11 +80,11 @@ public class RightApplicationService { right.setId(oldSpecPeriodRight.getId()); } //权益时间范围+考虑周期 todo 没有有效期限制如何提现永久? + right.setStartTime(Objects.nonNull(oldSpecPeriodRight) ? oldSpecPeriodRight.getStartTime() : LocalDateTime.now()); LocalDateTime startTime = Objects.nonNull(oldSpecPeriodRight) ? oldSpecPeriodRight.getEndTime() : LocalDateTime.now(); - Tuple validityTuple = handleValidity(startTime, productSpec.getProductSpecTermList()); - if (Objects.nonNull(validityTuple)) { - right.setStartTime(validityTuple.get(0)); - right.setEndTime(validityTuple.get(1)); + LocalDateTime endTime = handleValidity(startTime, productSpec.getProductSpecTermList()); + if (Objects.nonNull(endTime)) { + right.setEndTime(endTime); } right.setEnable(true); //权益条款 @@ -139,16 +139,14 @@ public class RightApplicationService { /** * 权益有效期处理 */ - private Tuple handleValidity(LocalDateTime startTime, List productSpecTermList) { - Tuple tuple = null; + private LocalDateTime handleValidity(LocalDateTime startTime, List productSpecTermList) { + LocalDateTime endTime = null; ProductSpecTerm term = productQueryService.getTermByName(productSpecTermList, ProductSpecTermNameEnum.VALIDITY_PERIOD); if (Objects.nonNull(term)) { - LocalDateTime endTime; int validityDays = Integer.parseInt(term.getValue()); endTime = startTime.plusDays(validityDays); - tuple = new Tuple(startTime, endTime); } - return tuple; + return endTime; } /** diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/AcquireGiftRightTask.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/AcquireGiftRightTask.java index cf416ec..8465b55 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/AcquireGiftRightTask.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/AcquireGiftRightTask.java @@ -7,7 +7,9 @@ import com.qniao.dam.domain.aggregate.right.valueobj.RightAcquireRecord; import com.qniao.dam.domian.aggregate.right.constant.RightAcquireEnum; import com.qniao.dam.infrastructure.persistent.dao.domain.MarriageInformationDao; import com.qniao.dam.infrastructure.persistent.dao.domain.RightAcquireRecordDao; +import com.qniao.dam.infrastructure.persistent.dao.domain.UserMarriageInformationDao; import com.qniao.das.domian.aggregate.marriageinformation.MarriageInformation; +import com.qniao.das.domian.aggregate.marriageinformation.UserMarriageInformation; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -22,7 +24,7 @@ import java.util.List; public class AcquireGiftRightTask { @Resource - private MarriageInformationDao marriageInformationDao; + private UserMarriageInformationDao userMarriageInformationDao; @Resource private RightApplicationService rightApplicationService; @Resource @@ -41,26 +43,26 @@ public class AcquireGiftRightTask { LocalDateTime endTime = date.atTime(23, 59, 59); LocalDateTime todayStartTime = LocalDate.now().atTime(0, 0, 0); LocalDateTime todayEndTime = LocalDate.now().atTime(23, 59, 59); - int count = marriageInformationDao.selectCount(new LambdaQueryWrapper() - .ge(MarriageInformation::getCreateTime, startTime) - .le(MarriageInformation::getCreateTime, endTime)); + int count = userMarriageInformationDao.selectCount(new LambdaQueryWrapper() + .ge(UserMarriageInformation::getCreateTime, startTime) + .le(UserMarriageInformation::getCreateTime, endTime)); if (count > 0) { int num = 100; for (int i = 0; i < count; i += num) { - List list = marriageInformationDao.selectList(new LambdaQueryWrapper() - .ge(MarriageInformation::getCreateTime, startTime) - .le(MarriageInformation::getCreateTime, endTime) + List list = userMarriageInformationDao.selectList(new LambdaQueryWrapper() + .ge(UserMarriageInformation::getCreateTime, startTime) + .le(UserMarriageInformation::getCreateTime, endTime) .last("limit " + i + "," + num)); if (CollUtil.isNotEmpty(list)) { - for (MarriageInformation marriageInformation : list) { + for (UserMarriageInformation userMarriageInformation : list) { //判断资料是否领取过免费权益 if (rightAcquireRecordDao.selectCount(new LambdaQueryWrapper() - .eq(RightAcquireRecord::getUserId, marriageInformation.getUserId()) - .eq(RightAcquireRecord::getMiId, marriageInformation.getId()) + .eq(RightAcquireRecord::getUserId, userMarriageInformation.getUserId()) + .eq(RightAcquireRecord::getMiId, userMarriageInformation.getMiId()) .eq(RightAcquireRecord::getAcquireType, RightAcquireEnum.GIFT) .ge(RightAcquireRecord::getCreateTime, todayStartTime) .le(RightAcquireRecord::getCreateTime, todayEndTime)) == 0) { - rightApplicationService.acquireNewMIRight(marriageInformation.getUserId(), marriageInformation.getId()); + rightApplicationService.acquireNewMIRight(userMarriageInformation.getUserId(), userMarriageInformation.getMiId()); } } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserMarriageInformationDao.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserMarriageInformationDao.java new file mode 100644 index 0000000..2ecb466 --- /dev/null +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/domain/UserMarriageInformationDao.java @@ -0,0 +1,7 @@ +package com.qniao.dam.infrastructure.persistent.dao.domain; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.qniao.das.domian.aggregate.marriageinformation.UserMarriageInformation; + +public interface UserMarriageInformationDao extends BaseMapper { +}