亲宝软件园·资讯

展开

Java 财务预算管理

qq_1334611189 人气:0

一、项目简述

功能包括:实现公司对项目的管理。

二、项目运行

环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等

用户信息控制层:

/**
* 用户信息控制层
*/
@Controller
public class UserInfoController {
 
    @Resource
    private UserInfoService userInfoService;
    @Resource
    private PrivilegeService privilegeService;
 
    @RequestMapping(value = {"/", "login.html"})
    public String toLogin(HttpServletRequest request, HttpServletResponse response){
        HttpSession session = request.getSession();
        if(session.getAttribute(Config.CURRENT_USERNAME)==null){
            return "login";
        }else {
            try {
                response.sendRedirect("/pages/index");
            } catch (IOException e) {
                e.printStackTrace();
                return "login";
            }
            return null;
        }
 
    }
 
//    @RequestMapping(value = "/login.do",method = RequestMethod.POST)
    @RequestMapping(value = "/login.do")
    @ResponseBody
    public Result getUserInfo(UserInfo userInfo, HttpServletRequest request, HttpServletResponse response){
        boolean userIsExisted = userInfoService.userIsExisted(userInfo);
        System.out.println(userIsExisted + " - " + request.getHeader("token"));
        userInfo = getUserInfo(userInfo);
        if("client".equals(request.getHeader("token")) && !userIsExisted){
            //用户不存在
            return  ResultUtil.success(-1);
        }
        if (userIsExisted && userInfo == null){
            return  ResultUtil.unSuccess("用户名或密码错误!");
        }else {
            //将用户信息存入session
            userInfo = setSessionUserInfo(userInfo,request.getSession());
            //将当前用户信息存入cookie
            setCookieUser(request,response);
            return ResultUtil.success("登录成功", userInfo);
        }
    }
 
    @RequestMapping("/users/getUsersByWhere/{pageNo}/{pageSize}")
    public @ResponseBody Result getUsersByWhere(UserInfo userInfo, @PathVariable int pageNo, @PathVariable int pageSize, HttpSession session){
        if ("".equals(userInfo.getHouseid())){
            userInfo.setHouseid(null);
        }
        if (userInfo.getRoleid() == -1){
            userInfo.setRoleid(Config.getSessionUser(session).getRoleid());
        }
        Utils.log(userInfo.toString());
        PageModel model = new PageModel<>(pageNo,userInfo);
        model.setPageSize(pageSize);
        return userInfoService.getUsersByWhere(model);
    }
 
