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


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

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

    1. /**
    2. * FileName: CategoryController
    3. *
    4. * Date: 2020/9/30 17:04
    5. * Description:
    6. */
    7. package com.qst.goldenarches.controller;
    8. import com.github.pagehelper.PageHelper;
    9. import com.qst.goldenarches.pojo.Category;
    10. import com.qst.goldenarches.pojo.Msg;
    11. import com.qst.goldenarches.pojo.Product;
    12. import com.qst.goldenarches.service.CategoryService;
    13. import com.sun.org.apache.regexp.internal.RE;
    14. import com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.PrivateKeyResolver;
    15. import org.springframework.beans.factory.annotation.Autowired;
    16. import org.springframework.stereotype.Controller;
    17. import org.springframework.ui.Model;
    18. import org.springframework.web.bind.annotation.RequestMapping;
    19. import org.springframework.web.bind.annotation.RequestParam;
    20. import org.springframework.web.bind.annotation.ResponseBody;
    21. import java.util.HashMap;
    22. import java.util.List;
    23. import java.util.Map;
    24. @Controller
    25. @RequestMapping("/category")
    26. public class CategoryController {
    27. @Autowired
    28. private CategoryService categoryService;
    29. /***
    30. * 商品类别:获取类别
    31. * 根据传入的商品类别id获取有商品的商品类别
    32. * @param categoryid
    33. * @return
    34. */
    35. @ResponseBody
    36. @RequestMapping("getCategories")
    37. public Msg getHaveProductCategories(Integer[] categoryid){
    38. Map map = new HashMap();
    39. map.put("categoryids", categoryid);
    40. List categories =categoryService.getHaveProductCategories(map);
    41. return Msg.success().add("categoryList",categories);
    42. }
    43. /***
    44. * 商品类别:批量删除商品类别
    45. * @param categoryid
    46. * @returns
    47. */
    48. @ResponseBody
    49. @RequestMapping("deleteBatch")
    50. public Msg deleteBatch(Integer[] categoryid){
    51. try {
    52. Map map = new HashMap();
    53. map.put("categoryids", categoryid);
    54. if (!categoryService.deleteProducts(map)){
    55. return Msg.fail();
    56. }
    57. } catch (Exception e) {
    58. e.printStackTrace();
    59. return Msg.fail();
    60. }
    61. return Msg.success();
    62. }
    63. /**
    64. * 商品类别:执行单个删除商品类别
    65. * @param id
    66. * @return
    67. */
    68. @ResponseBody
    69. @RequestMapping("deleteOne")
    70. public Msg deleteOne(Integer id){
    71. try {
    72. if(!categoryService.reomveCategory(id)){
    73. return Msg.fail();
    74. }
    75. }catch (Exception e){
    76. e.printStackTrace();
    77. return Msg.fail();
    78. }
    79. return Msg.success();
    80. }
    81. /**
    82. * 商品类别:执行商品信息修改方法
    83. * @param category
    84. * @return
    85. */
    86. @ResponseBody
    87. @RequestMapping("doEdit")
    88. public Msg doEdit(Category category){
    89. try {
    90. if(!categoryService.editCategory(category)){
    91. return Msg.fail();
    92. }
    93. }catch (Exception e){
    94. e.printStackTrace();
    95. return Msg.fail();
    96. }
    97. return Msg.success();
    98. }
    99. /**
    100. * 商品类别:跳转方法
    101. * 跳转到商品类别修改界面
    102. * @return
    103. */
    104. @RequestMapping("edit")
    105. public String toEdit(Category category, Model model){
    106. model.addAttribute("category", category);
    107. return "category/edit";
    108. }
    109. /**
    110. * 商品类别:添加商品类别
    111. * @param category
    112. * @return
    113. */
    114. @ResponseBody
    115. @RequestMapping("doAdd")
    116. public Msg doAdd(Category category){
    117. Boolean flag =categoryService.addCategory(category);
    118. if (flag){
    119. return Msg.success().add("category",category);
    120. }
    121. return Msg.fail();
    122. }
    123. /***
    124. * 商品类别:跳转方法
    125. * 跳转到商品类别添加界面
    126. * @return
    127. */
    128. @RequestMapping("add")
    129. public String toAdd(){
    130. return "category/add";
    131. }
    132. /**
    133. * 商品类别:分页查找
    134. * 查询全部商品类别并分页显示
    135. * @param pn 页码
    136. * @return json数据 Msg
    137. */
    138. @ResponseBody
    139. @RequestMapping("pagedGetAll")
    140. public Msg pagedGetAll(@RequestParam(value = "pageno",defaultValue = "1") Integer pn, String queryText){
    141. PageHelper.startPage(pn,5);
    142. List categories =categoryService.getAll(queryText);
    143. com.github.pagehelper.PageInfo categoryPageInfo =new com.github.pagehelper.PageInfo(categories,5);
    144. return Msg.success().add("pageInfo",categoryPageInfo);
    145. }
    146. /**
    147. * 商品后台:跳转方法
    148. * 跳转至商品类别主页
    149. * @return
    150. */
    151. @RequestMapping("index")
    152. public String toIndex(){
    153. return "category/index";
    154. }
    155. /***
    156. * 商品后台:获取全部商品类别
    157. * @return
    158. */
    159. @ResponseBody
    160. @RequestMapping("/getAll")
    161. public Msg getAll(){
    162. List categories =categoryService.getAll(null);
    163. return Msg.success().add("categoryInfo",categories);
    164. }
    165. }

    /**
     * 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 {
    
        @Autowired
        private AdminService adminService;
    
        @Autowired
        private RoleService roleService;
    
        @Autowired
        private 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 map = new HashMap();
                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 map = new HashMap();
                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 roles = roleService.getAllRoles(null);
    
            List assingedRoles = new ArrayList();
            List unassignRoles = new ArrayList();
    
            // 获取关系表的数据
            List 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 map = new HashMap();
                    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")
        @ResponseBody
        public 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 admins =adminService.getAllAdmin(queryText);
    
                com.github.pagehelper.PageInfo adminPageInfo =
                        new com.github.pagehelper.PageInfo(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 permissions = permissionService.getPermissionsByAdmin(dbAdmin);
                Map permissionMap = new HashMap();
                Permission root = null;
                Set uriSet = new HashSet();
                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";
        }
    }
    
  • 相关阅读:
    《Python编程基础》第1章、简介及示例
    vue+express、gitee pm2部署轻量服务器(20230923)
    【Hello Algorithm】二叉树相关算法
    自己使用的git总结
    <%=%>模板写法
    leetcode 2520 统计能整除数字的位数
    “热帖”统计
    小程序自学教程
    AXI三种接口及DMA DDR XDMA介绍(应用于vivado中的ip调用)
    19.前端笔记-CSS-显示隐藏元素
  • 原文地址:https://blog.csdn.net/weixin_42899150/article/details/128061218