From 8e66acfb8a6bea02c36158ab346a0035488dab82 Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Sun, 28 Apr 2024 18:09:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9B=B8=E5=85=B3,=E4=BF=A1=E7=94=A8=E5=8D=A1?= =?UTF-8?q?=E5=88=86=E6=9C=9F=E5=85=A5=E8=B4=A6=E4=BF=A1=E6=81=AF=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E5=85=A5=E8=B4=A6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/InstallmentHistoryDetailDto.java | 4 + .../ruoyi/job/service/impl/InvestJobImpl.java | 75 +++++++++++++++++-- .../invest/InstallmentHistoryDetailMapper.xml | 3 + ruoyi-modules/ruoyi-job/pom.xml | 1 + 4 files changed, 76 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/InstallmentHistoryDetailDto.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/InstallmentHistoryDetailDto.java index fae82fb..31311a2 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/InstallmentHistoryDetailDto.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/dto/InstallmentHistoryDetailDto.java @@ -54,4 +54,8 @@ public class InstallmentHistoryDetailDto implements Serializable @ApiModelProperty(value="开始日期") private String startDate; + /** 应还款日期 */ + @ApiModelProperty(value="应还款日期相等") + private String repaymentEqualDate; + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java index ab58701..2d74f9e 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/job/service/impl/InvestJobImpl.java @@ -2,18 +2,17 @@ package com.ruoyi.job.service.impl; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.IdWorker; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.invest.domain.AccountsDealRecord; import com.ruoyi.invest.domain.CreditCardBill; +import com.ruoyi.invest.domain.InstallmentHistoryDetail; import com.ruoyi.invest.domain.dto.AccountsDealRecordDto; import com.ruoyi.invest.domain.dto.BankCardLendDto; import com.ruoyi.invest.domain.dto.CreditCardBillDto; -import com.ruoyi.invest.domain.vo.AccountsDealRecordVo; -import com.ruoyi.invest.domain.vo.BankCardLendVo; -import com.ruoyi.invest.domain.vo.CreditCardBillVo; -import com.ruoyi.invest.mapper.AccountsDealRecordMapper; -import com.ruoyi.invest.mapper.AccountsMapper; -import com.ruoyi.invest.mapper.BankCardLendMapper; -import com.ruoyi.invest.mapper.CreditCardBillMapper; +import com.ruoyi.invest.domain.dto.InstallmentHistoryDetailDto; +import com.ruoyi.invest.domain.vo.*; +import com.ruoyi.invest.mapper.*; import com.ruoyi.job.service.IInvestJobService; import org.springframework.stereotype.Service; @@ -23,6 +22,7 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.concurrent.TimeUnit; /** * 生成数据 @@ -44,6 +44,9 @@ public class InvestJobImpl implements IInvestJobService @Resource private CreditCardBillMapper creditCardBillMapper; + @Resource + private InstallmentHistoryDetailMapper installmentHistoryDetailMapper; + /** * 生成数据 @@ -160,6 +163,64 @@ public class InvestJobImpl implements IInvestJobService SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 格式化日期为字符串 String formattedDate = sdf.format(currentDate); + InstallmentHistoryDetailDto installmentHistoryDetailDto=new InstallmentHistoryDetailDto(); + installmentHistoryDetailDto.setRepaymentEqualDate(formattedDate); + installmentHistoryDetailDto.setState("0"); + List historyDetailList=installmentHistoryDetailMapper.selectInstallmentHistoryDetailList(installmentHistoryDetailDto); + //修改名称加卡号 + for (InstallmentHistoryDetailVo installmentHistoryDetail : historyDetailList) { + installmentHistoryDetail.setPostingState("1"); + InstallmentHistoryDetail detail=new InstallmentHistoryDetail(); + detail.setUpdateBy(SecurityUtils.getUsername()); + detail.setUpdateTime(DateUtils.getNowDate()); + detail.setId(installmentHistoryDetail.getId()); + detail.setPostingState(installmentHistoryDetail.getPostingState()); + installmentHistoryDetailMapper.updateInstallmentHistoryDetail(detail); + //如果是信用卡分期 + if(installmentHistoryDetail.getType().equals("2")){ + //已入账 + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(installmentHistoryDetail.getRepaymentDate()); + Calendar cal2 = Calendar.getInstance(); + cal2.setTime(new Date()); + long diffInMillis = cal2.getTimeInMillis() - cal1.getTimeInMillis(); + int daysDiff = Long.valueOf(TimeUnit.MILLISECONDS.toDays(diffInMillis)).intValue(); + //入账日期小于一个月的 + if("1".equals(installmentHistoryDetail.getPostingState())&&daysDiff<31){ + + //信用卡账户余额计算 + AccountsVo creditAccount=accountsMapper.selectAccountsById(installmentHistoryDetail.getBankCardLendId()); + creditAccount.setBalance(creditAccount.getBalance()-installmentHistoryDetail.getInterest()); + creditAccount.setAvailableLimit(creditAccount.getBalance()+creditAccount.getCreditLimit()); + creditAccount.setUpdateTime(installmentHistoryDetail.getUpdateTime()); + accountsMapper.updateAccounts(creditAccount); + + //信用卡消费记录明细 + AccountsDealRecord creditDeal=new AccountsDealRecord(); + creditDeal.setTransferRecordId(installmentHistoryDetail.getId()); + creditDeal.setAccountId(creditAccount.getAccountId()); + creditDeal.setId(IdWorker.getId()); + //支出金额 + creditDeal.setAmount(installmentHistoryDetail.getInterest()); + //实时余额 + creditDeal.setCurrentBalance(creditAccount.getBalance()); + //1储蓄卡,2 信用卡,3 网贷,4 人情,5 投资账户 + creditDeal.setType("2"); + //1 收入,2 支出,3 转账,4 借贷 + creditDeal.setDealType("2"); + //分期利息支出 + creditDeal.setDealCategory("10"); + creditDeal.setName(creditAccount.getName()+"("+ StringUtils.getLastNumberChars(4,creditAccount.getCode()+")")); + creditDeal.setRemark("分期利息"); + creditDeal.setCreateBy(SecurityUtils.getUsername()); + creditDeal.setCreateTime(installmentHistoryDetail.getUpdateTime()); + accountsDealRecordMapper.insertAccountsDealRecord(creditDeal); + } + } + + } + + } diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml index 7f2e8f4..89e105c 100644 --- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml +++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml @@ -42,6 +42,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and #{repaymentDate}>=to_char(a.repayment_date, 'yyyy-MM-dd') + + and #{repaymentEqualDate}=to_char(a.repayment_date, 'yyyy-MM-dd') + and to_char(a.repayment_date, 'yyyy-MM-dd')>=#{startDate} diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index fd7dd42..691c54c 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -75,6 +75,7 @@ org.postgresql postgresql + 42.2.22