Java实战之酒店人事管理系统的实现

网友投稿 282 2022-08-21


Java实战之酒店人事管理系统的实现

目录一、项目运行二、效果图三、核心代码用户管理注册登录控制层房间管理控制层订单管理控制层角色管理控制层

一、项目运行

环境配置:

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

项目技术:

jsP +Spring + SpringMVC + MyBatis + html+ css + javascript + jquery + Ajax 等等

二、效果图

三、核心代码

用户管理注册登录控制层

@Controller

@RequestMapping("/user")

public class UserController {

@Autowired

private UserService userService;

/**

* 注册

* @param user

* @return

*/

@RequestMapping("/register")

@ResponseBody

public String register(User user){

Map map = new HashMap();

//调用注册的方法

if(userService.addUser(user)>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,"恭喜你,注册成功!");

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,"很遗憾,注册失败,请重新尝试!");

}

return JSON.toJSONString(map);

}

/**

* 登录

* @param

* @return

*/

@RequestMapping("/login")

@ResponseBody

public String login(String loginName, String password, HttpSession Session){

Map map = new HashMap();

//调用注册的方法

User loginUser = userService.login(loginName, password);

//登录判断

if(loginUser!=null){

//将密码清空

loginUser.setPassword(null);

map.put(SystemConstant.SUCCESS,true);

//保存登录用户信息到session中

Session.setAttribute(SystemConstant.FRONT_LOGIN_USER,loginUser);

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,"用户名或密码错误,请重新登录!");

}

return JSON.toJSONString(map);

}

/**

* 根据用户名查询用户信息

* @param loginName

* @return

*/

@RequestMapping("/checkName")

@ResponseBody

public String checkName(String loginName){

Map map = new HashMap();

//调用注册的方法

if(userService.findUserByName(loginName)!=null){

map.put(SystemConstant.EXISI,true);

map.put(SystemConstant.MESSAGE,"用户名存在,请重新输入");

}else{

map.put(SystemConstant.EXISI,false);

}

return JSON.toJSONString(map);

}

}

房间管理控制层

@Controller

@RequestMapping("/room")

public class RoomController {

@Resource

private RoomService roomService;

@Resource

private RoomTypeService roomTypeService;

/**

* 查询房间详情

* @param id

* @param model

* @return

*/

@RequestMapping("/{id}.html")

public String detail(@PathVariable Integer id, Model model){

//调用查询房间详情的方法

Room room = roomService.findById(id);

//将数据放到模型中

model.addAttribute("room",room);

return "detail";

}

/**

* 查询全部房间列表

* @param model

* @return

*/

@RequestMapping("/list.html")

public String list(Model model){

//调用查询所有房型列表的方法

List roomTypeList = roomTypeService.findRoomTypeList(null);

//创建查询条件类

RoomVo roomVo = new RoomVo();

roomVo.setStatus(3);//可预订

//查询房间列表

List roomList = roomService.findRoomListByPage(roomVo);

//将数据放到模型中

model.addAttribute("roomTypeList",roomTypeList);

model.addAttribute("roomList",roomList);

return "hotelList";

}

/**

* 根据房型查询房间列表

* @param model

* @return

*/

@RequestMapping("/list/{id}")

public String list(@PathVariable Integer id,Model model){

//调用查询所有房型列表的方法

List roomTypeList = roomTypeService.findRoomTypeList(null);

//创建查询条件类

RoomVo roomVo = new RoomVo();

roomVo.sethttp://Roomtypeid(id);//房型ID

roomVo.setStatus(3);//可预订

//查询房间列表

List roomList = roomService.findRoomListByPage(roomVo);

//将数据放到模型中

model.addAttribute("roomTypeList",roomTypeList);

model.addAttribute("roomList",roomList);

model.addAttribute("typeId",id);//将当前选中的房型ID保存到模型中,目的是在页面中回显选中的文本(改变选中的颜色)

return "hotelList";

}

}

订单管理控制层

@Controller

@RequestMapping("/orders")

public class OrdersController {

@Resource

private OrdersService ordersService;

/**

* 添加订单

* @param orders

* @return

*/

@RequestMapping("/addOrders")

@ResponseBody

public String addOrders(Orders orders){

Map map = new HashMap();

//调用添加订单的方法

if(ordersService.addOrders(orders)>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,"酒店预订成功");

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,"酒店预订失败,请重试!");

}

return JSON.toJSONString(map);

}

}

角色管理控制层

/**

* 角色管理

*/

@RequestMapping("/admin/role")

@RestController

public class RoleController {

@Autowired

private RoleService roleService;

@Autowired

private EmployeeService employeeService;

@Autowired

private MenuService menuService;

/**

* 角色列表查询

* @return

*/

@RequestMapping("/list")

public DataGridViewResult list(RoleVo roleVo){

//设置分页信息

PageHelper.startPage(roleVo.getPage(),roleVo.getLimit());

//调用分页查询的方法

List roleList = roleService.findRoleList(roleVo);

//创建分页对象

PageInfo pageInfo = new PageInfo(roleList);

//返回数据

return new DataGridViewResult(pageInfo.getTotal(),pageInfo.getList());

}

//添加部门信息

@RequestMapping("/addRole")

public String addRole(Role role){

//创建map存放信息

Map map = new HashMap();

int addRole = roleService.addRole(role);

if(addRole>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,"添加成功");

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,"添加失败");

}

