基于javaweb+mysql的ssm+maven家庭理财系统(java+ssm+jsp+tomcat+mysql)

基于javaweb+mysql的ssm+maven家庭理财系统(java+ssm+jsp+tomcat+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明


登录:

老王  123456——家长(管理员)

大娃  123456

二娃  123456

基于javaweb的SSM+Maven家庭理财系统(java+ssm+jsp+tomcat+mysql)

一、项目简述

功能:家庭理财,财务分析,统计等等。

二、项目运行

运行环境:

jdk8+tomcat8+mysql+IntelliJ IDEA( Eclispe , MyEclispe ,Sts 都支持,代码与开发环境运行无关啦,只需要调整环境即可)

项目技术:SpringMVC + Spring + Mybatis + MySQL + Ajax + HTML + JavaScript + CSS + Jsp等等


/**
 * author: llj
 */
@Controller
@RequestMapping("/accountInfo")
public class AccountInfoController {
    @Autowired
    AccountInfoService accountInfoService;

    /**
     * 跳转到添加账单页面
     */
    @RequestMapping(value = {"/addInfo"})
    public String toAddAccount(Model model, HttpSession session) {
        User user = (User) session.getAttribute("user");
        model.addAttribute("uid", user.getUid());
        return "addAccount";
    }

    /**
     * 跳转到账单详情
     */
    @RequestMapping(value = {"/queryInfo"})
    public String toAccountInfo(int acid, Model model) {
        model.addAttribute("acid", acid);
        return "accountInfo";
    }

    /**
     * 跳转到账单修改页面
     */
    @RequestMapping(value = {"/modifyInfo"})
    public String toModifyInfo(int acid, Model model) {
        Account account = accountInfoService.queryAccountInfoById(acid);
        model.addAttribute("account", account);
        return "modifyInfo";
    }

    /**
     * 查询账单分类
     */
    @RequestMapping(value = {"/queryAccountType"})
    @ResponseBody
    public List<AccountType> queryAccountType() {
        List<AccountType> list = accountInfoService.queryAccountType();
        return list;
    }


/**
 */
@Controller
@RequestMapping("/savegoal")
public class SaveGoalController {
    @Autowired
    private SaveGoalService saveGoalService;
    @Autowired
    private IndividualManagerService individualManagerService;

    @RequestMapping(value = {"/page"})
    public String toSaveGoal() {
        return "showgoal";

    }
    @RequestMapping(value = {"/addGoal"})
    public String SaveGoal() {
        return "savegoal";
    }

    //添加存款目标
    @RequestMapping(value = {"/setgoal"})
    @ResponseBody
    public SaveGoalStatus doSave(HttpSession session, @RequestBody Deposit goal){
        int flag=saveGoalService.isRun(goal.getUid());
        SaveGoalStatus sgs=new SaveGoalStatus();
        if(flag==0){
            //添加存款目标
            saveGoalService.addSaveGoal(goal);
            sgs.setInfo("添加目标成功");
            sgs.setCode(200);
            return sgs;

        }else {
            sgs.setInfo("存在正在进行的目标,请先完成当前目标");
            sgs.setCode(0);
            return sgs;
        }

    }
    public SaveGoalStatus doSave(HttpSession session, @RequestBody Deposit goal){
        int flag=saveGoalService.isRun(goal.getUid());
        SaveGoalStatus sgs=new SaveGoalStatus();
        if(flag==0){
            //添加存款目标
            saveGoalService.addSaveGoal(goal);
            sgs.setInfo("添加目标成功");
            sgs.setCode(200);
            return sgs;

        }else {
            sgs.setInfo("存在正在进行的目标,请先完成当前目标");
            sgs.setCode(0);
            return sgs;
        }

    }
    //获取家庭成员
    @RequestMapping(value={"/getmembers"})
    @ResponseBody
    public List<User> getMembers(HttpSession session,@RequestBody User user){
        return saveGoalService.getAllUser(user.getUid());
    }

    //获取个人历史存款目标
    @RequestMapping(value ={"/getAllGoal"})
    @ResponseBody
    public GoalListStatus getAllGoal(HttpSession session,@RequestBody SaveGoalCombination saveGoalCombination){
        GoalListStatus gls=new GoalListStatus();
        List<Deposit> depositList=individualManagerService.getHistoryGoal(saveGoalCombination);
        gls.setData(depositList);
        gls.setCount(individualManagerService.getCountHistoryGoal(saveGoalCombination));
        return gls;
    }

    //获取个人当前存款目标
    @RequestMapping(value = {"/getCurrentGoal"})
    @ResponseBody
    public AccountAndDepositVo getCurrentGoal(HttpSession session,@RequestBody User user){
        return individualManagerService.getIndividualState(user.getUid());
    }

    //取消存款目标
    @RequestMapping(value = {"/cancelGoal"})

/**
 */
@Controller
@RequestMapping("/limit")
public class LineOfLimitController {
    @Autowired
    private LineOfLimitService lineOfLimitService;
    @Autowired
    private SaveGoalService saveGoalService;

    @RequestMapping(value = {"/page"})
    public String toLineOfLimit() {
        // 跳转到SaveGoal.jsp页面。
        return "lineoflimit";
    }

    @RequestMapping(value = {"/setlimit"})
    @ResponseBody
    public Status doLimit(HttpSession session, @RequestBody Spending limit){
        Status status=new Status();
        lineOfLimitService.addLimit(limit);
        status.setCode(200);
        status.setInfo("设置额度成功");
        return status;
    }

    @RequestMapping(value={"/getmembers"})
    @ResponseBody
    public List<User> getMembers(HttpSession session, @RequestBody User user){
        return saveGoalService.getAllUser(user.getUid());
    }
}


/**
 * author: 35024
 */
@Controller
@RequestMapping("/login")
public class LoginController {
    @Autowired
    private LoginService loginService;

    /**
     * 登录界面
     *
     * @return String
     */
    @RequestMapping(value = {"/log"})
    public String toLogin() {
        // 跳转到login.jsp页面。
        return "login";
    }

    /**
     * 注册界面
     *
     * @return String
     */
    @RequestMapping(value = {"/reg"})
    public String toRegister() {
        // 跳转到login.jsp页面。
        return "register";
    }

    /**
     * 用户注销
    @RequestMapping(value = {"/cancelGoal"})
    @ResponseBody
    public SaveGoalStatus ConcelGoal(HttpSession session,@RequestBody User user){
        SaveGoalStatus sgs=new SaveGoalStatus();
        individualManagerService.cancelGoal(user.getUid());
        sgs.setInfo("取消目标成功");
        sgs.setCode(200);
        return sgs;
    }
    //提前完成存款目标
    @RequestMapping(value = {"/finishGoal"})
    @ResponseBody
    public SaveGoalStatus finishGoal(HttpSession session,@RequestBody User user){
        SaveGoalStatus sgs=new SaveGoalStatus();
        individualManagerService.finishGoal(user.getUid());
        sgs.setInfo("恭喜提前完成目标");
        sgs.setCode(200);
        return sgs;
    }

}

/**
        accountCombination.setPage(1);
        List<Account> accountList = (List<Account>) accountService.getAccountByCombination(accountCombination);

        // 封装报表数据
        ObjectMapper objectMapper = new ObjectMapper();
        mav.addObject("accountMonthReport", objectMapper.writeValueAsString(accountReport.getAccountMonthReport()));
        mav.addObject("accountMonthTypeReport", objectMapper.writeValueAsString(accountReport.getAccountMonthTypeReport()));
        mav.addObject("accountYearReport", objectMapper.writeValueAsString(accountYearReport));
        mav.addObject("accountList", accountList);
        return mav;
    }

}

/**
 * author: 35024
 */
@Controller
@RequestMapping("/login")
public class LoginController {
    @Autowired
    private LoginService loginService;

    /**
     * 登录界面
     *
     * @return String
     */
        LoginStatus ls = new LoginStatus();
        if (loginUser != null) {
            // 登录成功:设置用户登录状态,并返回信息
            loginUser.setPassword(null);
            session.setAttribute("user", loginUser);
            ls.setCode(200);
            ls.setInfo("登录成功!");
            ls.setUser(loginUser);
            return ls;
        } else {
            // 登录失败:返回错误信息
            ls.setCode(502);
            ls.setInfo("姓名或密码有误!");
            return ls;
        }
    }

    @RequestMapping(value = {"/rDo"})
    @ResponseBody
    public RegisterStatus doLogin(HttpSession session, @RequestBody UserAndFamily userAndFamily) {
        RegisterStatus registerStatus = new RegisterStatus();
        // 首先判断用户是否存在
        User existUser = loginService.getUserByUsername(userAndFamily.getUser().getName());
        if (existUser != null) {
            registerStatus.setInfo("姓名已经存在!");
            registerStatus.setCode(400);
            return registerStatus;
        }
        // 新用户注册
        loginService.addUserAndFamily(userAndFamily);
        registerStatus.setInfo("登记家庭成功!");
        registerStatus.setCode(200);
        return registerStatus;
    }

}


/**
 * author: llj
 */
@Controller
@RequestMapping("/accountInfo")
public class AccountInfoController {
    @Autowired
    AccountInfoService accountInfoService;

    /**
     * 跳转到添加账单页面
     */
    @RequestMapping(value = {"/addInfo"})
    public String toAddAccount(Model model, HttpSession session) {
        User user = (User) session.getAttribute("user");
        model.addAttribute("uid", user.getUid());
        return "addAccount";
    }

    /**
     * 跳转到账单详情
     */
    @RequestMapping(value = {"/queryInfo"})
    public String toAccountInfo(int acid, Model model) {
        model.addAttribute("acid", acid);
        return "accountInfo";
        } else {
            return "error";
        }
    }

    /**
     * 修改账单信息
     */
    @RequestMapping(value = {"/modifyAccount"})
    @ResponseBody
    public String modifyInfo(Account account) {
        int count = accountInfoService.modifyAccount(account);
        if (count == 1) {
            return "success";
        } else {
            return "error";
        }
    }

    /**
     * 删除账单
     */
    @RequestMapping(value = {"/deleteAccount"})
    @ResponseBody
    public String deleteInfo(@RequestBody Account account) throws JsonProcessingException {
        int count = accountInfoService.deleteAccount(account.getAcid());
        ObjectMapper objectMapper = new ObjectMapper();
        if (count == 1) {
            Map<String, String> msg = new HashMap<>();
            msg.put("code", "200");
            msg.put("msg", "success");
            return objectMapper.writeValueAsString(msg);
        } else {
            Map<String, String> msg = new HashMap<>();
            msg.put("code", "500");
            msg.put("msg", "error");
            return objectMapper.writeValueAsString(msg);
        }
    }
}

            session.setAttribute("user", loginUser);
            ls.setCode(200);
            ls.setInfo("登录成功!");
            ls.setUser(loginUser);
            return ls;
        } else {
            // 登录失败:返回错误信息
            ls.setCode(502);
            ls.setInfo("姓名或密码有误!");
            return ls;
        }
    }

    @RequestMapping(value = {"/rDo"})
    @ResponseBody
    public RegisterStatus doLogin(HttpSession session, @RequestBody UserAndFamily userAndFamily) {
        RegisterStatus registerStatus = new RegisterStatus();
        // 首先判断用户是否存在
        User existUser = loginService.getUserByUsername(userAndFamily.getUser().getName());
        if (existUser != null) {
            registerStatus.setInfo("姓名已经存在!");
            registerStatus.setCode(400);
            return registerStatus;
        }
        // 新用户注册
        loginService.addUserAndFamily(userAndFamily);
        registerStatus.setInfo("登记家庭成功!");
        registerStatus.setCode(200);
        return registerStatus;
    }

}