    @RequestMapping("/user/add")
    public @ResponseBody Result addUser(UserInfo userInfo){
        System.out.println(userInfo);
        try {
            int num = userInfoService.add(userInfo);
            if(num>0){
                return ResultUtil.success();
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/user/update")
    public @ResponseBody Result updateUser(UserInfo userInfo){
        try {
            int num = userInfoService.update(userInfo);
            if(num>0){
                return ResultUtil.success();
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/user/del/{id}")
    public @ResponseBody Result deleteUser(@PathVariable String id){
        try {
            int num = userInfoService.delete(id);
            if(num>0){
                return ResultUtil.success();
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/getSessionUser")
    @ResponseBody
    public UserInfo getSessionUser(HttpSession session){
        UserInfo sessionUser = (UserInfo) session.getAttribute(Config.CURRENT_USERNAME);
        sessionUser.setPassword(null);
        return sessionUser;
    }
 
    @RequestMapping("/logout")
    public String logout(HttpServletRequest request, HttpServletResponse response){
        delCookieUser(request, response);
        request.getSession().removeAttribute(Config.CURRENT_USERNAME);
        return "login";
    }
 
    @RequestMapping("/getAllRoles")
    public @ResponseBody Result<Role> getAllRoles(){
        try {
            List<Role> roles = userInfoService.getAllRoles();
            if (roles.size()>0){
                return ResultUtil.success(roles);
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/role/add")
    public @ResponseBody Result addRole(Role role){
        try {
            int num = userInfoService.addRole(role);
            if(num>0){
                privilegeService.addDefaultPrivilegesWhenAddRole(role.getRoleid().toString());
                return ResultUtil.success();
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/role/update")
    public @ResponseBody Result updateRole(Role role){
        try {
            int num = userInfoService.updateRole(role);
            if(num>0){
                return ResultUtil.success();
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/role/del/{roleid}")
    public @ResponseBody Result deleteRole(@PathVariable String roleid){
        try {
            privilegeService.delPrivilegesWenDelRole(roleid);
            int num = userInfoService.deleteRole(roleid);
            if(num>0){
                return ResultUtil.success();
            }else {
                privilegeService.addDefaultPrivilegesWhenAddRole(roleid);
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/getRole/{id}")
    public @ResponseBody Result getRoleById(@PathVariable String id){
        try {
            Role role = userInfoService.getRoleById(id);
            if(role != null){
                return ResultUtil.success(role);
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    /**
     * 登录时将用户信息加入cookie中
     * @param response
     */
    private void setCookieUser(HttpServletRequest request, HttpServletResponse response){
        UserInfo user = getSessionUser(request.getSession());
        Cookie cookie = new Cookie(Config.CURRENT_USERNAME,user.getUsername()+"_"+user.getId());
        //cookie 保存7天
        cookie.setMaxAge(60*60*24*7);
        response.addCookie(cookie);
    }
 
    /**
     * 注销时删除cookie信息
     * @param request
     * @param response
     */
    private void delCookieUser(HttpServletRequest request, HttpServletResponse response){
        UserInfo user = getSessionUser(request.getSession());
        Cookie cookie = new Cookie(Config.CURRENT_USERNAME,user.getUsername()+"_"+user.getId());
        cookie.setMaxAge(-1);
        response.addCookie(cookie);
    }
 
    /**
     * 通过用户信息获取用户权限信息,并存入session中
     * @param userInfo
     * @param session
     * @return
     */
    public UserInfo setSessionUserInfo(UserInfo userInfo, HttpSession session){
        List<Privilege> privileges = privilegeService.getPrivilegeByRoleid(userInfo.getRoleid());
        userInfo.setPrivileges(privileges);
        session.setAttribute(Config.CURRENT_USERNAME,userInfo);
        return userInfo;
 
    }
 
    public UserInfo getUserInfo(UserInfo userInfo){
       return userInfoService.getUserInfo(userInfo);
    }
}

数据图形展示:

 
@RestController
@RequestMapping("/bills")
public class BillController {
 
    @Resource
    private BillService billService;
 
    /**
     * 适用于统计图
     * @param bill
     * @return
     */
    @RequestMapping("/getBillsToChart")
    public Result<Bill> findByWhereNoPage(Bill bill, HttpSession session){
        bill = getHouseBill(bill,session);
        return billService.findByWhereNoPage(bill);
    }
 
    @RequestMapping("/getBillsByWhere/{type}/{pageNo}/{pageSize}")
    public Result<Bill> getBillsByWhere(Bill bill,@PathVariable String type, @PathVariable int pageNo, @PathVariable int pageSize, HttpSession session){
        if("-1".equals(bill.getPayway())){
            bill.setPayway(null);
        }
        bill.setType(type);
        bill = getHouseBill(bill,session);
        System.out.println(bill);
        PageModel model = new PageModel<>(pageNo,bill);
        model.setPageSize(pageSize);
        return billService.findByWhere(model);
    }
 
    @RequestMapping("/getBillsByUserid/{userid}/{pageNo}/{pageSize}/{year}/{month}")
    public Result getBillsByUserid(@PathVariable Integer userid, @PathVariable int pageNo, @PathVariable int pageSize, @PathVariable int year, @PathVariable int month){
        Bill bill = new Bill();
        bill.setUserid(userid);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        bill.setStartTime(year+"-0"+month+"-01");
        try {
            Date date = sdf.parse(year+"-0"+(month+1)+"-01");
            date.setDate(date.getDate()-1);
            bill.setEndTime(sdf.format(date));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        PageModel model = new PageModel<>(pageNo,bill);
        model.setPageSize(pageSize);
        Result result = billService.findByWhere(model);
        List<Map<String,String>> r = billService.getMonthlyInfo(model);
        Map<String,String> map = new HashMap<>();
        for (Map<String,String> m: r) {
            map.put(m.get("typeid"),String.format("%.2f",m.get("sum(money)")));
        }
        result.setData(map);
        return result;
    }
 
    private Bill getHouseBill(Bill bill, HttpSession session) {
        UserInfo currentUser = Config.getSessionUser(session);
        //当登录用户为家主时,查询默认查询全家账单情况
        //当登录用户为普通用户时,仅查询当前用户的账单
        if (currentUser.getRoleid() == 2){
            bill.setHouseid(currentUser.getHouseid());
        }else if (currentUser.getRoleid() == 3){
            bill.setUserid(currentUser.getId());
        }
        return bill;
    }
 
    @RequestMapping(value = "/addBill",method = RequestMethod.POST)
    public Result add(Bill bill, HttpSession session){
        if (Config.getSessionUser(session)!=null){
            bill.setUserid(Config.getSessionUser(session).getId());
        }
        Utils.log(bill.toString());
        try {
            int num = billService.add(bill);
            if(num>0){
                int billid = bill.getId();
                bill = new Bill();
                bill.setId(billid);
                return ResultUtil.success("记账成功!",billService.findByWhereNoPage(bill));
//                return ResultUtil.success("记账成功!",bill);
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/updateBill")
    public Result update(Bill bill, HttpSession session){
        if (Config.getSessionUser(session)!=null){
            bill.setUserid(Config.getSessionUser(session).getId());
        }
        Utils.log(bill.toString());
        try {
            int num = billService.update(bill);
            if(num>0){
                return ResultUtil.success("修改成功!",null);
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/delBill")
    public Result del(int id){
        try {
            int num = billService.del(id);
            if(num>0){
                return ResultUtil.success("删除成功!",null);
            }else {
                return ResultUtil.unSuccess();
            }
        }catch (Exception e){
            return ResultUtil.error(e);
        }
    }
 
    @RequestMapping("/getPayways")
    public Result<Payway> getAllPayways(){
 
        try {
            List<Payway> payways = billService.getAllPayways();
            if (payways!=null && payways.size()>0){
                return ResultUtil.success(payways);
            }else {
                return ResultUtil.unSuccess();
            }
        } catch (Exception e) {
            return ResultUtil.error(e);
        }
    }
 
}

用户信息mapper类:

@Repository
public interface UserInfoMapper {
 
    /**
     * 获取单个用户信息,可用于:
     * 1.登录
     * 2.通过用户某一部分信息获取用户完整信息
     * @param userInfo
     * @return
     */
    UserInfo getUserInfo(UserInfo userInfo);
 
    /**
     * 注册
     * @param userInfo
     * @return
     */
    int addUser(UserInfo userInfo);
 
    /**
     * 通过username判断该用户是否存在
     * @param userInfo
     * @return
     */
    int userIsExisted(UserInfo userInfo);
 
    /**
     * 通过条件获取符合条件的优化信息 -- 分页
     * @param model
     * @return
     */
    List<UserInfo> getUsersByWhere(PageModel<UserInfo> model);
 
    int getToatlByWhere(PageModel<UserInfo> model);
 
    int add(UserInfo userInfo);
 
    int update(UserInfo userInfo);
 
    int delete(String id);
 
    List<Role> getAllRoles();
 
    int addRole(Role role);
 
    int updateRole(Role role);
 
    int deleteRole(String id);
 
    Role getRoleById(String id);
 
    int addHouseId(House house);
}

加载全部内容

相关教程
猜你喜欢
用户评论