Merge remote-tracking branch 'origin/master'

master
istars 7 years ago
commit f0da572eb6

@ -12,7 +12,7 @@ import java.util.List;
@Mapper
public interface auditMapper {
@Select("select * from audit where checkNum = #{checkNum}")
public Audit selectAudioByCheckNum(int checkNum);
public Audit selectAudioByCheckNum(long checkNum);
@Select("select * from audit")
public List<Audit> select();
@ -31,5 +31,5 @@ public interface auditMapper {
public void updateAudit(Audit audits);
@Delete("delete from audit where checkNum=#{checkNum}")
public void deleteAudit(int checkNum);
public void deleteAudit(long checkNum);
}

@ -21,4 +21,5 @@ public interface managerMapper {
// @Delete("delete from manager where managerNum=#{managerNum}")
// public void deleteManager(String managerNum);
}

@ -0,0 +1,17 @@
package com.example.demo.Dao;
import com.example.demo.bean.Repayment;
import com.example.demo.bean.Transaction;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
@Mapper
public interface paymentMapper {
@Select("select * from repayment where checkNum ={#checkNum}")
public Repayment selectPepaymentBycheckNum(long checkNum);
@Update("update repayment set repAmount = {#repAmount} ,repSum = {#repSum} where checkNum = {#checkNum}")
public void updateRepayment(Repayment repayment);
}

@ -9,7 +9,7 @@ import java.util.List;
@Mapper
public interface productHistroyMapper {
@Select("select * from producthistroy where productNum = #{productNum}")
public ProductHistroy selectAudioByCheckNum(int productNum);
public ProductHistroy selectAudioByCheckNum(long productNum);
@Select("select * from producthistroy")
public List<ProductHistroy> select();

@ -27,6 +27,7 @@ public interface productMapper {
"productDescription=#{productDescription},pictureAddress=#{pictureAddress}")
public void updateProduct(Product products);
@Delete("delete from product where productNum=#{productNum}")
public void deleteProduct(int productNum);
}

@ -8,22 +8,23 @@ import java.util.List;
@Mapper
public interface transMapper {
@Select("select * from transaction where transactionNum = #{transactionNum}")
public Transaction selectAudioByCheckNum(int transactionNum);
public Transaction selectAudioByCheckNum(long transactionNum);
@Select("select * from transaction")
public List<Transaction> select();
@Insert("insert into transaction(transactionNum, payer, payee," +
" transactionTime, transactionAmount, note)" +
" transactionTime, transactionAmount, note,checkNum)" +
" values (#{transactionNum},#{payer},#{payee},#{transactionTime},#{transactionAmount}," +
"#{note})")
"#{note},#{checkNum})")
public void addTransaction(Transaction transactions);
@Update("update audio set transactionNum=#{transactionNum},payer=#{payer}" +
@Update("update audit set transactionNum=#{transactionNum},payer=#{payer}" +
",payee=#{payee},transactionTime=#{transactionTime},transactionAmount=#{transactionAmount}," +
"note=#{note}")
public void updateTransaction(Transaction transactions);
@Delete("delete from audio where transactionNum=#{transactionNum}")
public void deleteTransaction(int transactionNum);
@Delete("delete from audit where transactionNum=#{transactionNum}")
public void deleteTransaction(long transactionNum);
}

@ -9,7 +9,7 @@ import java.util.List;
@Mapper
public interface usageDateMapper {
@Select("select * from usagedate where transactionNum = #{transactionNum}")
public UsageDate selectUsageDateByCheckNum(int checkNum);
public UsageDate selectUsageDateByCheckNum(long checkNum);
@Select("select * from usagedate")
public List<UsageDate> select();
@ -26,5 +26,6 @@ public interface usageDateMapper {
public void updateUsageDate(UsageDate usageDate);
@Delete("delete from usagedate where checkNum=#{checkNum}")
public void deleteUsageDate(int checkNum);
public void deleteUsageDate(long checkNum);
}

@ -8,7 +8,7 @@ import java.util.List;
@Mapper
public interface userMapper {
@Select("select * from user where userNum = #{userNum}")
public User selectUserByuserNum(int userNum);
public User selectUserByuserNum(long userNum);
@Select("select * from user")
public List<User> select();
@ -26,5 +26,5 @@ public interface userMapper {
public void updateUser(User users);
@Delete("delete from user where userNum=#{userNum}")
public void deleteUser(int userNum);
public void deleteUser(long userNum);
}

@ -12,17 +12,18 @@ import javax.persistence.*;
public class Audit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int checkNum;
private int userNum;
private long checkNum;
private long userNum;
private double amount;
private String applyTime;
private String bankAccount;
private int checkState;
private int contractNum;
private long checkState;
private long contractNum;
private short isSignContract;
private int productNum;
private long productNum;
private int year;
private int equation;
public Audit(){};
}

@ -14,5 +14,6 @@ public class Bank {
private String bankName;
private String contact;//联系方式
public Bank(){};
}

@ -14,15 +14,16 @@ import javax.persistence.Id;
public class Manager {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int managerNum;
private long managerNum;
private String managerName;
private String managerPwd;
private String managerRight;
private String telephoneNum;
public Manager(){};
public int getManagerNum() {
public long getManagerNum() {
return managerNum;
}

@ -14,7 +14,7 @@ import javax.persistence.Id;
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int productNum;
private long productNum;
private String productName;
private String category;
private float intrate;
@ -68,7 +68,7 @@ public class Product {
this.intrate = intrate;
}
public int getProductNum() {
public long getProductNum() {
return productNum;
}
@ -76,7 +76,8 @@ public class Product {
this.productName = productName;
}
public void setProductNum(int productNum) {
public void setProductNum(long productNum) {
this.productNum = productNum;
}
}

@ -15,9 +15,9 @@ import javax.persistence.Id;
public class ProductHistroy {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int productNum;
private long productNum;
private int bankNum;
private int managerNum;
private long managerNum;
private String productName;
private String category;
private float intrate;
@ -28,19 +28,19 @@ public class ProductHistroy {
public ProductHistroy(){};
public int getManagerNum() {
public long getManagerNum() {
return managerNum;
}
public void setManagerNum(int managerNum) {
public void setManagerNum(long managerNum) {
this.managerNum = managerNum;
}
public int getProductNum() {
public long getProductNum() {
return productNum;
}
public void setProductNum(int productNum) {
public void setProductNum(long productNum) {
this.productNum = productNum;
}
@ -52,6 +52,7 @@ public class ProductHistroy {
this.alterTime = alterTime;
}
public String getDeleteTime() {
return deleteTime;
}

@ -0,0 +1,16 @@
package com.example.demo.bean;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Entity;
@Getter
@Setter
@Entity
public class Repayment {
private long checkNum;
private double repAmount;
private double repSum;
}

@ -14,12 +14,20 @@ import javax.persistence.Id;
public class Transaction {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int transactionNum;
private String payer;
private String payee;
private long transactionNum;
private long payer;
private long payee;
private float transactionTime;
private float transactionAmount;
private String note;
private long checkNum;
public Transaction(){};
public Transaction(long checkNum,long payer,long payee,double transationAmount){
this.checkNum=checkNum;
this.payer = payer;
this.payee = payee;
this.transactionAmount=transactionNum;
}
}

@ -1,10 +1,12 @@
package com.example.demo.bean;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Entity;
@Getter
@Setter
@Entity
public class UsageDate {
private long checkNum;
@ -18,4 +20,5 @@ public class UsageDate {
public UsageDate(){};
private int equation;
}

@ -14,7 +14,7 @@ import javax.persistence.Id;
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int userNum;
private long userNum;
private String userName;
private String userPwd;
private String userRight;
@ -22,8 +22,9 @@ public class User {
private String idNum;
private String telephoneNum;
private String address;
private int isIdentify;
private String isIdentify;
private String registerTime;
public User(){};
}

@ -10,4 +10,5 @@ public class UserBankIdentify {
private String userName;
private String bankAccount;
private short bankAccountIdentify;
}

@ -16,25 +16,43 @@ public class EPAIR_CirService extends CirService{
@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;
try{
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;
double not_rep_amount = amount - rep_amount;
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;
}catch(Exception e){
e.printStackTrace();
}finally {
}
return -1;
}
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;
try{
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;
}catch(Exception e){
e.printStackTrace();
}finally {
}
return -1;
}
}

@ -1,8 +1,10 @@
package com.example.demo.circulator.service;
import com.example.demo.Dao.paymentMapper;
import com.example.demo.Dao.productMapper;
import com.example.demo.Dao.usageDateMapper;
import com.example.demo.bean.Product;
import com.example.demo.bean.Repayment;
import com.example.demo.bean.UsageDate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@ -12,32 +14,49 @@ import javax.annotation.PostConstruct;
public class EPR_CirService extends CirService{
@Autowired
private usageDateMapper usageDateMapper;
private paymentMapper paymentMapper;
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;
try{
UsageDate usageDate = usageDateMapper.selectUsageDateByCheckNum(checkNum);
Repayment repayment = paymentMapper.selectPepaymentBycheckNum(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 = repayment.getRepAmount();
intrate /= 12;
int month = year*12;
double next_principal_and_interest = amount/month + (amount - rep_amount) * intrate;
return next_principal_and_interest;
}catch(Exception e){
e.printStackTrace();
}finally {
}
return -1;
}
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;
try{
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;
}catch(Exception e){
e.printStackTrace();
}finally {
}
return -1;
}
}

@ -0,0 +1,41 @@
package com.example.demo.circulator.service;
import com.example.demo.Dao.paymentMapper;
import com.example.demo.Dao.transMapper;
import com.example.demo.Dao.usageDateMapper;
import com.example.demo.bean.Repayment;
import com.example.demo.bean.Transaction;
import com.example.demo.bean.UsageDate;
public class PayCirService {
private usageDateMapper usageDateMapper;
private paymentMapper paymentMapper;
private transMapper transMapper;
public int payAmountCirculator(long checkNum,double pay){
try{
Repayment repayment = paymentMapper.selectPepaymentBycheckNum(checkNum);
UsageDate usageDate= usageDateMapper.selectUsageDateByCheckNum(checkNum);
double rep_amount = repayment.getRepAmount();
long userNum = usageDate.getUserNum();
int bankNum = usageDate.getBankNum();
double amount = usageDate.getAmount();
int year = usageDate.getYear();
Transaction transaction = new Transaction(checkNum,userNum,bankNum,pay);
transMapper.addTransaction(transaction);
rep_amount = pay - amount/(year*12);
repayment.setRepAmount(rep_amount);
repayment.setRepSum(pay);
paymentMapper.updateRepayment(repayment);
return 1;
}catch(Exception e){
e.printStackTrace();
}finally {
}
return 0;
}
}

@ -30,7 +30,13 @@ public class NextCirController {
break;
}
double next_principal_and_intrate = cirService.NextCirculator(checkNum);
request.setAttribute("next",next_principal_and_intrate);
if(next_principal_and_intrate>=0){
request.setAttribute("next",next_principal_and_intrate);
}else{
return "/计算失败";
}
return "/next";
}
}

@ -0,0 +1,22 @@
package com.example.demo.circulator.service.controller;
import com.example.demo.circulator.service.PayCirService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class PayCirController {
PayCirService payCirService;
@PostMapping("/pay")
public String payAmountCir(long checkNum,double pay){
int result = payCirService.payAmountCirculator(checkNum,pay);
if(result==1){
return "/还款成功";
}else{
return"/还款失败";
}
}
}

@ -33,7 +33,13 @@ public class SumCirController {
break;
}
double sum_principal_and_intrate = cirService.SumCirculator(productNum,amount,year);
request.setAttribute("sum",sum_principal_and_intrate);
if(sum_principal_and_intrate>=0){
request.setAttribute("sum",sum_principal_and_intrate);
}else{
return "/计算失败";
}
return "/circulator";
}
}

Loading…
Cancel
Save