源码获取:俺的博客首页 "资源" 里下载!

项目介绍

管理员角色包含以下功能:
管理员登录,桌位信息查看,查看账单,日常维护,酒水库存管理等功能。

环境需要

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.数据库:MySql 5.7版本;

技术栈

1. 后端:Spring+SpringMVC+Mybatis
2. 前端:HTML+CSS+JavaScript+jsp

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;
4. 运行项目,输入localhost:8080/ 登录

登录管理控制层:

@Controller
public class ForeLoginController extends BaseController {@Resource(name = "userService")private UserService userService;//登录页@RequestMapping(value = "login", method = RequestMethod.GET)public String goToPage(HttpSession session, Map<String, Object> map) {logger.info("转到前台天猫-登录页");return "fore/loginPage";}//登陆验证-ajax@ResponseBody@RequestMapping(value = "login/doLogin", method = RequestMethod.POST, produces = "application/json;charset=utf-8")public String checkLogin(HttpSession session, @RequestParam String username, @RequestParam String password) {logger.info("用户验证登录");User user = userService.login(username, password);JSONObject jsonObject = new JSONObject();if (user == null) {logger.info("登录验证失败");jsonObject.put("success", false);} else {logger.info("登录验证成功,用户ID传入会话");session.setAttribute("userId", user.getUser_id());jsonObject.put("success", true);}return jsonObject.toJSONString();}//退出当前账号@RequestMapping(value = "login/logout", method = RequestMethod.GET)public String logout(HttpSession session) {Object o = session.getAttribute("userId");if (o != null) {session.removeAttribute("userId");session.invalidate();logger.info("登录信息已清除,返回用户登录页");}return "redirect:/login";}
}

用户管理控制层:

/*** 后台管理-用户页*/
@Controller
public class UserController extends BaseController{@Resource(name="userService")private UserService userService;@Resource(name="addressService")private AddressService addressService;@Resource(name ="reviewService")private ReviewService reviewService;@Resource(name = "productOrderItemService")private ProductOrderItemService productOrderItemService;@Resource(name = "productService")private ProductService productService;@Resource(name = "productImageService")private ProductImageService productImageService;//转到后台管理-用户页-ajax@RequestMapping(value = "admin/user", method = RequestMethod.GET)public String goUserManagePage(HttpSession session, Map<String, Object> map){logger.info("获取前十条用户信息");PageUtil pageUtil = new PageUtil(0, 10);List<User> userList = userService.getList(null, null, pageUtil);map.put("userList", userList);logger.info("获取用户总数量");Integer userCount = userService.getTotal(null);map.put("userCount", userCount);logger.info("获取分页信息");pageUtil.setTotal(userCount);map.put("pageUtil", pageUtil);logger.info("转到后台管理-用户页-ajax方式");return "admin/userManagePage";}//转到后台管理-用户详情页-ajax@RequestMapping(value = "admin/user/{uid}", method = RequestMethod.GET)public String getUserById(HttpSession session, Map<String,Object> map, @PathVariable Integer uid/* 用户ID */){logger.info("获取user_id为{}的用户信息",uid);User user = userService.get(uid);logger.info("获取用户详情-所在地地址信息");Address address = addressService.get(user.getUser_address().getAddress_areaId());Stack<String> addressStack = new Stack<>();//最后一级地址addressStack.push(address.getAddress_name() + " ");//如果不是第一级地址while (!address.getAddress_areaId().equals(address.getAddress_regionId().getAddress_areaId())) {address = addressService.get(address.getAddress_regionId().getAddress_areaId());addressStack.push(address.getAddress_name() + " ");}StringBuilder builder = new StringBuilder();while (!addressStack.empty()) {builder.append(addressStack.pop());}logger.info("所在地地址字符串:{}", builder);user.setUser_address(new Address().setAddress_name(builder.toString()));logger.info("获取用户详情-家乡地址信息");address = addressService.get(user.getUser_homeplace().getAddress_areaId());//最后一级地址addressStack.push(address.getAddress_name() + " ");//如果不是第一级地址while (!address.getAddress_areaId().equals(address.getAddress_regionId().getAddress_areaId())) {address = addressService.get(address.getAddress_regionId().getAddress_areaId());addressStack.push(address.getAddress_name() + " ");}builder = new StringBuilder();while (!addressStack.empty()) {builder.append(addressStack.pop());}logger.info("家乡地址字符串:{}", builder);user.setUser_homeplace(new Address().setAddress_name(builder.toString()));logger.info("获取用户详情-购物车订单项信息");List<ProductOrderItem> productOrderItemList = productOrderItemService.getListByUserId(user.getUser_id(), null);if (productOrderItemList != null) {logger.info("获取用户详情-购物车订单项对应的产品信息");for (ProductOrderItem productOrderItem : productOrderItemList) {Integer productId = productOrderItem.getProductOrderItem_product().getProduct_id();logger.warn("获取产品ID为{}的产品信息", productId);Product product = productService.get(productId);if (product != null) {logger.warn("获取产品ID为{}的第一张预览图片信息", productId);product.setSingleProductImageList(productImageService.getList(productId, (byte) 0, new PageUtil(0, 1)));}productOrderItem.setProductOrderItem_product(product);}}user.setProductOrderItemList(productOrderItemList);if (user.getUser_realname() != null) {logger.info("用户隐私加密");user.setUser_realname(user.getUser_realname().substring(0, 1) + "*");} else {user.setUser_realname("未命名");}map.put("user",user);logger.info("转到后台管理-用户详情页-ajax方式");return "admin/include/userDetails";}//按条件查询用户-ajax@ResponseBody@RequestMapping(value = "admin/user/{index}/{count}", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")public String getUserBySearch(@RequestParam(required = false) String user_name/* 用户名称 */,@RequestParam(required = false) Byte[] user_gender_array/* 用户性别数组 */,@RequestParam(required = false) String orderBy/* 排序字段 */,@RequestParam(required = false,defaultValue = "true") Boolean isDesc/* 是否倒序 */,@PathVariable Integer index/* 页数 */,@PathVariable Integer count/* 行数 */) throws UnsupportedEncodingException {//移除不必要条件Byte gender = null;if (user_gender_array != null && user_gender_array.length == 1) {gender = user_gender_array[0];}if (user_name != null) {//如果为非空字符串则解决中文乱码:URLDecoder.decode(String,"UTF-8");user_name = "".equals(user_name) ? null : URLDecoder.decode(user_name, "UTF-8");}if (orderBy != null && "".equals(orderBy)) {orderBy = null;}//封装查询条件User user = new User().setUser_name(user_name).setUser_gender(gender);OrderUtil orderUtil = null;if (orderBy != null) {logger.info("根据{}排序,是否倒序:{}",orderBy,isDesc);orderUtil = new OrderUtil(orderBy, isDesc);}JSONObject object = new JSONObject();logger.info("按条件获取第{}页的{}条用户", index + 1, count);PageUtil pageUtil = new PageUtil(index, count);List<User> userList = userService.getList(user, orderUtil, pageUtil);object.put("userList", JSONArray.parseArray(JSON.toJSONString(userList)));logger.info("按条件获取用户总数量");Integer userCount = userService.getTotal(user);object.put("userCount", userCount);logger.info("获取分页信息");pageUtil.setTotal(userCount);object.put("totalPage", pageUtil.getTotalPage());object.put("pageUtil", pageUtil);return object.toJSONString();}
}

源码获取:俺的博客首页 "资源" 里下载!

