From b0b9a8f3c2840d25c4cfe336bbefaaa56e11b69f Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 13 二月 2025 14:31:51 +0800 Subject: [PATCH] 小程序登录 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java | 42 ++++++++++++++++++++++++++++-------------- 1 files changed, 28 insertions(+), 14 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java index 05076e9..023d435 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/task/TaskUtil.java @@ -51,17 +51,16 @@ long hours = ChronoUnit.HOURS.between(payableFeesTime, now); long l = hours / 72; if (l>0){ - // 计算每天租金 - long days = ChronoUnit.DAYS.between(tBill.getStartTime(),tBill.getEndTime()); - BigDecimal everyDayMoney = tBill.getPayableFeesMoney().divide(new BigDecimal(days), 2, BigDecimal.ROUND_DOWN); // 违约金比例 BigDecimal proportion = contract.getProportion(); - // 预期x天后的违约金 - BigDecimal money = everyDayMoney.multiply(proportion).multiply(new BigDecimal(l)); - tBill.setPayableFeesPenalty(money); + // 应缴违约金 + BigDecimal money = tBill.getOutstandingMoney().multiply(proportion); + TBill changeBill = new TBill(); + changeBill.setId(tBill.getId()); + changeBill.setPayableFeesPenalty(money); + billService.lockAndUpdateInfo(changeBill,2); } } - billService.updateBatchById(list); } catch (Exception e) { e.printStackTrace(); @@ -148,6 +147,7 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); rentBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + rentBill.setOutstandingMoney(rentBill.getPayableFeesMoney()); if (contract.getFirstPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12).isAfter(contract.getEndTime())){ rentBill.setEndTime(contract.getFirstPayTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12)); }else{ @@ -162,6 +162,8 @@ // 不走递增递减 long allDays = ChronoUnit.DAYS.between(contract.getFirstPayTime(), rentBill.getEndTime()); rentBill.setPayableFeesMoney(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(allDays))); + rentBill.setOutstandingMoney(rentBill.getPayableFeesMoney()); + } // 租金账单 bills.add(rentBill); @@ -170,6 +172,8 @@ depositBill.setContractId(contract.getId()); depositBill.setContractNumber(contract.getContractNumber()); depositBill.setPayableFeesMoney(contract.getDeposit()); + depositBill.setOutstandingMoney(depositBill.getPayableFeesMoney()); + depositBill.setPayableFeesTime(firstPayTime); depositBill.setPayFeesStatus("1"); depositBill.setBillType("2"); @@ -255,6 +259,8 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + }else{ // 之前已经涨、跌过租金了 需要判断周期是否还需要再涨、跌 if ((LocalDateTime.now().getYear() - contract.getChangeTime().getYear())%tContractRentType.getCycleTime()==0){ @@ -298,6 +304,8 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + }else{ // 不涨租金 用上次的 // 租金递增递减的时长 天 @@ -334,6 +342,8 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + } } @@ -341,6 +351,8 @@ }else{ long allDays = ChronoUnit.DAYS.between(beforeBill.getEndTime(), contract.getEndTime()); tBill.setPayableFeesMoney(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(allDays))); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + } tBill.setContractNumber(contract.getContractNumber()); if (beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12).getDayOfMonth()<=15){ @@ -443,6 +455,8 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + }else{ // 之前已经涨、跌过租金了 需要判断周期是否还需要再涨、跌 if ((LocalDateTime.now().getYear() - contract.getChangeTime().getYear())%tContractRentType.getCycleTime()==0){ @@ -486,6 +500,8 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + }else{ // 不涨租金 用上次的 // 租金递增递减的时长 天 @@ -522,6 +538,8 @@ originalMoney=originalMoney.add(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN)) .multiply(new BigDecimal(originalDays)); tBill.setPayableFeesMoney(contractRentTypeMoney.add(originalMoney)); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + } } @@ -531,6 +549,8 @@ beforeBill.getEndTime().plusMonths(1):contract.getPayType().equals("2")? beforeBill.getEndTime().plusMonths(3):beforeBill.getEndTime().plusMonths(12)).with(TemporalAdjusters.lastDayOfMonth())); tBill.setPayableFeesMoney(contract.getMonthRent().divide(new BigDecimal(30), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(allDays))); + tBill.setOutstandingMoney(tBill.getPayableFeesMoney()); + } tBill.setContractNumber(contract.getContractNumber()); if (beforeBill.getEndTime().plusMonths(contract.getPayType().equals("1")? 1:contract.getPayType().equals("2")? 3:12).getDayOfMonth()<=15){ @@ -546,13 +566,7 @@ tBill.setEndTime(contract.getEndTime()); bills.add(tBill); } - tBill.setPayableFeesMoney(contract.getMonthRent().multiply(new BigDecimal("3"))); - tBill.setPayableFeesTime(LocalDateTime.now().withHour(0).withMinute(0).withSecond(0)); - tBill.setPayFeesStatus("1"); - tBill.setBillType("1"); - tBill.setStartTime(beforeBill.getEndTime().plusMonths(1).with(TemporalAdjusters.firstDayOfMonth())); - tBill.setEndTime(beforeBill.getEndTime().plusMonths(1).with(TemporalAdjusters.lastDayOfMonth())); - bills.add(tBill); + } } billService.saveBatch(bills); -- Gitblit v1.7.1