From a5c90895cbfb9ac69303971fec2afab4d02b3a28 Mon Sep 17 00:00:00 2001 From: jyx <1584081113@qq.com> Date: Mon, 7 Jan 2019 12:48:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=A4=E4=B8=AA=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E7=9A=84=E8=A7=84=E8=8C=83=EF=BC=8C=E4=B8=8A=E5=A1=91?= =?UTF-8?q?=E9=80=A0=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/circulator/service/CirService.java | 16 +++++++ .../circulator/service/EPAIR_CirService.java | 40 +++++++++++++++++ .../circulator/service/EPR_CirService.java | 43 +++++++++++++++++++ .../service/controller/NextCirController.java | 2 +- .../service/controller/SumCirController.java | 2 +- 5 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 demo/src/test/java/com/example/demo/circulator/service/CirService.java create mode 100644 demo/src/test/java/com/example/demo/circulator/service/EPAIR_CirService.java create mode 100644 demo/src/test/java/com/example/demo/circulator/service/EPR_CirService.java diff --git a/demo/src/test/java/com/example/demo/circulator/service/CirService.java b/demo/src/test/java/com/example/demo/circulator/service/CirService.java new file mode 100644 index 0000000..c3be9ef --- /dev/null +++ b/demo/src/test/java/com/example/demo/circulator/service/CirService.java @@ -0,0 +1,16 @@ +package com.example.demo.circulator.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; + +public abstract class CirService { + @PostConstruct + public void init(){} + + @Transactional //数据库与事物的一致性 + public double NextCirculator(long checkNum){return 0;} + public double SumCirculator(long productNum,double amount,int year){return 0;} + +} diff --git a/demo/src/test/java/com/example/demo/circulator/service/EPAIR_CirService.java b/demo/src/test/java/com/example/demo/circulator/service/EPAIR_CirService.java new file mode 100644 index 0000000..e93758b --- /dev/null +++ b/demo/src/test/java/com/example/demo/circulator/service/EPAIR_CirService.java @@ -0,0 +1,40 @@ +package com.example.demo.circulator.service; + +import com.example.demo.Dao.productMapper; +import com.example.demo.Dao.usageDateMapper; +import com.example.demo.bean.Product; +import com.example.demo.bean.UsageDate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; + +public class EPAIR_CirService extends CirService{ + @Autowired + private usageDateMapper usageDateMapper; + private productMapper productMapper; + + @Transactional //数据库与事物的一致性 + public double NextCirculator(long checkNum){ + UsageDate usageDate = usageDateMapper.selectUsageDateByCheckNum(checkNum); + int year = usageDate.getYear(); + double amount = usageDate.getAmount(); + long productNum = usageDate.getProductNum(); + + Product product = productMapper.selectProductByProductNum(productNum); + float intrate = product.getIntrate(); + intrate /= 12; + int month = year*12; + double rep = Math.pow((1+intrate),month)/(Math.pow((1+intrate),month)-1); + double next_principal_and_interest = rep * intrate * amount; + return next_principal_and_interest; + } + + public double SumCirculator(long productNum,double amount,int year){ + Product product = productMapper.selectProductByProductNum(productNum); + float intrate = product.getIntrate(); + double rep = Math.pow((1+intrate),year)/(Math.pow((1+intrate),year)-1); + double principal_and_interest = rep * intrate * amount * year; + return principal_and_interest; + } +} diff --git a/demo/src/test/java/com/example/demo/circulator/service/EPR_CirService.java b/demo/src/test/java/com/example/demo/circulator/service/EPR_CirService.java new file mode 100644 index 0000000..e47223e --- /dev/null +++ b/demo/src/test/java/com/example/demo/circulator/service/EPR_CirService.java @@ -0,0 +1,43 @@ +package com.example.demo.circulator.service; + +import com.example.demo.Dao.productMapper; +import com.example.demo.Dao.usageDateMapper; +import com.example.demo.bean.Product; +import com.example.demo.bean.UsageDate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; + +public class EPR_CirService extends CirService{ + @Autowired + private usageDateMapper usageDateMapper; + private productMapper productMapper; + + @Transactional //数据库与事物的一致性 + public double NextCirculator(long checkNum){ + UsageDate usageDate = usageDateMapper.selectUsageDateByCheckNum(checkNum); + int year = usageDate.getYear(); + double amount = usageDate.getAmount(); + long productNum = usageDate.getProductNum(); + + Product product = productMapper.selectProductByProductNum(productNum); + float intrate = product.getIntrate(); + double rep_amount = 0; + intrate /= 12; + int month = year*12; + double next_principal_and_interest = amount/month + (amount - rep_amount) * intrate; + return next_principal_and_interest; + } + + public double SumCirculator(long productNum,double amount,int year){ + Product product = productMapper.selectProductByProductNum(productNum); + float intrate = product.getIntrate(); + intrate /= 12; + int month = year * 12; + double first_principal_and_interest = amount/month + amount*intrate; + double last_principal_and_interest = amount/month + amount*(1-(month-1)/month)*intrate; + double principal_and_interest = (first_principal_and_interest + last_principal_and_interest)*month/2; + return principal_and_interest; + } +} diff --git a/demo/src/test/java/com/example/demo/circulator/service/controller/NextCirController.java b/demo/src/test/java/com/example/demo/circulator/service/controller/NextCirController.java index 91dd649..7b1e666 100644 --- a/demo/src/test/java/com/example/demo/circulator/service/controller/NextCirController.java +++ b/demo/src/test/java/com/example/demo/circulator/service/controller/NextCirController.java @@ -26,7 +26,7 @@ public class NextCirController { cirService = new EPR_CirService(); break; default: - System.out.println("not exit"); + System.out.println("not exit!!"); break; } double next_principal_and_intrate = cirService.NextCirculator(checkNum); diff --git a/demo/src/test/java/com/example/demo/circulator/service/controller/SumCirController.java b/demo/src/test/java/com/example/demo/circulator/service/controller/SumCirController.java index 64ac7d0..9b445ce 100644 --- a/demo/src/test/java/com/example/demo/circulator/service/controller/SumCirController.java +++ b/demo/src/test/java/com/example/demo/circulator/service/controller/SumCirController.java @@ -29,7 +29,7 @@ public class SumCirController { cirService = new EPR_CirService(); break; default: - System.out.println("not exit "); + System.out.println("not exit!!"); break; } double sum_principal_and_intrate = cirService.SumCirculator(productNum,amount,year);