From 25b26c83dd75a747409eb1b23f7db17b131a4958 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 20 Oct 2025 17:07:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E9=87=91=E7=AE=A1=E7=90=86=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=95=8C=E9=9D=A2=E5=8F=82=E6=95=B0=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=EF=BC=9A=E5=8F=91=E7=A5=A8=E9=87=91=E9=A2=9D=E5=8C=BA=E9=97=B4?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=8D=95=E4=B8=AA=E4=B8=8A=E4=B8=8B=E9=99=90?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InvoiceAmountAndAvailablePageReqVO.java | 17 ++++++++++++++-- .../invoice/vo/InvoiceDetailsPageReqVO.java | 19 ++++++++++++------ .../ManualAdjustAccountBalancePageReqVO.java | 4 ++++ .../funds/invoice/InvoiceRecordsMapper.java | 3 ++- .../funds/purchase/PurchaseRecordMapper.java | 20 +++++++++---------- ...ManualAdjustAccountBalanceServiceImpl.java | 5 ++++- 6 files changed, 47 insertions(+), 21 deletions(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceAmountAndAvailablePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceAmountAndAvailablePageReqVO.java index 4f6e3efb4..b01b08d52 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceAmountAndAvailablePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceAmountAndAvailablePageReqVO.java @@ -2,11 +2,15 @@ package com.cf.imes.module.system.controller.admin.funds.invoice.vo; import com.cf.imes.framework.common.pojo.PageParam; 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 org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.time.LocalDateTime; import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -24,6 +28,15 @@ public class InvoiceAmountAndAvailablePageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; - @Schema(description = "开票金额", example = "[0,100]") - private Integer[] invoiceAmount; + @Schema(description = "开票金额起") + @DecimalMin(value = "0", message = "开票金额必须大于等于零") + @DecimalMax(value = "100000", message = "开票金额不能超过十万") + @Digits(integer = 6, fraction = 2, message = "开票金额格式不正确") + private BigDecimal invoiceAmountStart; + + @Schema(description = "开票金额止") + @DecimalMin(value = "0", message = "开票金额必须大于等于零") + @DecimalMax(value = "100000", message = "开票金额不能超过十万") + @Digits(integer = 6, fraction = 2, message = "开票金额格式不正确") + private BigDecimal invoiceAmountEnd; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceDetailsPageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceDetailsPageReqVO.java index e5b840ccb..c49cc94c7 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceDetailsPageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/invoice/vo/InvoiceDetailsPageReqVO.java @@ -3,6 +3,9 @@ package com.cf.imes.module.system.controller.admin.funds.invoice.vo; import com.cf.imes.framework.common.pojo.PageParam; 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; @@ -40,9 +43,17 @@ public class InvoiceDetailsPageReqVO extends PageParam { private String invoicePerson; - @Schema(description = "发票金额") - private BigDecimal[] invoiceAmount; + @Schema(description = "发票金额起") + @DecimalMin(value = "0", message = "开票金额必须大于等于零") + @DecimalMax(value = "100000", message = "开票金额不能超过十万") + @Digits(integer = 6, fraction = 2, message = "开票金额格式不正确") + private BigDecimal invoiceAmountStart; + @Schema(description = "发票金额起") + @DecimalMin(value = "0", message = "开票金额必须大于等于零") + @DecimalMax(value = "100000", message = "开票金额不能超过十万") + @Digits(integer = 6, fraction = 2, message = "开票金额格式不正确") + private BigDecimal invoiceAmountEnd; @Schema(description = "开票时间", example = "[2022-07-01 01:01:01 ,2022-07-01 01:01:01]") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @@ -54,8 +65,4 @@ public class InvoiceDetailsPageReqVO extends PageParam { private LocalDateTime[] createTime; - @Schema(description = "交易金额") - private BigDecimal[] amount; - - } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/manualadjust/vo/ManualAdjustAccountBalancePageReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/manualadjust/vo/ManualAdjustAccountBalancePageReqVO.java index 36b3d555e..a6f18cc2a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/manualadjust/vo/ManualAdjustAccountBalancePageReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/funds/manualadjust/vo/ManualAdjustAccountBalancePageReqVO.java @@ -7,9 +7,12 @@ import jakarta.validation.constraints.Size; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + /** * @author Gqr * @since 2025/9/16 14:40 @@ -32,5 +35,6 @@ public class ManualAdjustAccountBalancePageReqVO extends PageParam { private String remark; @Schema(description = "交易时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java index 0bdbd9134..f7089501c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/invoice/InvoiceRecordsMapper.java @@ -22,7 +22,8 @@ public interface InvoiceRecordsMapper extends BaseMapperX { .eqIfPresent(InvoiceRecordsDO::getStatus, pageReqVO.getStatus()) .likeIfPresent(InvoiceRecordsDO::getCreator, pageReqVO.getCreator()) .likeIfPresent(InvoiceRecordsDO::getInvoicePerson, pageReqVO.getInvoicePerson()) - .betweenIfPresent(InvoiceRecordsDO::getInvoiceAmount, pageReqVO.getInvoiceAmount()) + .geIfPresent(InvoiceRecordsDO::getInvoiceAmount, pageReqVO.getInvoiceAmountStart()) + .leIfPresent(InvoiceRecordsDO::getInvoiceAmount, pageReqVO.getInvoiceAmountEnd()) .betweenIfPresent(InvoiceRecordsDO::getCreateTime, pageReqVO.getCreateTime()) .betweenIfPresent(InvoiceRecordsDO::getInvoiceTime, pageReqVO.getInvoiceTime()) .orderByDesc(InvoiceRecordsDO::getId)); 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 0fbc4bf13..58f8b8670 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 @@ -73,17 +73,15 @@ public interface PurchaseRecordMapper extends BaseMapperX { .in(PurchaseRecordDO::getIsInvocing, InvoiceStatusEnum.INVOICABLE.getCode(), InvoiceStatusEnum.INVOICINGFAILED.getCode()) .ne(PurchaseRecordDO::getInitial, true) .orderByDesc(PurchaseRecordDO::getCreateTime); - Integer[] invoiceAmount = pageReqVO.getInvoiceAmount(); - if (ArrayUtil.isNotEmpty(invoiceAmount) && invoiceAmount.length == 2) { - queryWrapper.and(w -> - w.between(PurchaseRecordDO::getAccountBalanceSpent, - ObjectUtil.isNotNull(pageReqVO.getInvoiceAmount()) ? pageReqVO.getInvoiceAmount()[0] : null, - ObjectUtil.isNotNull(pageReqVO.getInvoiceAmount()) ? pageReqVO.getInvoiceAmount()[1] : null) - .or() - .between(PurchaseRecordDO::getExternalSpent, - ObjectUtil.isNotNull(pageReqVO.getInvoiceAmount()) ? pageReqVO.getInvoiceAmount()[0] : null, - ObjectUtil.isNotNull(pageReqVO.getInvoiceAmount()) ? pageReqVO.getInvoiceAmount()[1] : null) - ); + + BigDecimal start = pageReqVO.getInvoiceAmountStart(); + BigDecimal end = pageReqVO.getInvoiceAmountEnd(); + if (ObjectUtil.isNotNull(start) && ObjectUtil.isNotNull(end)) { + queryWrapper.apply("account_balance_spent + external_spent BETWEEN {0} AND {1}", start, end); + } else if (ObjectUtil.isNotNull(start)) { + queryWrapper.apply("account_balance_spent + external_spent >= {0}", start); + } else if (ObjectUtil.isNotNull(end)) { + queryWrapper.apply("account_balance_spent + external_spent <= {0}", end); } return selectPage(pageReqVO, queryWrapper); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/manualadjust/ManualAdjustAccountBalanceServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/manualadjust/ManualAdjustAccountBalanceServiceImpl.java index 561f22a0f..836c56089 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/manualadjust/ManualAdjustAccountBalanceServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/manualadjust/ManualAdjustAccountBalanceServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.id.core.util.SnowflakeSerialNoWorker3rd; import com.cf.imes.framework.mybatis.core.query.LambdaUpdateWrapperX; @@ -22,7 +23,6 @@ import com.cf.imes.module.system.dal.mysql.pay.PayOrderMapper; import com.cf.imes.module.system.enums.pay.AdjustTypeEnum; import com.cf.imes.module.system.enums.pay.IncomeExpenseTypeEnum; import com.cf.imes.module.system.enums.pay.PayChannelCodeEnum; -import com.cf.imes.module.system.enums.pay.PayConstants; import com.cf.imes.module.system.enums.pay.PayOrderStatusEnum; import com.cf.imes.module.system.enums.pay.TradeTypeEnum; import com.cf.imes.module.system.framework.snowflake.config.MybatisIdProperties; @@ -209,6 +209,9 @@ public class ManualAdjustAccountBalanceServiceImpl implements ManualAdjustAccoun @Override public PageResult getPage(ManualAdjustAccountBalancePageReqVO pageReqVO) { + // 时间类型规范为开始0点,结束12点 + pageReqVO.setCreateTime(LocalDateTimeUtils.generateTimeSection(pageReqVO.getCreateTime())); + PageResult incomeExpenseDetailsDOPageResult = incomeExpenseDetailsMapper.selectAdjustPage(pageReqVO); List pageResultList = incomeExpenseDetailsDOPageResult.getList();