@Controller
@RequestMapping("/accountType")
public class AccountTypeController {
    @ResponseBody
    public String deleteInfo(@RequestBody Account account) throws JsonProcessingException {
        int count = accountInfoService.deleteAccount(account.getAcid());
        ObjectMapper objectMapper = new ObjectMapper();
        if (count == 1) {
            Map<String, String> msg = new HashMap<>();
            msg.put("code", "200");
            msg.put("msg", "success");
            return objectMapper.writeValueAsString(msg);
        } else {
            Map<String, String> msg = new HashMap<>();
            msg.put("code", "500");
            msg.put("msg", "error");
            return objectMapper.writeValueAsString(msg);
        }
    }
}

/**
 */
@Controller
@RequestMapping("/savegoal")
public class SaveGoalController {
    @Autowired
    private SaveGoalService saveGoalService;
    //取消存款目标
    @RequestMapping(value = {"/cancelGoal"})
    @ResponseBody
    public SaveGoalStatus ConcelGoal(HttpSession session,@RequestBody User user){
        SaveGoalStatus sgs=new SaveGoalStatus();
        individualManagerService.cancelGoal(user.getUid());
        sgs.setInfo("取消目标成功");
        sgs.setCode(200);
        return sgs;
    }
    //提前完成存款目标
    @RequestMapping(value = {"/finishGoal"})
    @ResponseBody
    public SaveGoalStatus finishGoal(HttpSession session,@RequestBody User user){
        SaveGoalStatus sgs=new SaveGoalStatus();
        individualManagerService.finishGoal(user.getUid());
        sgs.setInfo("恭喜提前完成目标");
        sgs.setCode(200);
        return sgs;
    }

}

    @RequestMapping(value = {"/log"})
    public String toLogin() {
        // 跳转到login.jsp页面。
        return "login";
    }

    /**
     * 注册界面
     *
     * @return String
     */
    @RequestMapping(value = {"/reg"})
    public String toRegister() {
        // 跳转到login.jsp页面。
        return "register";
    }

    /**
     * 用户注销
     *
     * @param session 用户会话
     * @return 返回到登录界面
     */
    @RequestMapping(value = {"/out"})
    public String doLogin(HttpSession session) {
        session.removeAttribute("user");
        return "redirect:log";
    }

    /**
     * 登录功能
     *
     * @return String 登录结果
     */
    @RequestMapping(value = {"/do"})
    @ResponseBody
    public LoginStatus doLogin(HttpSession session, @RequestBody User user) {
        // 用户登录检查
        User loginUser = loginService.getUserByUsernameAndPassword(user);
        LoginStatus ls = new LoginStatus();
        if (loginUser != null) {
            // 登录成功:设置用户登录状态,并返回信息
        rs.setData(us);
        return rs;
    }

    @RequestMapping(value = {"/userAdd"})
    @ResponseBody
    public RegisterStatus addUser(@RequestBody User user) {
        // 封装返回的JSON数据
        RegisterStatus rs = new RegisterStatus();
        if (userService.isExists(user.getName())) {
            rs.setCode(405);
            rs.setInfo("用户名已经存在!");
        } else {
            userService.add(user);
            rs.setCode(200);
            rs.setInfo("添加成功!");
        }
        return rs;
    }

    /*.@RequestMapping(value={"/UserUpload"})
    public String upload(User user, HttpServletRequest request,Model model)throws Exception{
        System.out.println(request.getParameter("name"));
        String sqlPath=null;
        String localPath="D:\\CuitJavaEEPractice\\CuitJavaEEPractice\\src\\main\\webapp\\asset\\avatar\\";
        String filename=null;
        if(!user.getAvatar().isEmpty()){
            String uuid= UUID.randomUUID().toString().replaceAll("-","");
            String contentType=user.getAvatar().getContentType();
            String suffixName=contentType.substring(contentType.indexOf("/"+1));
            filename=uuid+"."+suffixName;
            System.out.println(filename);
            user.getAvatar().transferTo(newFile(localPath+filename));
        }
        sqlPath="/image/"+filename;
        user.setAvatar(sqlPath);
        userService.add(user);
        model.addAttribute("user",user);
        return "User";
    }*/
}

    }
}

