Java毕业设计实战之财务预算管理系统的实现

网友投稿 341 2022-08-30


Java毕业设计实战之财务预算管理系统的实现

一、项目简述

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

二、项目运行

环境配置:

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 getAllRoles(){

try {

List 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 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 findByWhereNoPage(Bill bill, HttpSession session){

bill = getHouseBill(bill,session);

return billService.findByWhereNoPage(bill);

}

@RequestMapping("/getBillsByWhere/{type}/{pageNo}/{pageSize}")

public Result 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> r = billService.getMonthlyInfo(model);

Map map = new HashMap<>();

for (Map 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 ResuClMDonltUtil.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 getAllPayways(){

try {

List 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 getUsersByWhere(PageModel model);

int getToatlByWhere(PageModel model);

int add(UserInfo userInfo);

int update(UserInfo userInfo);

int delete(String id);

List getAllRoles();

int addRole(Role role);

int updateRole(Role role);

int deleteRole(String id);

Role getRoleById(String id);

int addHouseId(House house);

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【原创】Python 使用jmpy模块加密|加固 python代码
下一篇:sobel算法边缘检测python版(matlab实现sobel边缘检测)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~