//map中存放的信息已json形式返回

return JSON.toJSONString(map);

}

//修改角色信息

@RequestMapping("/updateRole")

public String updateRole(Role role){

Map map = new HashMap();

int updateRole = roleService.updateRole(role);

if(updateRole>0){

map.put(SystemConstant.SUCCESS,true);

map.put(SystemConstant.MESSAGE,"修改成功");

}else{

map.put(SystemConstant.SUCCESS,false);

map.put(SystemConstant.MESSAGE,"修改失败");

}

//map中存放的信息已json形式返回

return JSON.toJSONString(map);

}

//删除角色信息

@RequestMapping("/deleteById")

public String deleteById(Integer id){

Map map = new HashMap();

int deleteById = roleService.deleteById(id);

if (deleteById>0){

map.put(SystemConstant.SUCCESS,true);//删除成功

map.put(SystemConstant.MESSAGE,"删除成功");

}else{

map.put(SystemConstant.SUCCESS,false);//删除失败

map.put(Systhttp://emConstant.MESSAGE,"删除失败");

}

return JSON.toJSONString(map);

}

//查看该角色编号下是否有员工

@RequestMapping("/checkRoleHasEmployee")

public String checkDeptHasEmployee(Integer id){

Map map = new HashMap();

int countById = employeeService.getEmployeeCountByRoleId(id);

if (countById>0){

//该角色是否有员工在用

map.put(SystemConstant.EXISI,true);//存在

map.put(SystemConstant.MESSAGE,"该角色有员工使用,不能删除");

}else{

map.put(SystemConstant.EXISI,false);//存在

}

return JSON.toJSONString(map);

}

/**

* 初始化菜单

* @return

*/

@RequestMapping("/initMenuTree")

public DataGridViewResult initMenuTree(Integer roleId){

//调用查询菜单列表的方法

List

//根据角色ID查询该角色已经拥有的菜单ID的方法

List currentRoleMenuIds = menuService.findMenuIdListByRoleId(roleId);

//定义集合,保存菜单信息

List

//判断集合是否存在数据

if(currentRoleMenuIds!=null && currentRoleMenuIds.size()>0){

//根据菜单ID查询该菜单的信息

currentMenus = menuService.findMenuByMenuId(currentRoleMenuIds);

}

//创建集合保存树节点信息

List treeNodes = new ArrayList();

//循环遍历集合

for (Menu menu : menuList) {

//定义变量,标识是否选中

String checkArr = "0";//0表示复选框不选中,1表示选中复选框

//内层循环遍历当前角色拥有的权限菜单

//循环比较的原因:比较两个集合中的数据是否有相同的,有相同的表示当前角色拥有这个权限

for (Menu currentMenu : currentMenus) {

//如果ID相等,表示当前角色有这个菜单,有这个菜单则需要将复选框选中

if(menu.getId() == currentMenu.getId()){

checkArr ="1";//选中

break;

}

}

//定义变量,表示菜单是否展开

Boolean spread = (menu.getSpread()==null || menu.getSpread()==1) ? true : false;

treeNodes.add(new TreeNode(menu.getId(),menu.getPid(),menu.getTitle(),spread,checkArr));

}

//将数据返回到页面

return new DataGridViewResult(treeNodes);

}

/**

* 分配菜单

* @param ids

* @param roleId

* @return

*/

@RequestMapping("/saveRoleMenu")

public String saveRoleMenu(String ids,Integer roleId){

Map map = new HashMap();

//调用保存角色菜单关系的方法

if(roleService.saveRoleMenu(ids,roleId)>0){

map.put(SystemConstant.MESSAGE,"菜单分配成功");

}else{

map.put(SystemConstant.MESSAGE,"菜单分配失败");

}

return JSON.toJSONString(map);

}

/**

* 查询角色列表通过员工ID

* @param id

* @return

*/

@RequestMapping("/initRoleListByEmpId")

public DataGridViewResult initRoleListByEmpId(int id){

List> roleList = roleService.findRoleListByMap();

//调用根据员工ID查询该员工拥有的角色列表的方法

List roleIds = roleService.findEmployeeRoleByEmployeeId(id);

//循环比较两个集合中的角色ID值是否相等,相等则选中该角色

for (Map map : roleList) {

//定义变量,标识是否选中

boolean flag = false;//不选中

//获取每一个角色ID

Integer rid = (Integer) map.get("id");//id是主键,以主键作为map集合中key

//内层循环遍历该员工拥有的角色列表

for (Integer roleId : roleIds) {

//判断两个集合中是否存在角色ID相同

if(rid == roleId){

flag = true;//选中该角色

break;

}

}

//将状态保存在map集合中

map.put("LAY_CHECKED",flag);//key必须是LAY_CHECKED

}

return new DataGridViewResult(Long.valueOf(roleList.size()),roleList);

}

}

以上就是java实战之酒店人事管理系统的实现的详细内容,更多关于Java酒店管理系统的leOdf资料请关注我们其它相关文章!


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

上一篇:Java线程池流程编排运用实战源码
下一篇:Mybatis 连接mysql数据库底层运行的原理分析
相关文章

 发表评论

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