From 3add1fc53a6d4c9d738fe0648a5e54648f2ada29 Mon Sep 17 00:00:00 2001 From: jyx <1584081113@qq.com> Date: Mon, 7 Jan 2019 12:47:15 +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 --- .../circulator/service/CirculatorService.java | 70 ------------------- .../service/controller/NextCirController.java | 14 ++-- .../service/controller/SumCirController.java | 15 ++-- 3 files changed, 15 insertions(+), 84 deletions(-) delete mode 100644 demo/src/test/java/com/example/demo/circulator/service/CirculatorService.java diff --git a/demo/src/test/java/com/example/demo/circulator/service/CirculatorService.java b/demo/src/test/java/com/example/demo/circulator/service/CirculatorService.java deleted file mode 100644 index 97beeee..0000000 --- a/demo/src/test/java/com/example/demo/circulator/service/CirculatorService.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.example.demo.circulator.service; - -import com.example.demo.Dao.auditMapper; -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 CirculatorService { - @Autowired - private com.example.demo.Dao.usageDateMapper usageDateMapper; - private productMapper productMapper; - - @PostConstruct - public void init(){} - - @Transactional //数据库与事物的一致性 - public double Equal_principal_and_interest_repaymentNextCirculator(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 Equal_principal_and_interest_repaymentSumCirculator(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; - } - - public double Equal_principal_repaymentNextCirculator(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 Equal_principal_repaymentSumCirculator(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 4fff0f3..91dd649 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 @@ -1,7 +1,8 @@ package com.example.demo.circulator.service.controller; -import com.example.demo.circulator.service.CirculatorService; -import org.springframework.beans.factory.annotation.Autowired; +import com.example.demo.circulator.service.CirService; +import com.example.demo.circulator.service.EPAIR_CirService; +import com.example.demo.circulator.service.EPR_CirService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -11,25 +12,24 @@ import javax.servlet.http.HttpServletResponse; @Controller public class NextCirController { //@Autowired - private CirculatorService circulatorService; + private CirService cirService; @GetMapping("/cir/next") public String nextCirculator(HttpServletRequest request,HttpServletResponse response){ long checkNum = (Long)request.getAttribute("checkNum"); int equation = (Integer)request.getAttribute("equation"); - double next_principal_and_intrate = 0; switch (equation){ case 1: - next_principal_and_intrate = circulatorService.Equal_principal_and_interest_repaymentNextCirculator(checkNum); + cirService = new EPAIR_CirService(); break; case 2: - next_principal_and_intrate = circulatorService.Equal_principal_repaymentNextCirculator(checkNum); + cirService = new EPR_CirService(); break; default: System.out.println("not exit"); break; } - next_principal_and_intrate = circulatorService.Equal_principal_and_interest_repaymentNextCirculator(checkNum); + double next_principal_and_intrate = cirService.NextCirculator(checkNum); request.setAttribute("next",next_principal_and_intrate); return "/next"; } 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 0645151..64ac7d0 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 @@ -1,7 +1,8 @@ package com.example.demo.circulator.service.controller; -import com.example.demo.circulator.service.CirculatorService; -import org.springframework.beans.factory.annotation.Autowired; +import com.example.demo.circulator.service.CirService; +import com.example.demo.circulator.service.EPAIR_CirService; +import com.example.demo.circulator.service.EPR_CirService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -11,7 +12,7 @@ import javax.servlet.http.HttpServletResponse; @Controller public class SumCirController { //@Autowired - private CirculatorService circulatorService; + private CirService cirService; @GetMapping("/cir/sum") public String SumCirculator(HttpServletRequest request, HttpServletResponse response){ @@ -20,18 +21,18 @@ public class SumCirController { int year = Integer.parseInt(request.getParameter("year")); int equation = Integer.parseInt(request.getParameter("equation")); - double sum_principal_and_intrate = 0; switch (equation){ case 1: - sum_principal_and_intrate = circulatorService.Equal_principal_and_interest_repaymentSumCirculator(productNum,amount,year); + cirService = new EPAIR_CirService(); break; case 2: - sum_principal_and_intrate = circulatorService.Equal_principal_repaymentSumCirculator(productNum,amount,year); + 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); request.setAttribute("sum",sum_principal_and_intrate); return "/circulator"; }