开发工具IDEA,数据库mysql5.7
源码获取:关注文末gongzhonghao,输入006领取下载链接
package com.bjpowernode.finance.controller;
import com.bjpowernode.finance.common.Msg;
import com.bjpowernode.finance.entity.FlowOfFunds;
import com.bjpowernode.finance.entity.FundProduct;
import com.bjpowernode.finance.entity.UserFundProduct;
import com.bjpowernode.finance.service.FlowOfFundsService;
import com.bjpowernode.finance.service.FundProductService;
import com.bjpowernode.finance.service.UserFundProductService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
@Controller
public class FundProductController {
@Autowired
FundProductService fundProductService;
@Autowired
UserFundProductService userFundProductService;
@Autowired
FlowOfFundsService flowOfFundsService;
/**
* 跳转到基金理财界面
* @param model
* @return
*/
@RequestMapping("/user/finance/toFundProduct.html")
public String toFundProduct(Model model){
List list = fundProductService.selectAllFundProduct();
model.addAttribute("fundProductList",list);
model.addAttribute("pageTopBarInfo","基金理财界面");
model.addAttribute("activeUrl1","financeActive");
model.addAttribute("activeUrl2","fundProductActive");
return "/user/finance/fundproduct";
}
/**
* 购买基金理财产品
* @param fundProductId
* @param userId
* @return
*/
@PostMapping("/user/buyFundProduct")
@ResponseBody
public Msg buyFundProduct(@RequestParam("fundProductId")Integer fundProductId,
@RequestParam("userId") Integer userId ){
UserFundProduct ufp = new UserFundProduct();
ufp.setUserid(userId);
ufp.setFundid(fundProductId);
ufp.setStarttime(new Date());
FundProduct fp = fundProductService.selectFundProductById(fundProductId);
ufp.setAveryield(fp.getMonthlygrowth());
ufp.setProfit(fp.getLeastmoney().multiply(fp.getMonthlygrowth()));
ufp.setStatus(1);
Integer result = userFundProductService.insertUserFundProduct(ufp);
if (result==1){
FlowOfFunds fof = new FlowOfFunds();
fof.setUserid(userId);
fof.setFlowmoney(fp.getLeastmoney());
fof.setType(1);
fof.setSource(fp.getFunddesc());
fof.setCreatetime(new Date());
fof.setFunddesc("无");
flowOfFundsService.insertFlowOfFunds(fof);
return Msg.success();
}else {
return Msg.fail();
}
}
/**
* 跳转到基金理财管理界面(管理员)
* @param pageNum
* @param pageSize
* @param model
* @param session
* @return
*/
@GetMapping("/admin/finance/toFundProduct.html")
public String toFundProduct(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
Model model, HttpSession session) {
PageHelper.startPage(pageNum, pageSize);
List list = fundProductService.selectAllFundProduct();
PageInfo pageInfo = new PageInfo(list, 5);
model.addAttribute("finacnePageInfo",pageInfo);
model.addAttribute("financeList",list);
model.addAttribute("activeUrl1", "financeActive");
model.addAttribute("activeUrl2", "fundproductActive");
model.addAttribute("pageTopBarInfo", "基金理财管理界面");
return "/admin/finance/fundproduct";
}
/**
* 新增基金理财产品
*
* @return
*/
@PostMapping("/admin/addFundProduct")
@ResponseBody
public Msg addFundProduct(FundProduct fundProduct){
Integer result = fundProductService.insertFundProduct(fundProduct);
if (result==1){
return Msg.success();
}
return Msg.fail();
}
/**
* 更新时回显信息
* @param id
* @return
*/
@GetMapping("/admin/getFundProductInfoById/{id}")
@ResponseBody
public Msg getFundProductInfoById(@PathVariable("id") Integer id){
FundProduct fundProduct = fundProductService.selectFundProductById(id);
//System.out.println(fundProduct.getFunddesc());
return Msg.success().add("fundProduct",fundProduct);
}
/**
* 更新
* @param id
*
* @return
*/
@PutMapping("/admin/updateFundProduct/{id}")
@ResponseBody
public Msg updateFundProduct(@PathVariable("id") Integer id,FundProduct fundProduct){
fundProduct.setId(id);
Integer result = fundProductService.updateFundProduct(fundProduct);
if (result==1){
return Msg.success();
}
return Msg.fail();
}
/**
* 删除
* @param id
* @return
*/
@DeleteMapping("/admin/deleteFundProductById/{id}")
@ResponseBody
public Msg deleteFundProductById(@PathVariable("id") Integer id){
Integer result = fundProductService.deleteFundProductById(id);
if (result==1){
return Msg.success();
}
return Msg.fail();
}
}
package com.bjpowernode.finance.controller;
import com.bjpowernode.finance.common.Msg;
import com.bjpowernode.finance.entity.Admin;
import com.bjpowernode.finance.entity.Info;
import com.bjpowernode.finance.entity.Loan;
import com.bjpowernode.finance.entity.User;
import com.bjpowernode.finance.service.InfoService;
import com.bjpowernode.finance.service.LoanService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpSession;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Controller
public class LoanController {
@Autowired
LoanService loanService;
@Autowired
InfoService infoService;
/**
* 跳转到网贷申请界面
*
* @param model
* @return
*/
@RequestMapping("/user/tools/toApplyLoan.html")
public String toApplyLoan(Model model) {
model.addAttribute("pageTopBarInfo", "网贷申请界面");
model.addAttribute("activeUrl1", "toolsActive");
model.addAttribute("activeUrl2", "applyLoanActive");
return "/user/tools/applyloan";
}
/**
* 跳转到我的借贷界面
*
* @param model
* @return
*/
@RequestMapping("/user/personal/toMyLoan.html")
public String toMyLoan(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
Model model, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
PageHelper.startPage(pageNum, pageSize);
List list = loanService.selectLoanByLoanId(loginUser.getId());
PageInfo pageInfo = new PageInfo(list, 5);
model.addAttribute("myLoansPageInfo", pageInfo);
model.addAttribute("loansList", list);
model.addAttribute("pageTopBarInfo", "我的借贷界面");
model.addAttribute("activeUrl1", "personalActive");
model.addAttribute("activeUrl2", "myLoanActive");
return "/user/personal/myloan";
}
/**
* 新增网贷申请
*
* @param amout
* @param term
* @param rate
* @param session
* @return
*/
@PostMapping("/user/applyLoan")
@ResponseBody
public Msg applyLoan(@RequestParam("amout") BigDecimal amout,
@RequestParam("term") Integer term,
@RequestParam("rate") BigDecimal rate, HttpSession session) {
User loginUser = (User) session.getAttribute("loginUser");
Loan loan = new Loan();
loan.setLoanid(loginUser.getId());
loan.setLoantime(new Date());
loan.setAmount(amout);
loan.setTerm(term);
loan.setRate(rate);
loan.setApplystatus(0);
loan.setLoanstatus(0);
Integer result = loanService.insertLoan(loan);
if (result == 1) {
return Msg.success();
}
return Msg.fail();
}
/**
* 还款
*
* @param id
* @return
*/
@PutMapping("/user/repayment/{id}")
@ResponseBody
public Msg repayment(@PathVariable("id") Integer id) {
Loan loan = loanService.selectLoanById(id);
loan.setLoanstatus(2);
Integer result = loanService.updateLoan(loan);
if (result == 1) {
return Msg.success();
}
return Msg.fail();
}
/**
* 跳转到网贷审核(管理员)
*
* @param pageNum
* @param pageSize
* @param model
* @param session
* @return
*/
@GetMapping("/admin/loan/toLoanexam.html")
public String toLoanexam(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
Model model, HttpSession session) {
// 引入PageHelper插件,在查询之前调用startPage方法,传入页码以及每页大小
PageHelper.startPage(pageNum, pageSize);
List list = loanService.selectAllLoanByApplyStatusAsc();
// 使用PageInfo包装查询后的结果,并交给页面处理
// PageInfo封装了详细的分页信息,包括我们查询出来的数据,还可以传入连续显示的页数(5)
PageInfo pageInfo = new PageInfo(list, 5);
model.addAttribute("loanPageInfo", pageInfo);
model.addAttribute("loanList", list);
model.addAttribute("activeUrl1", "loanActive");
model.addAttribute("activeUrl2", "loanexamActive");
model.addAttribute("pageTopBarInfo", "网贷审核界面");
return "admin/loan/loanexam";
}
/**
* 审核通过
*
* @param id
* @return
*/
@PutMapping("/loan/passApplyStatus/{id}")
@ResponseBody
public Msg passApplyStatus(@PathVariable("id") Integer id, HttpSession session) {
Admin admin = (Admin) session.getAttribute("loginAdmin");
Loan loan = loanService.selectLoanById(id);
loan.setExamineid(admin.getId());
loan.setApplystatus(2);
Integer result = loanService.updateLoan(loan);
if (result == 1) {
Info info = new Info();
info.setSendid(admin.getId());
info.setReceiveid(loan.getLoanid());
info.setCreatetime(new Date());
info.setTitle("网贷审核通过");
info.setInfodesc("用户" + loan.getUser().getUsername() + "的" + loan.getAmount() + "元网贷申请审核通过!审核人为:" + admin.getUsername());
info.setStatus(0);
infoService.insertInfo(info);
return Msg.success();
}
return Msg.fail();
}
/**
* 审核不通过
*
* @param id
* @return
*/
@PutMapping("/loan/notPassApplyStatus/{id}")
@ResponseBody
public Msg notPassApplyStatus(@PathVariable("id") Integer id, HttpSession session) {
Admin admin = (Admin) session.getAttribute("loginAdmin");
Loan loan = loanService.selectLoanById(id);
loan.setExamineid(admin.getId());
loan.setApplystatus(1);
Integer result = loanService.updateLoan(loan);
if (result == 1) {
Info info = new Info();
info.setSendid(admin.getId());
info.setReceiveid(loan.getUser().getId());
info.setCreatetime(new Date());
info.setTitle("网贷审核未通过");
info.setInfodesc("用户" + loan.getUser().getUsername() + "的" + loan.getAmount() + "元网贷申请审核未通过!审核人为:" + admin.getUsername());
info.setStatus(0);
infoService.insertInfo(info);
return Msg.success();
}
return Msg.fail();
}
/**
* 跳转到网贷信息界面(管理员)
*
* @param pageNum
* @param pageSize
* @param model
* @param session
* @return
*/
@GetMapping("/admin/loan/toLoaninfo.html")
public String toLoaninfo(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
Model model, HttpSession session) {
// 引入PageHelper插件,在查询之前调用startPage方法,传入页码以及每页大小
PageHelper.startPage(pageNum, pageSize);
List list = loanService.selectAllExamedLoan();
// 使用PageInfo包装查询后的结果,并交给页面处理
// PageInfo封装了详细的分页信息,包括我们查询出来的数据,还可以传入连续显示的页数(5)
PageInfo pageInfo = new PageInfo(list, 5);
model.addAttribute("loanPageInfo", pageInfo);
model.addAttribute("loanList", list);
model.addAttribute("activeUrl1", "loanActive");
model.addAttribute("activeUrl2", "loaninfoActive");
model.addAttribute("pageTopBarInfo", "网贷信息界面");
return "admin/loan/loaninfo";
}
@PutMapping("/loan/remindPay/{id}")
@ResponseBody
public Msg remindPay(@PathVariable("id") Integer id, HttpSession session) {
Admin admin = (Admin) session.getAttribute("loginAdmin");
Loan loan = loanService.selectLoanById(id);
Info info = new Info();
info.setSendid(admin.getId());
info.setReceiveid(loan.getUser().getId());
info.setCreatetime(new Date());
info.setTitle("还款通知");
info.setInfodesc("用户" + loan.getUser().getUsername() + "申请的" + loan.getAmount() + "元网贷该还款了!该提醒发送人为:" + admin.getUsername());
info.setStatus(0);
Integer result = infoService.insertInfo(info);
if (result == 1) {
return Msg.success();
}
return Msg.fail();
}
}
Original: https://blog.csdn.net/qq_35334787/article/details/127812545
Author: IT教程资源-
Title: (免费分享)基于springboot财务管理系统
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/652913/
转载文章受原作者版权保护。转载请注明原作者出处!