From 8c05349b9781e061e413f1efe1f33d00a2b68053 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 06 三月 2025 20:33:06 +0800
Subject: [PATCH] bug修改
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
index 92617fc..1dd6cad 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java
@@ -1,15 +1,14 @@
package com.ruoyi.system.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.config.SmsProperties;
import com.ruoyi.common.constant.AmountConstant;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.SmsUtil;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.TencentMailUtil;
+import com.ruoyi.common.utils.*;
import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.system.dto.*;
import com.ruoyi.system.mapper.TBillMapper;
@@ -251,7 +250,7 @@
throw new ServiceException("实付金额不能高于于流水可抵扣剩余金额");
}
//如果实付金额大于欠费金额
- if (dto.getAmount().compareTo(bill.getOutstandingMoney())>=0){
+ if (dto.getAmount().compareTo(bill.getOutstandingMoney())>0){
throw new ServiceException("实付金额不能高于该账单欠费金额");
}
@@ -275,6 +274,7 @@
save.setPayType(3);
save.setPayer(dto.getPayer());
save.setPayTime(bankflow.getPayTime());
+ save.setSysSerialNumber(OrderNos.getDid(30));
save.setBankSerialNumber(bankflow.getBankSerialNumber());
save.setFlowType(2);
save.setPaymentBillId(back.getId());
@@ -331,6 +331,7 @@
saveFlow.setPayType(1);
saveFlow.setPayer(order.getUserId());
saveFlow.setPayTime(DateUtils.dateToLocalDateTime(save.getPayTime()));
+ saveFlow.setSysSerialNumber(OrderNos.getDid(30));
saveFlow.setBankSerialNumber(save.getPayNo());
saveFlow.setFlowType(2);
saveFlow.setPaymentBillId(bill.getId());
@@ -383,7 +384,7 @@
int failNum = 0;
for (String billId : dto.getBillIds()) {
TBillDto bill = getDetailByBillId(billId);
- if (bill.getSmsLastTime()!=null
+ if (bill.getSmsLastTime()!=null && bill.getSmsStatus()==1
&& (System.currentTimeMillis()-bill.getSmsLastTime().getTime()<smsUtil.getPro().getBillSmsDelayPeriod()*60*1000L)){
throw new ServiceException("有账单最近一次发送的时间是:"+DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,bill.getSmsLastTime()));
}
@@ -394,7 +395,8 @@
TBill save = new TBill();
save.setId(bill.getId());
try {
- smsUtil.sendSms(bill.getPhone(), "2365726", new String[]{bill.getPartyTwoName()});
+ String name = bill.getPartyTwoName().length()>5?bill.getPartyTwoName().substring(0,5):bill.getPartyTwoName();
+ smsUtil.sendSms(bill.getPhone(), "2365726", new String[]{name});
save.setSmsStatus(1);
}catch (ServiceException e){
failNum++;
@@ -412,7 +414,7 @@
int failNum = 0;
for (String billId : dto.getBillIds()) {
TBillDto bill = getDetailByBillId(billId);
- if (bill.getMailLastTime()!=null
+ if (bill.getMailLastTime()!=null && bill.getMailStatus()==1
&& (System.currentTimeMillis()-bill.getMailLastTime().getTime()<mailUtil.getPro().getBillMailDelayPeriod()*60*1000L)){
throw new ServiceException("有账单最近一次发送的时间是:"+DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,bill.getMailLastTime()));
}
@@ -463,7 +465,7 @@
throw new ServiceException("实付金额不能高于于流水可抵扣剩余金额");
}
//如果实付金额大于欠费金额
- if (dto.getAmount().compareTo(bill.getOutstandingMoney())>=0){
+ if (dto.getAmount().compareTo(bill.getOutstandingMoney())>0){
throw new ServiceException("实付金额不能高于该账单欠费金额");
}
}
@@ -489,6 +491,7 @@
save.setPayType(3);
save.setPayer(dto.getPayer());
save.setPayTime(bankflow!=null?bankflow.getPayTime():DateUtils.dateToLocalDateTime(new Date()));
+ save.setSysSerialNumber(OrderNos.getDid());
save.setBankSerialNumber(bankflow!=null?bankflow.getBankSerialNumber():null);
save.setFlowType(dto.getPayType()==1?2:1);
save.setPaymentBillId(back.getId());
@@ -500,5 +503,15 @@
return true;
}
+ @Override
+ public BillStatisticsDto statistics() {
+ BillStatisticsDto dto = new BillStatisticsDto();
+ dto.setRent(getBaseMapper().statisticsAllRent());
+ dto.setNopay(getBaseMapper().statisticsNoPay());
+ dto.setPayed(getBaseMapper().statisticsPayed());
+ dto.setOverdue(getBaseMapper().statisticsOverdue());
+ return dto;
+ }
+
}
--
Gitblit v1.7.1