diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/balancedetails/vo/BalanceDetailsPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/balancedetails/vo/BalanceDetailsPageReqVO.java index 5049285ce..34a387ac1 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/balancedetails/vo/BalanceDetailsPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/balancedetails/vo/BalanceDetailsPageReqVO.java @@ -15,6 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDate; +import java.time.LocalDateTime; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; @@ -46,6 +47,9 @@ public class BalanceDetailsPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate[] createTime; + @Schema(hidden = true) + private LocalDateTime[] operateTime; + @Schema(description = "充值金额") @DecimalMin(value = "0.01", message = "充值金额必须大于零") @DecimalMax(value = "100000", message = "充值金额不能超过十万") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/products/vo/product/ProductPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/products/vo/product/ProductPageReqVO.java index ce375b047..3bcd14300 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/products/vo/product/ProductPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/products/vo/product/ProductPageReqVO.java @@ -3,10 +3,15 @@ package com.cf.imes.module.system.controller.admin.funds.products.vo.product; import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.module.system.validation.products.ProductStatus; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.DecimalMax; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.Digits; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import java.math.BigDecimal; + @Schema(description = "管理后台 - 产品表 products Request VO") @Data @EqualsAndHashCode(callSuper = true) @@ -22,4 +27,10 @@ public class ProductPageReqVO extends PageParam { @Schema(description = "产品状态", example = "0") @ProductStatus private Integer status; + + @Schema(description = "单价") + @DecimalMin(value = "0.01", message = "单价必须大于零") + @DecimalMax(value = "100000", message = "单价不能超过十万") + @Digits(integer = 6, fraction = 2, message = "单价格式不正确") + private BigDecimal price; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/purchase/vo/PurchaseRecordPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/purchase/vo/PurchaseRecordPageReqVO.java index d561e2fad..6f1f91c2f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/purchase/vo/PurchaseRecordPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/purchase/vo/PurchaseRecordPageReqVO.java @@ -54,6 +54,9 @@ public class PurchaseRecordPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate[] endTime; + @Schema(hidden = true) + private LocalDateTime[] endTimeSection; + @Schema(description = "产品金额") @DecimalMin(value = "0.01", message = "产品购买金额必须大于零") @DecimalMax(value = "100000", message = "产品购买金额不能超过十万") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/vo/RechargePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/vo/RechargePageReqVO.java index 7085a19b4..e85c0c031 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/vo/RechargePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/recharge/vo/RechargePageReqVO.java @@ -44,6 +44,10 @@ public class RechargePageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] startTime; + @Schema(description = "投放结束时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] endTime; + @Schema(description = "备注") private String remark; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/products/ProductsMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/products/ProductsMapper.java index 70fc8afa5..6f939ef72 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/products/ProductsMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/products/ProductsMapper.java @@ -20,6 +20,7 @@ public interface ProductsMapper extends BaseMapperX { .eqIfPresent(ProductsDO::getId, reqVO.getId()) .likeIfPresent(ProductsDO::getProductName, reqVO.getProductName()) .eqIfPresent(ProductsDO::getStatus, reqVO.getStatus()) + .eqIfPresent(ProductsDO::getPrice, reqVO.getPrice()) .eq(ProductsDO::getDeleted, deleted)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java index 51e6f7342..0fbc4bf13 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java @@ -20,6 +20,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; /** @@ -42,6 +43,7 @@ public interface PurchaseRecordMapper extends BaseMapperX { * @return */ default PageResult selectPage(PurchaseRecordPageReqVO pageReqVO) { + LocalDateTime[] endTimeSection = pageReqVO.getEndTimeSection(); return selectPage(pageReqVO, new LambdaQueryWrapperX() .eq(PurchaseRecordDO::getDeleted, false) .eqIfPresent(PurchaseRecordDO::getOrganId, pageReqVO.getOrganId()) @@ -51,7 +53,8 @@ public interface PurchaseRecordMapper extends BaseMapperX { .betweenIfPresent(PurchaseRecordDO::getCreateTime, pageReqVO.getCreateTime()) .likeIfPresent(PurchaseRecordDO::getCreator, pageReqVO.getCreator()) .eqIfPresent(PurchaseRecordDO::getTotalAmount, pageReqVO.getProductPrice()) - .betweenIfPresent(PurchaseRecordDO::getEndTime, pageReqVO.getEndTime()) + .geIfPresent(PurchaseRecordDO::getEndTime, ObjectUtil.isNotNull(endTimeSection) ? endTimeSection[0] : null) + .ltIfPresent(PurchaseRecordDO::getEndTime, ObjectUtil.isNotNull(endTimeSection) ? endTimeSection[1] : null) .ne(PurchaseRecordDO::getInitial, true) .orderByDesc(PurchaseRecordDO::getCreateTime)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/recharge/GiftMoneyDetailsMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/recharge/GiftMoneyDetailsMapper.java index a4fc20fc3..f405e2476 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/recharge/GiftMoneyDetailsMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/recharge/GiftMoneyDetailsMapper.java @@ -25,6 +25,7 @@ public interface GiftMoneyDetailsMapper extends BaseMapperX .eqIfPresent(GiftMoneyDetailsDO::getGiftAmount, reqVO.getGiftAmount()) .eqIfPresent(GiftMoneyDetailsDO::getRechargeAmount, reqVO.getRechargeAmount()) .betweenIfPresent(GiftMoneyDetailsDO::getStartTime, reqVO.getStartTime()) + .betweenIfPresent(GiftMoneyDetailsDO::getEndTime, reqVO.getEndTime()) .eqIfPresent(GiftMoneyDetailsDO::getDeleted, reqVO.getDeleted()); Integer rechargeType = reqVO.getRechargeType(); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/incomeandexpense/IncomeExpenseServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/incomeandexpense/IncomeExpenseServiceImpl.java index a370987c2..ab2d57fa3 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/incomeandexpense/IncomeExpenseServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/incomeandexpense/IncomeExpenseServiceImpl.java @@ -1,6 +1,7 @@ package com.cf.imes.module.system.service.funds.incomeandexpense; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; @@ -17,6 +18,9 @@ import com.cf.imes.module.system.service.organ.OrganService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.util.ArrayList; import java.util.List; @@ -42,6 +46,17 @@ public class IncomeExpenseServiceImpl implements IncomeExpenseService { @Override public PageResult getBalanceDetailsPage(BalanceDetailsPageReqVO pageReqVO) { + // 时间类型规范为开始0点,结束12点 + LocalDate[] createTime = pageReqVO.getCreateTime(); + if (ArrayUtil.isNotEmpty(createTime) && createTime.length == 2) { + pageReqVO.setOperateTime(new LocalDateTime[]{ + pageReqVO.getCreateTime()[0].atStartOfDay(), + pageReqVO.getCreateTime()[1].atTime(LocalTime.MAX) + }); + } else { + pageReqVO.setOperateTime(null); + } + PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); IPage pageResult = incomeExpenseDetailsMapper.getAccountDetailsPage(page, pageReqVO); List pageResultList = pageResult.getRecords(); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java index 00b684458..419456456 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/invoice/InvoiceServiceImpl.java @@ -194,6 +194,9 @@ public class InvoiceServiceImpl implements InvoiceService { @Override public PageResult getAvailablePage(InvoiceAmountAndAvailablePageReqVO invoiceAmountAndAvailablePageReqVO) { + // 生成起时间0点和止时间12点的区间 + invoiceAmountAndAvailablePageReqVO.setCreateTime(LocalDateTimeUtils.generateTimeSection(invoiceAmountAndAvailablePageReqVO.getCreateTime())); + PageResult availablePage = purchaseRecordMapper.selectPage(invoiceAmountAndAvailablePageReqVO); if (CollUtil.isEmpty(availablePage.getList())) { return new PageResult<>(availablePage.getTotal()); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java index 3221daa56..df8528e48 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java @@ -2,6 +2,7 @@ package com.cf.imes.module.system.service.funds.purchase; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -45,8 +46,8 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -101,6 +102,16 @@ public class PurchaseServiceImpl implements PurchaseService { public PageResult getPurchaseRecord(PurchaseRecordPageReqVO pageReqVO) { // 生成起时间0点和止时间12点的区间 pageReqVO.setCreateTime(LocalDateTimeUtils.generateTimeSection(pageReqVO.getCreateTime())); + // 生成产品有效时间0点和止时间12点的区间 + LocalDate[] endTime = pageReqVO.getEndTime(); + if (ArrayUtil.isNotEmpty(endTime) && endTime.length == 2) { + pageReqVO.setEndTimeSection(new LocalDateTime[]{ + pageReqVO.getEndTime()[0].atStartOfDay(), + pageReqVO.getEndTime()[1].plusDays(1).atStartOfDay() + }); + } else { + pageReqVO.setEndTimeSection(null); + } PageResult pageResult = purchaseRecordMapper.selectPage(pageReqVO); List resultList = pageResult.getList(); @@ -292,6 +303,9 @@ public class PurchaseServiceImpl implements PurchaseService { @Override public PageResult getManageSalesDetailsPage(SalesDetailsPageReqVO reqVO) { + // 时间类型规范为开始0点,结束12点 + reqVO.setCreateTime(LocalDateTimeUtils.generateTimeSection(reqVO.getCreateTime())); + // 分页查询 PageResult salesDetailPage = purchaseRecordMapper.getSaleDetailsPage(reqVO); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeActiveServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeActiveServiceImpl.java index 30530fa4a..540bacb53 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeActiveServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/recharge/RechargeActiveServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.IdUtil; import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.Assert.AssertUtils; +import com.cf.imes.framework.common.util.date.LocalDateTimeUtils; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.system.controller.admin.funds.recharge.vo.RechargePageReqVO; @@ -91,6 +92,10 @@ public class RechargeActiveServiceImpl implements RechargeActiveService{ @Override public PageResult getPage(RechargePageReqVO pageReqVO) { + // 生成时间0点和止时间12点的区间 + pageReqVO.setStartTime(LocalDateTimeUtils.generateTimeSection(pageReqVO.getStartTime())); + pageReqVO.setEndTime(LocalDateTimeUtils.generateTimeSection(pageReqVO.getEndTime())); + return giftMoneyDetailsMapper.selectPage(pageReqVO); } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/incomeandexpense/IncomeExpenseDetailsMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/incomeandexpense/IncomeExpenseDetailsMapper.xml index f9de9f7b7..3f54f345b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/incomeandexpense/IncomeExpenseDetailsMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/incomeandexpense/IncomeExpenseDetailsMapper.xml @@ -33,8 +33,8 @@ AND i.income_expense_type = #{reqVO.incomeExpenseType} - - AND i.create_time between #{reqVO.createTime[0]} and #{reqVO.createTime[1]} + + AND i.create_time between #{reqVO.operateTime[0]} and #{reqVO.operateTime[1]} AND p.total_amount = #{reqVO.productPrice}