Java项目:酒吧后台管理系统(java+SSM+JSP+HTML+mysql)相关推荐

  1. 基于javaweb的酒吧后台管理系统(java+ssm+jsp+html+mysql)

    基于javaweb的酒吧后台管理系统(java+ssm+jsp+html+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclip ...

  2. 计算机毕业设计Java服装连锁店后台管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java服装连锁店后台管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java服装连锁店后台管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构 ...

  3. Java项目:智能小区物业管理系统(java+JSP+bootstrap+JavaScript+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目为后台管理系统,分为管理员与业主两种角色: 管理员主要功能包括: 首页.公告查询.修改密码.报修管理.业主信息.房产信息 ...

  4. Java项目:汽车配件销售管理系统(java+SpringBoot+layui+html+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 项目介绍 本项目为后台管理系统, 主要功能包括: 公告增删改查,用户管理,登录页面,订单查询,配件添加等等 环境需要 1.运行环境:最好是j ...

  5. Java项目:会员卡积分管理系统(java+JSP+JavaScript+HTML+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 登录,系统用户管理,修改后台登录密码,会员管理,添加会员,注册用户管理,会员卡管理,添加会员卡,会员 ...

  6. Java项目:手机商城管理系统(java+JSP+bootstrap+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台: 管理员角色包含以下功能: 管理员登录,订单 ...

  7. Java项目:停车位预定管理系统(java+JSP+JavaScript+HTML+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 管理员登录页面,车位信息管理,停车位信息管理,系统帮助管理,注册用户管理,留言信息管理,预定信息管理 ...

  8. Java项目:校园运动会管理系统(java+JSP+Servlet+JavaBean+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含三种角色:运动员.裁判员.管理员: 运动员角色包含以下功能: 运动员登录,个人信息修改,运动成绩查询,比赛项目查询等 ...

  9. Java项目:车租赁管理系统(java+Gui+文档)

    源码获取:博客首页 "资源" 里下载! 功能介绍: 登陆界面.管理员界面.用户界面.汽车租赁文档 系统主页: @SuppressWarnings("serial" ...

最新文章

  1. 如何实现快速的diff工具(windiff, winmerge)?
  2. 大工计算机基础在线作业答案,大工11春《计算机文化基础》在线作业及答案(国外英文资料).doc...
  3. 刷题总结——拆网线(noip模拟 贪心)
  4. 为了做到微服务的高可用,鬼知道我出了多少张牌
  5. 联想按f2进不了bios设置_华硕笔记本win10装win7bios设置方法分享
  6. LVS DR模式 负载均衡服务搭建
  7. 网络推广人员需要掌握的九大查询工具
  8. 修改Mysql默认 编码
  9. 非常完善的Log4net详细说明(转)
  10. 【Flink】Flink Elasticsearch client is not connected to any Elasticsearch nodes
  11. Spring MVC 基于Method的映射规则(注解版)
  12. Swift - 高级运算符介绍
  13. centos 6.2网卡配置
  14. java读取修改文件内容_JAVA读取文件指定内容进行修改
  15. 魔兽世界经典游戏ID搞笑篇 魔兽世界搞笑ID
  16. 阳离子型含糖水凝胶的合成
  17. Python基础之模块(Module)和包(Package)
  18. TCP_NODELAY/SO_LINGER/SO_NOSIGPIPE/MSG_NOSIGNAL设置
  19. php中文分隔符,php断句无乱码,PHP根据分隔符断句,中英文无乱码
  20. WinForm登陆成功后跳转到主窗口

热门文章

  1. 2022年还有高职扩招全日制大专
  2. 标准体制中的 GB8567——88
  3. 是时候停止说“软件架构”了 It’s Time to Stop Saying “Software Architecture”
  4. windows下hadoop对lzo的支持
  5. Scratch(二十九):虚拟现实交互
  6. 《福特自传》读书笔记
  7. 云计算:数据中心之虚拟机
  8. fanuc机器人试题_FANUC机器人报警综合汇总
  9. 计算机控制技术在农业的应用,电力电子技术在农业电气化中的应用
  10. 开发辅助 | 前端开发工程师对 UI设计、交互设计的认知