/**
 */
@Controller
@RequestMapping("/savegoal")
public class SaveGoalController {
    @Autowired
    private SaveGoalService saveGoalService;
    @Autowired
    private IndividualManagerService individualManagerService;

    @RequestMapping(value = {"/page"})
    public String toSaveGoal() {
        return "showgoal";

    }
    @RequestMapping(value = {"/addGoal"})
    public String SaveGoal() {
    public AccountTypeAddStatus AddAccountType(HttpSession session, @RequestBody AccountType accountType) {
        AccountTypeAddStatus atas = new AccountTypeAddStatus();
        System.out.print(accountType.toString());
        accountTypeService.addAccountType(accountType.getName(), accountType.getDescription());
        atas.setCode(200);
        atas.setInfo("账单类型添加成功");
        return atas;
    }
    //删除指定id的账目类型
    @RequestMapping(value = {"/delete"})
    @ResponseBody
    public AccountTypeAddStatus DeleteAccountType(HttpSession session, @RequestBody AccountType accountType){
        AccountTypeAddStatus deltype = new AccountTypeAddStatus();
        System.out.print(accountType.toString());
        accountTypeService.deleteAccountType(accountType.getTid());
        deltype.setCode(200);
        deltype.setInfo("账单类型删除成功");
        return deltype;
    }

    @RequestMapping(value = {"/edit"})
    @ResponseBody
    public AccountTypeAddStatus EditAccountType(HttpSession session, @RequestBody AccountType accountType){
        AccountTypeAddStatus editType = new AccountTypeAddStatus();
        System.out.print(accountType.toString());
        accountTypeService.updateAccountType(accountType.getTid(),accountType.getName(),accountType.getDescription());
        editType.setCode(200);
        editType.setInfo("修改成功!");
        return editType;
    }

}

/**
 * 控制器样例
 * author: 陈奕铠

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值