(免费分享)基于ssm在线点餐

news/2024/5/9 4:08:20/文章来源:https://blog.csdn.net/weixin_42899150/article/details/128061218

源码获取:关注文末gongzhonghao,017领取下载链接

开发工具:IDEA ,Tomcat8.0,数据库:mysql5.7

/*** FileName: CategoryController** Date:     2020/9/30 17:04* Description:*/
package com.qst.goldenarches.controller;import com.github.pagehelper.PageHelper;
import com.qst.goldenarches.pojo.Category;
import com.qst.goldenarches.pojo.Msg;
import com.qst.goldenarches.pojo.Product;
import com.qst.goldenarches.service.CategoryService;
import com.sun.org.apache.regexp.internal.RE;
import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.PrivateKeyResolver;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.HashMap;
import java.util.List;
import java.util.Map;@Controller
@RequestMapping("/category")
public class CategoryController {@Autowiredprivate CategoryService categoryService;/**** 商品类别:获取类别* 根据传入的商品类别id获取有商品的商品类别* @param categoryid* @return*/@ResponseBody@RequestMapping("getCategories")public Msg getHaveProductCategories(Integer[] categoryid){Map<String, Object> map = new HashMap<String, Object>();map.put("categoryids", categoryid);List<Category> categories =categoryService.getHaveProductCategories(map);return  Msg.success().add("categoryList",categories);}/**** 商品类别:批量删除商品类别* @param categoryid* @returns*/@ResponseBody@RequestMapping("deleteBatch")public Msg deleteBatch(Integer[] categoryid){try {Map<String, Object> map = new HashMap<String, Object>();map.put("categoryids", categoryid);if (!categoryService.deleteProducts(map)){return Msg.fail();}} catch (Exception e) {e.printStackTrace();return Msg.fail();}return Msg.success();}/*** 商品类别:执行单个删除商品类别* @param id* @return*/@ResponseBody@RequestMapping("deleteOne")public Msg deleteOne(Integer id){try {if(!categoryService.reomveCategory(id)){return Msg.fail();}}catch (Exception e){e.printStackTrace();return Msg.fail();}return Msg.success();}/*** 商品类别:执行商品信息修改方法* @param category* @return*/@ResponseBody@RequestMapping("doEdit")public Msg doEdit(Category category){try {if(!categoryService.editCategory(category)){return Msg.fail();}}catch (Exception e){e.printStackTrace();return Msg.fail();}return Msg.success();}/*** 商品类别:跳转方法* 跳转到商品类别修改界面* @return*/@RequestMapping("edit")public String toEdit(Category category, Model model){model.addAttribute("category", category);return "category/edit";}/*** 商品类别:添加商品类别* @param category* @return*/@ResponseBody@RequestMapping("doAdd")public Msg doAdd(Category category){Boolean flag =categoryService.addCategory(category);if (flag){return Msg.success().add("category",category);}return Msg.fail();}/**** 商品类别:跳转方法* 跳转到商品类别添加界面* @return*/@RequestMapping("add")public String toAdd(){return "category/add";}/*** 商品类别:分页查找* 查询全部商品类别并分页显示* @param pn 页码* @return json数据 Msg*/@ResponseBody@RequestMapping("pagedGetAll")public Msg pagedGetAll(@RequestParam(value = "pageno",defaultValue = "1") Integer pn, String queryText){PageHelper.startPage(pn,5);List<Category> categories =categoryService.getAll(queryText);com.github.pagehelper.PageInfo<Category> categoryPageInfo =new com.github.pagehelper.PageInfo<Category>(categories,5);return Msg.success().add("pageInfo",categoryPageInfo);}/*** 商品后台:跳转方法* 跳转至商品类别主页* @return*/@RequestMapping("index")public String toIndex(){return "category/index";}/**** 商品后台:获取全部商品类别* @return*/@ResponseBody@RequestMapping("/getAll")public Msg getAll(){List<Category> categories =categoryService.getAll(null);return Msg.success().add("categoryInfo",categories);}}

