• 计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台


    项目介绍

    餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间,有时候还会出错。小程序系统伴随智能手机为我们提供了新的方向。手机外卖点餐平台小程序的实现,首先服务员可以根据外卖点餐平台小程序系统确认点餐,并且根据账单来计算提成;其次餐厅管理人员可以根据订单记录,提前采购,提高顾客的满意度,而且更便于对员工的管理。这款基于小程序平台的外卖点餐平台小程序的设计与实现将会使外卖点餐平台小程序操作更加自如。本文通过对国内外现状的分析,明确了外卖点餐平台小程序在国内外的基本情况,对系统的功能需求做出分析,此系统是由用户下单,并且完成付款,生成订单;管理端可以查看每天的订单,并且可以对菜品分类管理、菜品管理、订单管理、系统管理进行操作。根据需求对系统进行设计,明确各个部分的规范,来完成系统的设计。最后在对设计的系统进行一系列的测试,是系统达到预期要求,再对系统进行进一步的完善。

    开发说明:前端使用微信微信小程序开发工具;后端使用springboot+VUE开发
    开发语言:Java
    开发工具:IDEA /Eclipse/微信小程序开发工具
    数据库:MYSQL5.7或以上
    应用服务:Tomcat8或以上

    功能介绍

    系统功能结构图是系统设计阶段,系统功能结构图只是这个阶段一个基础,整个系统的架构决定了系统的整体模式,是系统的根据。外卖点餐平台小程序的整个设计结构如图

    请添加图片描述

    部分代码

    /**
     * 登录相关
     */
    @RequestMapping("users")
    @RestController
    public class UserController{
    	
    	@Autowired
    	private UserService userService;
    	
    	@Autowired
    	private TokenService tokenService;
    
    	/**
    	 * 登录
    	 */
    	@IgnoreAuth
    	@PostMapping(value = "/login")
    	public R login(String username, String password, String captcha, HttpServletRequest request) {
    		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    		if(user==null || !user.getPassword().equals(password)) {
    			return R.error("账号或密码不正确");
    		}
    		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    		return R.ok().put("token", token);
    	}
    	
    	/**
    	 * 注册
    	 */
    	@IgnoreAuth
    	@PostMapping(value = "/register")
    	public R register(@RequestBody UserEntity user){
    //    	ValidatorUtils.validateEntity(user);
        	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
        		return R.error("用户已存在");
        	}
            userService.insert(user);
            return R.ok();
        }
    
    	/**
    	 * 退出
    	 */
    	@GetMapping(value = "logout")
    	public R logout(HttpServletRequest request) {
    		request.getSession().invalidate();
    		return R.ok("退出成功");
    	}
    	
    	/**
         * 密码重置
         */
        @IgnoreAuth
    	@RequestMapping(value = "/resetPass")
        public R resetPass(String username, HttpServletRequest request){
        	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        	if(user==null) {
        		return R.error("账号不存在");
        	}
        	user.setPassword("123456");
            userService.update(user,null);
            return R.ok("密码已重置为:123456");
        }
    	
    	/**
         * 列表
         */
        @RequestMapping("/page")
        public R page(@RequestParam Map<String, Object> params,UserEntity user){
            EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
        	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
            return R.ok().put("data", page);
        }
    
    	/**
         * 列表
         */
        @RequestMapping("/list")
        public R list( UserEntity user){
           	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
          	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
            return R.ok().put("data", userService.selectListView(ew));
        }
    
        /**
         * 信息
         */
        @RequestMapping("/info/{id}")
        public R info(@PathVariable("id") String id){
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
        
        /**
         * 获取用户的session用户信息
         */
        @RequestMapping("/session")
        public R getCurrUser(HttpServletRequest request){
        	Long id = (Long)request.getSession().getAttribute("userId");
            UserEntity user = userService.selectById(id);
            return R.ok().put("data", user);
        }
    
        /**
         * 保存
         */
        @PostMapping("/save")
        public R save(@RequestBody UserEntity user){
    //    	ValidatorUtils.validateEntity(user);
        	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
        		return R.error("用户已存在");
        	}
            userService.insert(user);
            return R.ok();
        }
    
        /**
         * 修改
         */
        @RequestMapping("/update")
        public R update(@RequestBody UserEntity user){
    //        ValidatorUtils.validateEntity(user);
        	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
        	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
        		return R.error("用户名已存在。");
        	}
            userService.updateById(user);//全部更新
            return R.ok();
        }
    
        /**
         * 删除
         */
        @RequestMapping("/delete")
        public R delete(@RequestBody Long[] ids){
            userService.deleteBatchIds(Arrays.asList(ids));
            return R.ok();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140

    效果图

    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

    请添加图片描述

    目 录
    1绪论 1
    1.1项目研究的背景 1
    1.2开发意义 1
    1.3项目研究现状及内容 5
    1.4论文结构 5
    2开发技术介绍 7
    2.1 B/S架构 7
    2.2 MySQL 介绍 7
    2.3 MySQL环境配置 7
    2.4 Java语言简介 8
    2.5微信小程序技术 8
    3系统分析 9
    3.1可行性分析 9
    3.1.1技术可行性 9
    3.1.2经济可行性 9
    3.1.3操作可行性 10
    3.2网站性能需求分析 10
    3.3网站功能分析 10
    3.4系统流程的分析 11
    3.4.1 用户管理的流程 12
    3.4.2 个人中心管理流程 13
    3.4.3 登录流程 13
    4系统设计 14
    4.1 软件功能模块设计 14
    4.2 数据库设计 13
    4.2.1 概念模型设计 13
    4.2.2 物理模型设计 15
    5系统详细设计 21
    5.1系统前台功能模块 21
    5.2管理员功能模块 24
    6系统测试 30
    7总结与心得体会 33
    7.1 总结 33
    7.2 心得体会 33
    参考文献 35
    致谢 36

  • 相关阅读:
    探索Maven创建项目全过程(超详细~~~)
    git仓库推送错误
    实现游戏中的轮廓描边
    黑马店评-04缓存更新策略,保证MySQL数据库中的数据和Redis中缓存的数据一致性
    小谈设计模式(27)—享元模式
    对mysql的联合索引的深刻理解
    Java类部类
    协议-http协议-基础概念04-长短连接-重定向-cookie-缓存-代理
    Jvm中时区设置方式
    第28章_瑞萨MCU零基础入门系列教程之基于面向对象的工程结构
  • 原文地址:https://blog.csdn.net/qq_1262330535/article/details/127754189