开发工具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();
}
}