From 5fa6e6f8410ef9d057174bcff2a3c5038c54a551 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期日, 27 四月 2025 18:41:20 +0800 Subject: [PATCH] bug修改 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java index 4d6ed9f..11cd70a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TPayOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.constant.AmountConstant; import com.ruoyi.common.exception.ServiceException; @@ -15,12 +16,14 @@ import com.ruoyi.system.service.TOrderBillService; import com.ruoyi.system.service.TPayOrderService; import com.ruoyi.system.service.TTenantService; +import com.taxi591.bankapi.BankProperties; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -53,7 +56,15 @@ public String createAppletUrl(String orderNo){ - return ""+orderNo; + JSONObject param = new JSONObject(); + param.put("input1",orderNo); + StringBuffer sb = new StringBuffer(); + sb.append(BankProperties.H5_BANK_URL) + .append("?code=").append("JF-EPAY2025030510983") + .append("&userInput=") + .append(URLEncoder.encode(param.toJSONString())) + .append("&showBill=0"); + return sb.toString(); } @Override @@ -69,12 +80,13 @@ if (bill == null) { throw new ServiceException("账单不存在"); } - //计算欠费金额:租金+违约金-实收金额 - long rent = caculateRentFee(bill); + //欠费金额转成单位分比较 + long rent = bill.getOutstandingMoney().multiply(AmountConstant.b100) + .setScale(2,RoundingMode.HALF_DOWN).longValue(); if (rent==0){ throw new ServiceException("该账单已缴费"); } - if (rent>dto.getAmount()){ + if (rent<dto.getAmount()){ throw new ServiceException("支付金额超过了账单欠费金额"); } @@ -105,7 +117,11 @@ orderBills.add(new TOrderBill(orderNo,bill.getId())); return bill; }).collect(Collectors.toList()); - long sumRent = bills.stream().mapToLong((bill) -> caculateRentFee(bill)).sum(); + //欠费金额转成单位分比较 + long sumRent = bills.stream().mapToLong((bill) + -> bill.getOutstandingMoney().multiply(AmountConstant.b100) + .setScale(2,RoundingMode.HALF_DOWN).longValue()) + .sum(); if (sumRent==0){ throw new ServiceException("账单已缴费"); } -- Gitblit v1.7.1