| | |
| | | import com.ruoyi.system.query.TBillQuery; |
| | | import com.ruoyi.system.query.TInvoiceToBillQuery; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.vo.TBillVO; |
| | | import com.taxi591.bankapi.dto.ChargeBillRequest; |
| | | import com.tencentcloudapi.sms.v20190711.SmsClient; |
| | | import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jetbrains.annotations.NotNull; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.function.Consumer; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | BigDecimal result = presist.getPayFeesMoney().add(tBill.getPayFeesMoney()); |
| | | save.setPayFeesMoney(result); |
| | | //缴费后的欠费 =(应缴费+违约金)-已缴费金额 |
| | | BigDecimal outstand = save.getPayableFeesMoney() |
| | | BigDecimal outstand = presist.getPayableFeesMoney() |
| | | .add(presist.getPayableFeesPenalty()) |
| | | .subtract(save.getPayFeesMoney()); |
| | | save.setOutstandingMoney(outstand); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean checkOfflinePay(OfflinePayCheckDto dto) { |
| | | TBankFlow bankflow = tBankFlowService.getById(dto.getTBankFlow().getId()); |
| | | TBankFlow bankflow = tBankFlowService.getById(dto.getFlowId()); |
| | | TBillDto bill = getDetailByBillId(dto.getBillId()); |
| | | if (bankflow.getRemainingMoney().compareTo(BigDecimal.ZERO)<=0){ |
| | | throw new ServiceException("该流水已无可抵扣剩余金额"); |
| | |
| | | TBill billSave = new TBill(); |
| | | billSave.setId(bill.getId()); |
| | | billSave.setPayFeesMoney(dto.getAmount()); |
| | | billSave.setBankSerialNumber(dto.getTBankFlow().getBankSerialNumber()); |
| | | billSave.setPayFeesTime(dto.getTBankFlow().getPayTime()); |
| | | billSave.setBankSerialNumber(bankflow.getBankSerialNumber()); |
| | | billSave.setPayFeesTime(bankflow.getPayTime()); |
| | | billSave.setVoucher(dto.getVoucher()); |
| | | billSave.setPayFeesType(2); |
| | | TBill back = lockAndUpdateInfo(billSave, 2); |
| | |
| | | TFlowManagement save = new TFlowManagement(); |
| | | save.setPayType(3); |
| | | save.setPayer(dto.getPayer()); |
| | | save.setPayTime(dto.getTBankFlow().getPayTime()); |
| | | save.setBankSerialNumber(dto.getTBankFlow().getBankSerialNumber()); |
| | | save.setPayTime(bankflow.getPayTime()); |
| | | save.setBankSerialNumber(bankflow.getBankSerialNumber()); |
| | | save.setFlowType(2); |
| | | save.setPaymentBillId(back.getId()); |
| | | save.setDeductionMoney(back.getDeductionMoney()); |
| | |
| | | TBill back = null; |
| | | TBankFlow bankflow = null; |
| | | if (dto.getPayType()==1){ |
| | | bankflow = tBankFlowService.getById(dto.getTBankFlow().getId()); |
| | | if (StringUtils.isEmpty(dto.getFlowId())){ |
| | | throw new ServiceException("银行流水不能为空"); |
| | | } |
| | | bankflow = tBankFlowService.getById(dto.getFlowId()); |
| | | TBillDto bill = getDetailByBillId(dto.getBillId()); |
| | | if (bankflow.getRemainingMoney().compareTo(BigDecimal.ZERO)<=0){ |
| | | throw new ServiceException("该流水已无可抵扣剩余金额"); |
| | |
| | | TBill billSave = new TBill(); |
| | | billSave.setId(bill.getId()); |
| | | billSave.setPayFeesMoney(dto.getAmount()); |
| | | billSave.setBankSerialNumber(dto.getTBankFlow().getBankSerialNumber()); |
| | | billSave.setPayFeesTime(dto.getTBankFlow().getPayTime()); |
| | | billSave.setBankSerialNumber(bankflow!=null?bankflow.getBankSerialNumber():null); |
| | | billSave.setPayFeesTime(bankflow!=null?bankflow.getPayTime():DateUtils.dateToLocalDateTime(new Date())); |
| | | billSave.setVoucher(dto.getVoucher()); |
| | | billSave.setPayFeesType(2); |
| | | back = lockAndUpdateInfo(billSave, 2); |
| | |
| | | TFlowManagement save = new TFlowManagement(); |
| | | save.setPayType(3); |
| | | save.setPayer(dto.getPayer()); |
| | | save.setPayTime(dto.getTBankFlow().getPayTime()); |
| | | save.setBankSerialNumber(dto.getTBankFlow().getBankSerialNumber()); |
| | | save.setPayTime(bankflow!=null?bankflow.getPayTime():DateUtils.dateToLocalDateTime(new Date())); |
| | | save.setBankSerialNumber(bankflow!=null?bankflow.getBankSerialNumber():null); |
| | | save.setFlowType(dto.getPayType()==1?2:1); |
| | | save.setPaymentBillId(back.getId()); |
| | | save.setDeductionMoney(back.getDeductionMoney()); |