活期理财每日计算利率

// 活期理财利息计算 开始
		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()));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值