基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)

基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)

一、项目简述
功能:数据库采用mysq昨为数据存储,系统中涉及到的关 键表有,用户表、用户详情表、商品表、订单表、商品订 单关联表、评价表等等。本系统分为前端和后端,前端功 能有:登录注册、修改个人信息、修改收货地址、查看商 品、加购商品、结算商品,对订单进行评价、用户留言等 功能;后端功能有:登录、商品管理、用户管理、订单管 理、留言公告管理等功能。本系统中的购物车功能设计、io流读写图片存放本地、订单导出、“echarts插件实现订单信 息统计、后台批量操作、pagehelper实现分页等细节值得 学习。

二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP +Springboot+ SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + Layui+ maven等等。

基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)_第1张图片
基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)_第2张图片
基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)_第3张图片
基于javaweb+springboot的在线点餐系统(java+Springboot+ssm+mysql+maven)_第4张图片

        return "/admin/member/personal_info";
    }
    @PostMapping("/admin/updateAdmin")
    public String updateUser(User user) {
        userService.updateUser(user);
        return "redirect:/personal_info";
    }
    @GetMapping("/admin/updateAdminById")
    public String updateUserById(User user) {
        userService.updateUserById(user);
        return "redirect:/personal_info";
    }
/*
    @RequestMapping("/admin/check")
    @ResponseBody
    public String checkPassowrd(User user, String npassword){
*//*        String password = userService.findUserByUserId(user.getUserId()).getPassword();
        if(user.getPassword().equals(password)){
            user.setPassword(npassword);
            userService.updateUserPassword(user);
            return "true";
        }else{
            return "false";
        }*//*
            ObjectExcelViewOrder erv = new ObjectExcelViewOrder(excelMap.get("fileName"),excelMap.get("excelTitle"));
            return erv;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}
管理员控制层:
/**
 * 管理员控制层
 */