/*** FileName: AdminController** Date:     2020/10/6 17:59* Description: 管理员控制类*/
package com.qst.goldenarches.controller;
import com.github.pagehelper.PageHelper;
import com.qst.goldenarches.pojo.*;
import com.qst.goldenarches.service.AdminService;
import com.qst.goldenarches.service.PermissionService;
import com.qst.goldenarches.service.RoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.*;@Controller
@RequestMapping("admin")
public class AdminController {@Autowiredprivate AdminService adminService;@Autowiredprivate RoleService roleService;@Autowiredprivate PermissionService permissionService;/*** 跳转到错误页面(权限不足)* @return*/@RequestMapping("error")public String error() {return "admin/error";}/*** 删除管理员的角色* @param adminId* @param assignRoleIds* @return*/@ResponseBody@RequestMapping("doUnAssign")public Object dounAssign( Integer adminId, Integer[] assignRoleIds ) {try {// 删除关系表数据Map<String, Object> map = new HashMap<String, Object>();map.put("adminId", adminId);map.put("roleIds", assignRoleIds);adminService.removeAdminRoles(map);return Msg.success();} catch ( Exception e ) {e.printStackTrace();return Msg.fail();}}/*** 为管理员分配角色* @param adminId* @param unassignRoleIds* @return*/@ResponseBody@RequestMapping("doAssign")public Object doAssign( Integer adminId, Integer[] unassignRoleIds ) {try {// 增加admin_role关系表数据Map<String, Object> map = new HashMap<String, Object>();map.put("adminId", adminId);map.put("roleIds", unassignRoleIds);adminService.addAdminRoles(map);return Msg.success();} catch ( Exception e ) {e.printStackTrace();return Msg.fail();}}/*** 页面跳转:* 跳转到管理员角色分配页面* 数据回显,显示已经分配的角色* 和没有分配的角色* @param id* @param model* @return*/@RequestMapping("/assign")public String assign( Integer id, Model model ) {Admin admin = adminService.getAdminById(id);model.addAttribute("admin", admin);List<Role> roles = roleService.getAllRoles(null);List<Role> assingedRoles = new ArrayList<Role>();List<Role> unassignRoles = new ArrayList<Role>();// 获取关系表的数据List<Integer> roleids = adminService.getRoleIdsByAdminId(id);for ( Role role : roles ) {if ( roleids.contains(role.getId()) ) {assingedRoles.add(role);} else {unassignRoles.add(role);}}model.addAttribute("assingedRoles", assingedRoles);model.addAttribute("unassignRoles", unassignRoles);return "admin/assign";}/*** 根据id删除管理员* @param adminid* @return*/@ResponseBody@RequestMapping("/deletes")public Msg deletes( Integer[] adminid ) {try {if (adminid.length>0){Map<String, Object> map = new HashMap<String, Object>();map.put("adminids", adminid);adminService.removeAdmins(map);return Msg.success();}return  Msg.fail();} catch ( Exception e ) {e.printStackTrace();return Msg.fail();}}/*** 实现用户修改业务逻辑* @param admin* @return*/@ResponseBody@RequestMapping("/doEdit")public Msg update(HttpSession session, Admin admin ) {try {Admin sessionAdmin =(Admin) session.getAttribute("loginAdmin");if(sessionAdmin.getId()==admin.getId()){adminService.editAdmin(admin);session.setAttribute("loginAdmin",admin);return Msg.success();}return Msg.fail();} catch ( Exception e ) {e.printStackTrace();return Msg.fail();}}/*** 跳转到修改个人信息(admin)界面* @param model* @return*/@RequestMapping("/edit")public String edit(HttpSession session,Model model ) {Admin admin =(Admin) session.getAttribute("loginAdmin");model.addAttribute("admin",admin);return "admin/edit";}/*** 新增界面实现新增业务* @param admin* @return*/@ResponseBody@RequestMapping("doAdd")public Msg doAdd( Admin admin ) {try {if (adminService.validateAccountUnique(admin.getAccount())){admin.setPassword("1234");//默认密码SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");admin.setCreateTime(sdf.format(new Date()));adminService.addAdmin(admin);return Msg.success();}return Msg.fail();} catch ( Exception e ) {e.printStackTrace();return Msg.fail();}}/*** 检验用户账户唯一性* @param account* @return*/@RequestMapping("uniqueAcct")@ResponseBodypublic Msg validateAccountUnique(String account,HttpSession session){try {if(account!=null) {boolean flag = adminService.validateAccountUnique(account);if (flag){return Msg.success();}}return Msg.fail().add("va_msg","账户已存在");}catch (Exception e){e.printStackTrace();return Msg.fail().add("va_mag","服务异常,稍后重试");}}/*** 跳转到新增界面* @return*/@RequestMapping("add")public String toAdd(){return "admin/add";}/**** @param pn* @param pagesize* @param queryText* @return*/@ResponseBody@RequestMapping("/pageQuery")public Msg pageQuery( @RequestParam(value = "pageno",defaultValue = "1") Integer pn,@RequestParam(value = "pagesize",defaultValue = "10")Integer pagesize , String queryText) {try {PageHelper.startPage(pn,pagesize);List<Admin> admins =adminService.getAllAdmin(queryText);com.github.pagehelper.PageInfo<Admin> adminPageInfo =new com.github.pagehelper.PageInfo<Admin>(admins,5);return Msg.success().add("pageInfo",adminPageInfo);} catch ( Exception e ) {e.printStackTrace();return Msg.fail();}}/*** 页面跳转* 管理员列表主界面* @return*/@RequestMapping("/index")public String index(){return "admin/index";}/**** 管理员退出* @param session* @return*/@RequestMapping("logout")public String logout(HttpSession session){session.invalidate();return "redirect:/admin/login";}/*** 跳转到登陆后的主页面,* 也是数据分析主页面* @return*/@RequestMapping("main")public String toMain(){return "admin/main";}/*** 执行管理员登陆* @param admin* @param session* @return*/@ResponseBody@RequestMapping("/doLogin")public Msg doLogin(Admin admin, HttpSession session){Admin dbAdmin =adminService.login(admin);if (dbAdmin!=null){session.setAttribute("loginAdmin",dbAdmin);// 获取用户权限信息List<Permission> permissions = permissionService.getPermissionsByAdmin(dbAdmin);Map<Integer, Permission> permissionMap = new HashMap<Integer, Permission>();Permission root = null;Set<String> uriSet = new HashSet<String>();for ( Permission permission : permissions ) {permissionMap.put(permission.getId(), permission);if ( permission.getUrl() != null && !"".equals(permission.getUrl()) ) {uriSet.add(session.getServletContext().getContextPath() + permission.getUrl());}}session.setAttribute("authUriSet", uriSet);for ( Permission permission : permissions ) {Permission child = permission;if ( child.getPid() == 0 ) {root = permission;} else {Permission parent = permissionMap.get(child.getPid());parent.getChildren().add(child);}}session.setAttribute("rootPermission", root);return Msg.success();}else {return Msg.fail();}}/*** 跳转到登陆页面* @return*/@RequestMapping("login")public String toLogin(){return "admin/login";}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_226320.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某大厂领导发邮件,怒斥员工“21点没人加班”,要求员工反思!

注意&#xff0c;又有奇葩领导出没。近日&#xff0c;有网友爆出恒生电子某领导发邮件“反思”21&#xff1a;00后没人上班&#xff0c;该领导说&#xff0c;当时自己脑子里冒出了几个念头&#xff1a;1.这些小组的工作任务都已经按时保质保量完成了吗&#xff1f;各项研发指标…

10.前端笔记-CSS-盒子模型-border和padding

页面布局的三大核心&#xff1a; 盒子模型浮动定位 1、盒子模型 1.1 盒子模型组成 盒子模型本质还是一个盒子&#xff0c;包括边框border、外边距margin、内边距padding和实际内容content 1.1.1 边框border 组成 组成&#xff1a;颜色border-color、边框宽度border-wid…

Spring项目结合Maven【实现读取不同的资源环境】

&#x1f4c3;目录跳转&#x1f4da;简介&#xff1a;&#x1f351;修改pom.xml&#x1f95e;修改application.yml&#x1f680; 演示&#xff1a;&#x1f4da;简介&#xff1a; 由于我们写功能的不能影响到线上环境的配置&#xff0c;所以每一次增加功能我们都要吧项目部署到…

JVM的垃圾回收机制(GC)

系列文章目录 JVM的内存区域划分_crazy_xieyi的博客-CSDN博客 JVM类加载&#xff08;类加载过程、双亲委派模型&#xff09;_crazy_xieyi的博客-CSDN博客 文章目录 一、什么是垃圾回收&#xff1f;二、java的垃圾回收&#xff0c;要回收的内存是哪些&#xff1f;三、回收堆上…

BGP服务器

BGP服务器被称为“边界网关协议”(BGP)&#xff0c;是一种用于在不同主机网关、 Internet或自治系统之间传输数据和信息的路由协议。 BGP是一种路径矢量协议(PVP)&#xff0c;它维护不同主机、网络和网关的路由器的路径&#xff0c;并根据 BGP做出路由决定。把电信、联通、联通…

Mac 使用paralles 从零搭建hadoop集群

目录 1. 虚机的安装与配置 1.1 安装parallels 1.2 安装fedora系统 1.3 fedora的配置 1.3.1 内存和硬盘配置 1.3.2 网络配置 1.3.3 共享文件夹 1.4 虚拟机克隆 与 加载 2. 免密登录 2.1 分别查看master&#xff0c; slave01&#xff0c;slave02 的ip 2.2 查看各虚机的…

Map学习笔记——深入理解ConcurrentHashMap

ConcurrentHashMap 是我们日常开发中使用频率最高的并发容器之一了&#xff0c;具有如下特点: 基于JDK8分析 存储结构和HashMap一样&#xff0c;都是数组 链表 红黑树是线程安全的容器&#xff0c;底层是通过CAS自旋 sychronized 来保证的key 和 value 都不允许为空&#xf…

异步请求-AJAX

什么是同步交互 首先用户向HTTP服务器提交一个处理请求。接着服务器端接收到请求后&#xff0c;按照预先编写好的程序中的业务逻辑进行处理&#xff0c;比如和数据库服务器进行数据信息交换。最后&#xff0c;服务器对请求进行响应&#xff0c;将结果返回给客户端&#xff0c;返…

黑苹果之微星(MSI)主板BIOS详细设置篇

很多童鞋安装黑苹果的时候会卡住&#xff0c;大部分原因是cfg lock 没有关闭&#xff0c;以及USB端口或SATA模式设置错误。 为了避免这些安装阶段报错的情况发生&#xff0c;今天给大家分享一下超详细的BIOS防踩坑设置指南--微星&#xff08;MSI&#xff09;主板BIOS篇&#xf…

CTFHub | Refer注入

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

天然气潮流计算matlab程序

天然气潮流计算matlab程序 1 天然气潮流计算理论 由于天然气涉及到流体的运动方程&#xff0c;直接计算非常复杂&#xff0c;因此需要提前做出一些假设来简化计算&#xff0c;经过研究&#xff0c;适当的假设对结果影响很小&#xff0c;因此本文对天然气系统做出如下假设&#…

MNN--初步学习

来自阿里MNN有三个贡献点&#xff1a; 提出了预推理机制&#xff0c;在线计算推理成本和最优方案优化了kernel提出后端抽象实现混合调度MNN的架构&#xff1a; 分离线和在线两部分。离线就是很传统的模型转换、优化、压缩、量化的那一套东西&#xff0c;这里mnn转出的模型文件…

springboot thymeleaf使用

导入依赖 <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>3.0.11.RELEASE</version> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <a…

人口数据集:地级市常住人口与户籍人口、人口1%抽样调查数据两大维度指标数据

一、地级市常住人口与户籍人口 1、数据来源&#xff1a;地级市常住人口数据&#xff08;主要来源于各地政府公报&#xff09;&#xff0c;户籍人口数据来源于《中国城市统计年鉴》 2、时间跨度&#xff1a;2003-2019年 3、区域范围&#xff1a;280个地级市 4、指标说明&…

牛顿法(牛顿拉夫逊)配电网潮流计算matlab程序

牛顿法配电网潮流计算matlab程序 传统牛顿—拉夫逊算法&#xff0c;简称牛顿法&#xff0c;是将潮流计算方程组F(X)0&#xff0c;进行泰勒展开。因泰勒展开有许多高阶项&#xff0c;而高阶项级数部分对计算结果影响很小&#xff0c;当忽略一阶以上部分时&#xff0c;可以简化对…

校园论坛设计(Java)——介绍篇

校园论坛设计&#xff08;Java&#xff09; 文章目录校园论坛设计&#xff08;Java&#xff09;0、写在前面1、项目介绍2、项目背景3、项目功能介绍3.1 总体设计图3.2 帖子模块3.3 学习模块3.4 个人信息模块3.5 数据报表模块3.6 校园周边模块3.7 用户管理模块3.8 登录注册模块4…

[足式机器人]Part3机构运动微分几何学分析与综合Ch02-3 平面机构离散运动鞍点综合——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch02-3 平面机构离散运动鞍点综合2.4 鞍滑点2.4.1 鞍线与二副连架杆P-R2.4.2 鞍线误差2.4.3 三位置鞍线2.4.4 四位置鞍线2.4.5 多位置鞍线2.4.6 滑点与鞍滑点2.4 鞍滑…

问题盘点|使用 Prometheus 监控 Kafka,我们该关注哪些指标

Kafka 作为当前广泛使用的中间件产品&#xff0c;承担了重要/核心业务数据流转&#xff0c;其稳定运行关乎整个业务系统可用性。本文旨在分享阿里云 Prometheus 在阿里云 Kafka 和自建 Kafka 的监控实践。01Kafka 简介Aliware01Kafka 是什么&#xff1f;Kafka 是分布式、高吞吐…

力扣(LeetCode)88. 合并两个有序数组(C++)

朴素思想 朴素思想&#xff0c;开第三个数组&#xff0c;对 nums1nums1nums1 和 nums2nums2nums2 进行二路归并。 class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {vector<int> nums3(mn);int i 0,j …

创新赋能合作伙伴,亚马逊云科技re:Invent科技盛宴

北京时间11月29号&#xff0c;亚马逊云科技年度峰会re:Invent 2022将在拉斯维加斯开幕。这场年度最重磅的云计算技术大会不仅是科技盛宴&#xff0c;也是亚马逊云科技与诸多客户交流互鉴的绝佳平台&#xff0c;今天带大家认识一下几位资深云计算用户&#xff0c;以及他们和re:I…