From c0bc55a9ea098a512f79a3a619e4a7d0a2dc9c3b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 10 四月 2025 18:22:58 +0800
Subject: [PATCH] yml修改
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | 79 ++++++++++++++++++++++++++++++++++-----
1 files changed, 69 insertions(+), 10 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 42adf5f..c5bd162 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
@@ -5,12 +5,9 @@
import com.ruoyi.common.constant.AmountConstant;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.enums.DisabledEnum;
import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.common.utils.OrderNos;
-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.BillStatisticsDto;
import com.ruoyi.system.dto.CachPayDto;
@@ -40,6 +37,7 @@
import com.taxi591.bankapi.dto.ChargeBillRequest;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
+import org.joda.time.LocalDateTime;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -108,6 +106,12 @@
return info;
}
+ public PageInfo<TBillDto> queryPageForApplet(TBillQuery query){
+ PageInfo<TBill> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+ PageInfo<TBillDto> info = tBillMapper.pageForApplet(pageInfo, query);
+ return info;
+ }
+
@Override
public List<String> getBillIds(TBillQuery query) {
List<TBillDto> billDtos = tBillMapper.getBillList(query);
@@ -150,6 +154,7 @@
if (presist.getPayFeesStatus().equals("3")){
throw new ServiceException("该账单已缴费完成");
}
+ save.setBusinessDeptId(presist.getBusinessDeptId());
switch (type){
// 仅更新除金额字段外的属性
case 1:
@@ -182,6 +187,7 @@
BigDecimal outstand = presist.getPayableFeesMoney()
.add(save.getPayableFeesPenalty())
.subtract(presist.getPayFeesMoney());
+
save.setOutstandingMoney(outstand);
}
//处理缴费金额
@@ -247,6 +253,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
public void saveBill(TbillSaveDto bill) {
+ bill.setManualAddition(DisabledEnum.YES.getCode());
save(bill);
if (bill.getBillType().equals("3")){
if (bill.getDetails()==null || bill.getDetails().size()==0){
@@ -327,6 +334,7 @@
save.setPayType(3);
save.setPayer(dto.getPayer());
save.setPayTime(billSave.getPayFeesTime());
+ save.setBusinessDeptId(bill.getBusinessDeptId());
save.setSysSerialNumber(OrderNos.getDid(30));
save.setFlowType(1);
save.setPaymentBillId(back.getId());
@@ -566,12 +574,12 @@
}
@Override
- public BillStatisticsDto statistics(String busDeptId) {
+ public BillStatisticsDto statistics(TBillQuery query) {
BillStatisticsDto dto = new BillStatisticsDto();
- dto.setRent(getBaseMapper().statisticsAllRent(busDeptId));
- dto.setNopay(getBaseMapper().statisticsNoPay(busDeptId));
- dto.setPayed(getBaseMapper().statisticsPayed(busDeptId));
- dto.setOverdue(getBaseMapper().statisticsOverdue(busDeptId));
+ dto.setRent(getBaseMapper().statisticsAllRent(query));
+ dto.setNopay(getBaseMapper().statisticsNoPay(query));
+ dto.setPayed(getBaseMapper().statisticsPayed(query));
+ dto.setOverdue(getBaseMapper().statisticsOverdue(query));
return dto;
}
@@ -609,4 +617,55 @@
public List<TBill> getJiFuBillListByTime(String businessDeptId, Date first, Date last) {
return baseMapper.getJiFuBillList(businessDeptId,first,last);
}
+
+ @Override
+ public void editAmount(TbillSaveDto bill) {
+ String requestId = UUID.fastUUID().toString();
+ String lockkey = CacheConstants.BILL_UPDATE_LOCK_KEY + bill.getId();
+ boolean isok = redisCache.trylockLoop(lockkey, requestId, 60);
+ if (isok){
+ try {
+ TBill presist = getById(bill.getId());
+ TBill save = new TBill();
+ save.setId(bill.getId());
+ BigDecimal preOutstand = presist.getOutstandingMoney();
+ // 如果传入的金额小于0,则是扣减,如果大于0,是增加金额,增加金额只加入欠费金额中
+ if (bill.getEditAmount().compareTo(BigDecimal.ZERO)<0
+ && presist.getPayableFeesPenalty().compareTo(BigDecimal.ZERO)>0){
+ BigDecimal prePayableFeesPenalty = presist.getPayableFeesPenalty();
+ //违约金大于调整金额,够减
+ if (prePayableFeesPenalty.compareTo(bill.getEditAmount().abs())>=0){
+ BigDecimal afterPenalty = prePayableFeesPenalty.add(bill.getEditAmount());
+ save.setPayableFeesPenalty(afterPenalty);
+ }else{
+ BigDecimal afterPenalty = BigDecimal.ZERO;
+ save.setPayableFeesPenalty(afterPenalty);
+ }
+ }
+ BigDecimal afterOutstand = preOutstand.add(bill.getEditAmount());
+ save.setOutstandingMoney(afterOutstand);
+ updateById(save);
+ }finally {
+ redisCache.unlock(lockkey,requestId);
+ }
+ }
+
+ //todo 记录金额修改记录
+// TFlowManagement flow = new TFlowManagement();
+// flow.setPayType(3);
+// flow.setPayer("管理员修改");
+// flow.setBusinessDeptId(presist.getBusinessDeptId());
+// flow.setPayTime(DateUtils.dateToLocalDateTime(new Date()));
+// flow.setSysSerialNumber(OrderNos.getDid(30));
+// flow.setFlowType(1);
+// flow.setPaymentBillId(back.getId());
+// flow.setDeductionMoney(back.getDeductionMoney());
+// flow.setFlowMoney(save.getOutstandingMoney());
+// flow.setRemainingMoney(back.getOutstandingMoney());
+// flow.setPreOutstand(back.getPreOutstand());
+// flow.setCreateBy(SecurityUtils.getUsername());
+// tFlowManagementService.save(flow);
+ }
+
+
}
--
Gitblit v1.7.1