Javaweb家庭理财管理系统(SSM+layui+Mysql)
源码获取:私信博主
项目介绍
本系统的业务包括用户登录、用户管理、资金账户、收入管理、支出管理、资金分布、资金分析、理财预测。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7等版本均可;
技术栈
1. 后端:Spring springmvc mybatis
2. 前端:JSP+layui+css+html
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,配置tomcat,
3. 将项目中WebRoot/WEB-INF/applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
4.运行成功后,在浏览器中输入:http://localhost:8080/money
账号密码:admin/admin




资金账户控制层:
@Controller
@RequestMapping("/account")
public class AccountController extends BaseController{
// Servrice start
@Inject //自动注入,不需要生成set方法了。
private AccountService accountService;
@RequestMapping("list")
public String list(Model model, Account account, String pageNow) {
return Common.BACKGROUND_PATH+"/account/list";
}
@ResponseBody
@RequestMapping("queryAccName")
public Map<String, Object> queryAccName() {
Map<String, Object> map = new HashMap<String, Object>();
List<Account> aaa= accountService.queryAccName();
map.put("queryAccName", aaa);
return map;
}
@ResponseBody
@RequestMapping("querySumMoney")
public Map<String, Object> querySumMoney(Pages pages, String accTimeS){
return QueryUtil.formatMap(accountService.querySumMoney(pages, accTimeS));
}
/**
* @param model
* 存放返回界面的model
* @return
*/
@ResponseBody
@RequestMapping("query")
public Map<String, Object> query(Pages pages, Account account){
return QueryUtil.formatMap(accountService.query(pages, account));
}
/**
* 保存数据
*
* @param model
* @param videoType
* @return
* @throws Exception
*/
@RequestMapping("add")
@ResponseBody
public Map<String, Object> add(Account account) {
Map<String, Object> map = new HashMap<String, Object>();
try {
/*SimpleDateFormat df = new SimpleDateFormat("yyyy-MM");
account.setAccTimeS(df.format(new Date()));
List<Account> list = accountService.queryByCondition(account);
if(list.size() > 0){
map.put("flag", "1");
}else{
accountService.add(account);
map.put("flag", "true");
}*/
accountService.add(account);
map.put("flag", "true");
} catch (Exception e) {
map.put("flag", "false");
}
return map;
}
资金支出控制层:
@Controller
@RequestMapping("/disburse")
public class DisburseController extends BaseController{
// Servrice start
@Inject //自动注入,不需要生成set方法了。
private DisburseService disburseService;
@Inject //自动注入,不需要生成set方法了。
private IncomeService incomeService;
@Inject //自动注入,不需要生成set方法了。
private AccountService accountService;
/**
* 加载图表
* @return
*/
@RequestMapping("getChartCount")
@ResponseBody
public Map<String, Object> getChartCount(String time,Model model) {
Map<String, Object> map = new HashMap<String, Object>();
try{
List<Income> Income= incomeService.queryInMon(time);
List<Disburse> Disburse=disburseService.queryOutMon(time);
List<Account> Account=accountService.queryMonSumOutAndIn();
map.put("Income", Income);
map.put("Account", Account);
map.put("Disburse", Disburse);
map.put("flag", "true");
} catch (Exception e) {
map.put("flag", "false");
e.printStackTrace();
}
return map;
}
/**
* @zhangjianbao.java@foxmail.com
* @return
*/
@RequestMapping("list")
public String list(Model model, Disburse disburse, String pageNow) {
return Common.BACKGROUND_PATH+"/disburse/list";
}
/**
* @param model
* 存放返回界面的model
* @return
*/
@ResponseBody
@RequestMapping("query")
public Map<String, Object> query(Pages pages, Disburse disburse){
return QueryUtil.formatMap(disburseService.query(pages, disburse));
}
/**
* @param model
* 存放返回界面的model
* @return
*/
@ResponseBody
@RequestMapping("queryMon")
public Map<String, Object> queryMon(Pages pages, Disburse disburse){
return QueryUtil.formatMap(disburseService.queryMon(pages, disburse));
}
/**
* 保存数据
*
* @param model
* @param videoType
* @return
* @throws Exception
*/
@RequestMapping("add")
@ResponseBody
public Map<String, Object> add(Disburse disburse) {
Map<String, Object> map = new HashMap<String, Object>();
try {
HomeUser homeUser = ShiroUtils.getCurrentUser();
disburse.setUserId(homeUser.getGuid());
disburse.setFullName(homeUser.getFullName());
disburseService.add(disburse);
map.put("flag", "true");
} catch (Exception e) {
map.put("flag", "false");
}
return map;
}
/**
* 跑到新增界面
*
* @param model
* @return
*/
@RequestMapping("addUI")
public String addUI(Model model, Disburse disburse) {
String id = disburse.getGuid();
if(StringUtils.isEmpty(id)){
return Common.BACKGROUND_PATH + "homeHinance/disburse/addDisburse";
}else{
disburse = disburseService.getById(id);
model.addAttribute("disburse", disburse);
return Common.BACKGROUND_PATH + "homeHinance/disburse/addDisburse";
}
}
/**
* 跑到新增界面
*
* @param model
* @return
*/
@RequestMapping("editUI")
public String editUI(Model model,String disburseId) {
Disburse disburse = disburseService.getById(disburseId);
model.addAttribute("disburse", disburse);
return Common.BACKGROUND_PATH+"/disburse/edit";
}
/**
* 验证账号是否存在
* @author gangtong
* Email:zhangjianbao.java@foxmail.com
* date:2014-2-19
* @param name
* @return
*/
@RequestMapping("isExist")
@ResponseBody
public boolean isExist(String name){
Disburse disburse = disburseService.isExist(name);
if(disburse == null){
return true;
}else{
return false;
}
}
/**
* 删除
*
* @param model
* @param videoTypeId
* @return
* @throws Exception
*/
@ResponseBody
@RequestMapping("deleteById")
public Map<String, Object> deleteById(Model model, String ids) {
Map<String, Object> map = new HashMap<String, Object>();
try {
String id[] = ids.split(",");
for (String string : id) {
if(!Common.isEmpty(string)){
disburseService.delete(string);
}
}
map.put("flag", "true");
} catch (Exception e) {
map.put("flag", "false");
}
return map;
}
资金收入控制层:
@Controller
@RequestMapping("/income")
public class IncomeController extends BaseController{
// Servrice start
@Inject //自动注入,不需要生成set方法了。
private IncomeService incomeService;
/**
* @zhangjianbao.java@foxmail.com
* @return
*/
@RequestMapping("list")
public String list(Model model, Income income, String pageNow) {
return Common.BACKGROUND_PATH+"/income/list";
}
/**
* @param model
* 存放返回界面的model
* @return
*/
@ResponseBody
@RequestMapping("query")
public Map<String, Object> query(Pages pages, Income income){
return QueryUtil.formatMap(incomeService.query(pages, income));
}
/**
* @param model
* 存放返回界面的model
* @return
*/
@ResponseBody
@RequestMapping("queryMon")
public Map<String, Object> queryMon(Pages pages, Income income){
return QueryUtil.formatMap(incomeService.queryMon(pages, income));
}
/**
* @param model
* 存放返回界面的model
* @return
*/
@ResponseBody
@RequestMapping("queryForecast")
public Map<String, Object> queryForecast(Pages pages,String inTimeS){
return QueryUtil.formatMap( incomeService.queryForecast(pages,inTimeS));
}
@RequestMapping("querySum")
@ResponseBody
public List<Income> querySum(){
List<Income> list= incomeService.querySum();
return list;
}
/**
* 保存数据
*
* @param model
* @param videoType
* @return
* @throws Exception
*/
@RequestMapping("add")
@ResponseBody
public Map<String, Object> add(Income income) {
Map<String, Object> map = new HashMap<String, Object>();
try {
HomeUser homeUser = ShiroUtils.getCurrentUser();
income.setUserId(homeUser.getGuid());
income.setFullName(homeUser.getFullName());
incomeService.add(income);
map.put("flag", "true");
} catch (Exception e) {
map.put("flag", "false");
}
return map;
}
/**
* 跑到新增界面
*
* @param model
* @return
*/
@RequestMapping("addUI")
public String addUI(Model model,Income income) {
String id = income.getGuid();
if(StringUtils.isEmpty(id)){
return Common.BACKGROUND_PATH + "homeHinance/income/addIncome";
}else{
income = incomeService.getById(id);
model.addAttribute("income", income);
return Common.BACKGROUND_PATH + "homeHinance/income/addIncome";
}
}
/**
* 跑到新增界面
*
* @param model
* @return
*/
@RequestMapping("editUI")
public String editUI(Model model,String incomeId) {
Income income = incomeService.getById(incomeId);
model.addAttribute("income", income);
return Common.BACKGROUND_PATH+"/income/edit";
}
/**
* 验证账号是否存在
* @author gangtong
* Email:zhangjianbao.java@foxmail.com
* date:2014-2-19
* @param name
* @return
*/
@RequestMapping("isExist")
@ResponseBody
public boolean isExist(String name){
Income income = incomeService.isExist(name);
if(income == null){
return true;
}else{
return false;
}
}
/**
* 删除
*
* @param model
* @param videoTypeId
* @return
* @throws Exception
*/
@ResponseBody
@RequestMapping("deleteById")
public Map<String, Object> deleteById(Model model, String ids) {
Map<String, Object> map = new HashMap<String, Object>();
try {
String id[] = ids.split(",");
for (String string : id) {
if(!Common.isEmpty(string)){
incomeService.delete(string);
}
}
map.put("flag", "true");
} catch (Exception e) {
map.put("flag", "false");
}
return map;
}