// 活期理财利息计算 开始
List<Tender> tlist = null;
CurrentfinanceService sss = new CurrentfinanceServiceImpl();
try {
tlist = sss.findTenders(1); // 所有是活期理财tender表集合,计算当前利率与利率是否上限,用户投标记录表
Moneycount moneycount = null; // 当前会员的moneycount表,计算实时本金与实时利息,用户资金表
if (tlist.size() != 0) { // 判断是否有活期理财标,如有,则继续
for (Tender tender : tlist) { // 循环遍历tender集合,计算每一个活期理财标的利息,并计算是否到达利率上限
moneycount = sss.findMoneycount(tender.getUservip()
.getUserId());
moneycount.setRealInterest(Double
.valueOf(tender.getMoney()).doubleValue()
* Double.valueOf(tender.getcIntere()).doubleValue()
+ Double.valueOf(moneycount.getRealInterest())
.doubleValue()); // 计算每日利息
boolean con = sss.updateMoneycount(moneycount);
System.out.println(con ? "投资标号为" + tender.getTenderId()
+ "计算每日利息成功" : "投资标号为" + tender.getTenderId()
+ "计算每日利息失败");
}
}
} catch (Exception e) {
e.printStackTrace();
}
// 活期理财利息处理结束
System.out.println("活期理财利息处理结束");
System.out.println("活期理财利息处理结束时间::" + sdf.format(new Date()));
try {
// 计算利率开始
for (Tender tender : tlist) { // 循环遍历tender集合,计算每一个活期理财标的利息,并计算是否到达利率上限
if (tender.getInterestrate() == 0) { // 判断是否利率上限,若为0,则继续
int a = daysBetween(new Date(tender.getTenderTime()
.getTime()), sdf.parse(da)); // 计算投资天数
if (a % 30 == 0) { // 判断是否间隔一个月
if (tender.getcIntere() < tender.getLssuing()
.getInterestratecap()) { // 判断如果当前利率小于利率上限,则继续
if ((tender.getcIntere() + tender.getLssuing()
.getMincreaseamplitude()) < tender
.getLssuing().getInterestratecap()) { // 判断如果当前利率加每月增加利率小于利率上限,则继续,否则将当前利率更新为利率上限
tender.setcIntere(tender.getcIntere()
+ tender.getLssuing()
.getMincreaseamplitude()); // 当前利率=当前利率加每月增加利率
} else {
tender.setcIntere(tender.getLssuing()
.getInterestratecap()); // 当前利率=利率上限
tender.setInterestrate(1); // 利率上限状态为1
}
} else { // 判断如果当前利率小于利率上限,若否,则更改是否利率上限状态为1
tender.setInterestrate(1);
}
boolean con = sss.updateTender(tender);
System.out.println(con ? "更新标号为" + tender.getTenderId()
+ "利率成功" : "更新标号为" + tender.getTenderId()
+ "利率失败");
}
}
}
// 计算利率结束
System.out.println("计算利率结束");
} catch (Exception e) {
e.printStackTrace();
}
// 活期理财利率处理结束
System.out.println("活期理财利率处理结束");
System.out.println("活期理财利率处理结束时间:" + sdf.format(new Date()));
活期理财每日计算利率
最新推荐文章于 2021-01-16 23:08:59 发布