@Controller
public class Back_AdminController {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    @GetMapping("/admin/toMemberList")
    public String toMemberList(Model model){
        List<User> allUser = userService.findAllUser();
        List<Role> roleList  = roleService.findRoleList();
        return "/admin/order/order_list";
    }
    @RequestMapping("/admin/deleteOrder")
    public String deleteOrder(String orderId){
        orderService.deleteOrder(orderId);
        return "redirect:/admin/toOrderList";
    }
    /**
     * 修改后台订单状态
     * @param orderId
     * @param orderStatus
     * @return
     */
    @RequestMapping("/admin/updateAdminOrderStatus")
    public String updateAdminOrderStatus(String orderId,Integer orderStatus){
        orderService.updateOrderStatus(orderStatus,orderId);
@Controller
public class Back_OrderController {
    @Autowired
    private OrderService orderService;
    @Autowired
    private UserService userService;
    @Autowired
    private EvaService evaService;
    /**
     * 跳转到订单详情页面--并展示订单详情
     * @return
     */
    @RequestMapping("/admin/toOrderList")
    public String orderForm(@RequestParam(required = true, defaultValue = "1") Integer page, Model model) {
        PageHelper.startPage(page, 5);
        List<Order> orderAll = orderService.findOrderAll();
        model.addAttribute("order",orderAll);
        PageInfo<Order> pageInfo = new PageInfo<>(orderAll);
        model.addAttribute("page", pageInfo);
        return "/admin/order/order_list";
    }
    @RequestMapping("/admin/deleteOrder")
    public String deleteOrder(String orderId){
    }
    /**
     *@描述 1-1-从数据库获取数据
     */
    protected  List<Object> getExcelDataList(){
        try {
            List<Object> dataList = orderService.find4ExcelDown();
            return dataList;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    /**
     *@描述 1-2-导出Excel-自定义列标题和数据
     */
管理员控制层:
/**
 * 管理员控制层
 */
@Controller
public class Back_AdminController {
    @Autowired
    private UserService userService;
    @Autowired
    private RoleService roleService;
    @GetMapping("/admin/toMemberList")
    public String toMemberList(Model model){
        List<User> allUser = userService.findAllUser();
*//*        String password = userService.findUserByUserId(user.getUserId()).getPassword();
        if(user.getPassword().equals(password)){
            user.setPassword(npassword);
            userService.updateUserPassword(user);
            return "true";
        }else{
            return "false";
        }*//*
        return "false";
    }*/
    @RequestMapping("/addAdmin")
    public String addAdmin(User user) {
        userService.addUser(user);
        return "redirect:/admin/toMemberList";
    }
    @RequestMapping("/deleteAdmins")
    public String deleteAdmins(@RequestParam("userId") String[] userIds){
        userService.deleteAdminsById(userIds);
        return "redirect:/admin/toMemberList";
    }
    private RoleService roleService;
    @GetMapping("/admin/toMemberList")
    public String toMemberList(Model model){
        List<User> allUser = userService.findAllUser();
        List<Role> roleList  = roleService.findRoleList();
        model.addAttribute("userList",allUser);
        model.addAttribute("roleList", roleList);
        return "/admin/member/member_list";
    }
    /**
        PageInfo<Order> pageInfo = new PageInfo<>(orderAll);
        model.addAttribute("page", pageInfo);
        return "/admin/order/order_list";
    }
    @RequestMapping("/admin/deleteOrder")
    public String deleteOrder(String orderId){
        orderService.deleteOrder(orderId);
        return "redirect:/admin/toOrderList";
    }
    /**
     * 修改后台订单状态
     * @param orderId
     * @param orderStatus
     * @return
     */
    @RequestMapping("/admin/updateAdminOrderStatus")
    public String updateAdminOrderStatus(String orderId,Integer orderStatus){
        orderService.updateOrderStatus(orderStatus,orderId);
        return "redirect:/admin/toOrderList";
    }
    /**
        if(dbUser == null){
            model.addAttribute("errorInfo","用户名或密码错误~~");
            return "/admin/common/login";
        }
        //2-如果登录账号存在  判断是否为管理员身份
        if(dbUser.getRoleId() == 1){
            Subject subject = SecurityUtils.getSubject();
            //2-1-查询未读的留言
            List<Leave> messageList = leaveMapper.findAllLeaveList()
                    .stream().filter(leave -> leave.getStatus() == 0).collect(Collectors.toList());
            model.addAttribute("messageNum",messageList.size());
            subject.getSession().setAttribute("user",dbUser);
            return "/admin/common/index";
        }
        //3-如果不是管理员  返回登录界面
        model.addAttribute("errorInfo","非管理员不能登录后台管理系统~~");
        return "/admin/common/login";
    }
    @RequestMapping("/admin/home")
    public String home() {
        //跳转回用户列表页面
        return "/admin/common/home";
    /**
     *@描述 1-3-导出excel-自定义Excel标题和文件名
     */
    protected Map<String,String> getExcelTitleAndFileName(){
        Map<String,String> excelMap = new HashMap<String,String>();
        excelMap.put("excelTitle","订单信息表格");//excel标题
        DateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String time = sdf.format(new Timestamp(System.currentTimeMillis()));
        excelMap.put("fileName","订单信息表格" + time);//文件名
        return excelMap;
    }
    /**
        for(int i=0;i<dataList.size();i++){
            OrderExcelExportVO data = (OrderExcelExportVO)dataList.get(i);
            List> vpd = new ArrayList<>();
            varList.add(data);
        }
        dataMap.put("varList", varList);
        return dataMap;
    }
    /**
     *@描述 1-3-导出excel-自定义Excel标题和文件名
     */
    protected Map<String,String> getExcelTitleAndFileName(){
        Map<String,String> excelMap = new HashMap<String,String>();
        excelMap.put("excelTitle","订单信息表格");//excel标题
        DateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String time = sdf.format(new Timestamp(System.currentTimeMillis()));
        excelMap.put("fileName","订单信息表格" + time);//文件名
        return excelMap;
    }
    public String brandManage() {
        return "/admin/Brand_Manage";
    }
    @RequestMapping("toProduct_category_add")
    public String toProduct_category_add(){
        return "/admin/product-category-add";
    }
    @RequestMapping("/advertising")
    public String advertising() {
        return "/admin/advertising";
    }
    @RequestMapping("/admin/transaction")
    public String transaction() {
                "订单状态"
        };
        dataMap.put("titles", Arrays.asList(titleArray));
        //2-数据
        List<OrderExcelExportVO> varList = new ArrayList<OrderExcelExportVO>();
        for(int i=0;i<dataList.size();i++){
            OrderExcelExportVO data = (OrderExcelExportVO)dataList.get(i);
            List> vpd = new ArrayList<>();
            varList.add(data);
        }
        dataMap.put("varList", varList);
        return dataMap;
    }
    /**
     *@描述 1-3-导出excel-自定义Excel标题和文件名
     */
    protected Map<String,String> getExcelTitleAndFileName(){
        Map<String,String> excelMap = new HashMap<String,String>();
        excelMap.put("excelTitle","订单信息表格");//excel标题
        DateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String time = sdf.format(new Timestamp(System.currentTimeMillis()));
        model.addAttribute("order",orderAll);
        PageInfo<Order> pageInfo = new PageInfo<>(orderAll);
        model.addAttribute("page", pageInfo);
        return "/admin/order/order_list";
    }
    @RequestMapping("/admin/deleteOrder")
    public String deleteOrder(String orderId){
        orderService.deleteOrder(orderId);
        return "redirect:/admin/toOrderList";
    }
    /**
     * 修改后台订单状态
     * @param orderId
     * @param orderStatus
     * @return
     */
    @RequestMapping("/admin/updateAdminOrderStatus")
    public String updateAdminOrderStatus(String orderId,Integer orderStatus){
        orderService.updateOrderStatus(orderStatus,orderId);
        return "redirect:/admin/toOrderList";
    }
        evaService.saveAnsEva(orderId,ansContent);
        orderService.updateOrderStatus(orderStatus,orderId);
        return "redirect:/admin/toOrderList";
    }
    //跳转到订单详情页面
    @RequestMapping("/admin/orderDetailed")
    public String orderDetailed(String orderId,Model model){
        Order order =  orderService.findListByOrderId(orderId);
        model.addAttribute("order",order);
        return "/admin/order/order_detailed";
    }
    /**
     * 根据订单状态查询订单
     */
    @RequestMapping("/admin/searchOrderList")
    public String searchOrderList(Integer status,Model model){
        List<Order> orderList = orderService.findOrderByStatus(status);
    private UserService userService;
    @Autowired
    private EvaService evaService;
    /**
     * 跳转到订单详情页面--并展示订单详情
     * @return
     */
    @RequestMapping("/admin/toOrderList")
    public String orderForm(@RequestParam(required = true, defaultValue = "1") Integer page, Model model) {
        PageHelper.startPage(page, 5);
        List<Order> orderAll = orderService.findOrderAll();
        model.addAttribute("order",orderAll);
        PageInfo<Order> pageInfo = new PageInfo<>(orderAll);
        model.addAttribute("page", pageInfo);
        return "/admin/order/order_list";
    }
    @RequestMapping("/admin/deleteOrder")
     * 导出到excel
     * @return
     */
    @RequestMapping("/admin/downloadInfoToExcel")
    public ModelAndView downloadInfoToExcel() {
        System.out.println("导出到excel");
        ModelAndView mv = new ModelAndView();
        try {
            //1-根据id数组获取数据库数据
            List<Object> dataList = getExcelDataList();
            //2-获取列标题和封装数据
            Map<String, Object> dataMap = getTitleArrayAndVarList(dataList);
            //3-获取Excel表格文件名和表格标题
            Map<String, String> excelMap = getExcelTitleAndFileName();
            //4-创建AbstractExcelView
            AbstractExcelView erv = getAbstractExcelView(excelMap);
                    .stream().filter(leave -> leave.getStatus() == 0).collect(Collectors.toList());
            model.addAttribute("messageNum",messageList.size());
            subject.getSession().setAttribute("user",dbUser);
            return "/admin/common/index";
        }
        //3-如果不是管理员  返回登录界面
        model.addAttribute("errorInfo","非管理员不能登录后台管理系统~~");
        return "/admin/common/login";
    }
    @RequestMapping("/admin/home")
    public String home() {
        PageHelper.startPage(page, 5);
        List<Order> orderAll = orderService.findOrderAll();
        model.addAttribute("order",orderAll);
        PageInfo<Order> pageInfo = new PageInfo<>(orderAll);
        model.addAttribute("page", pageInfo);
        return "/admin/order/order_list";
    }
    @RequestMapping("/admin/deleteOrder")
    public String deleteOrder(String orderId){
        orderService.deleteOrder(orderId);
        return "redirect:/admin/toOrderList";
    }
    /**
     * 修改后台订单状态
     * @param orderId
    public String userList() {
        return "/admin/user_list";
    }
    @RequestMapping("/memberGrading")
    public String memberGrading() {
        return "/admin/member-Grading";
    }
    @RequestMapping("/integration")
    public String integration() {
        return "/admin/integration";
    }
    @RequestMapping("/feedBack")
    public String feedBack() {
        return "/admin/Feedback";
    }
    @RequestMapping("/systems")
    public ModelAndView downloadInfoToExcel() {
        System.out.println("导出到excel");
        ModelAndView mv = new ModelAndView();
        try {
            //1-根据id数组获取数据库数据
            List<Object> dataList = getExcelDataList();
            //2-获取列标题和封装数据
            Map<String, Object> dataMap = getTitleArrayAndVarList(dataList);
            //3-获取Excel表格文件名和表格标题
            Map<String, String> excelMap = getExcelTitleAndFileName();
            //4-创建AbstractExcelView
            AbstractExcelView erv = getAbstractExcelView(excelMap);
            //ObjectExcelViewOrderOperation erv = new ObjectExcelViewOrderOperation(excelMap.get("fileName"),excelMap.get("excelTitle"));
            mv = new ModelAndView(erv, dataMap);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return mv;
    }
    /**
     *@描述 1-1-从数据库获取数据
    public String orderHandling() {
        return "/admin/Order_handling";
    }
    @RequestMapping("/coverManagement")
    public String coverManagement() {
        return "/admin/Cover_management";
    }
    @RequestMapping("/userList")
    public String userList() {
        return "/admin/user_list";
    }
    @RequestMapping("/memberGrading")
    public String memberGrading() {
        return "/admin/member-Grading";
    }
    @RequestMapping("/integration")
    public String integration() {
        return "/admin/integration";
    }
    @RequestMapping("/feedBack")
    @RequestMapping("/userList")
    public String userList() {
        return "/admin/user_list";
    }
    @RequestMapping("/memberGrading")
    public String memberGrading() {
        return "/admin/member-Grading";
    }
    @RequestMapping("/integration")
    public String integration() {
        return "/admin/integration";
    }
    @RequestMapping("/feedBack")
    public String feedBack() {
        return "/admin/Feedback";
    }
    @RequestMapping("/systems")
    public String systems() {
        return "/admin/Systems";
    }
    /*  @RequestMapping("/menuManage")
      public String menuManage() {
          return "/admin/test";
      }*/
            }*/
        }
        model.addAttribute("pRoleName", pRoleName);
        model.addAttribute("pCount", pCount);
        model.addAttribute("sRoleName" , sRoleName);
        model.addAttribute("sCount", sCount);
        return "/admin/member/admin_competence";
    }
}
后台登录系统控制层:
/**
 * 后台登录系统控制层
 */
@Controller
public class Back_HomeController {
    @Autowired
    private UserMapper userMapper;
    @Autowired
    private LeaveMapper leaveMapper;
        User user = userService.findUserInfo(userId);
        model.addAttribute("user", user);
        return "/admin/member/personal_info";
    }
    @PostMapping("/admin/updateAdmin")
    public String updateUser(User user) {
        userService.updateUser(user);
        return "redirect:/personal_info";
    }
    @GetMapping("/admin/updateAdminById")
    public String updateUserById(User user) {
        userService.updateUserById(user);
        return "redirect:/personal_info";
    }
        return "/admin/test";
    }
    /* */
    @RequestMapping("/systemSet")
    public String systemSet() {
        return "/admin/Systems";
    }
}
后台订单相关controller:
/**
 * 后台订单相关controller
 */
@Controller
public class Back_OrderController {
    @Autowired
    private OrderService orderService;
    @Autowired
            }else{
                pRoleName = pRoleName + "  " + user.getUsername();
                pCount = pCount + 1;
            }*/
        }
        model.addAttribute("pRoleName", pRoleName);
        model.addAttribute("pCount", pCount);
        model.addAttribute("sRoleName" , sRoleName);
        model.addAttribute("sCount", sCount);
        return "/admin/member/admin_competence";
    }
}
后台登录系统控制层:
/**
 * 后台登录系统控制层
 */
@Controller
public class Back_HomeController {
    @Autowired
    private UserMapper userMapper;

你可能感兴趣的:(java,maven,spring,boot)