SpringBoot+Vue项目外卖点餐系统

前言介绍  

本文从用户的功能要求出发,建立了外卖点餐系统  ,系统中的功能模块主要是实现管理员;首页、个人中心、用户管理、商家管理、菜品分类管理、骑手管理、系统管理、菜品管理、订单管理、配送单管理、商品评价管理,商家;首页、个人中心、菜品管理、订单管理、配送单管理、商品评价管理、我的收藏管理,用户;首页、个人中心、订单管理、配送单管理、商品评价管理、我的收藏管理、骑手;首页、个人中心、订单管理、配送单管理、商品评价管理等功能部分;经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。

系统功能设计

软件的用户界面是最直接接触的对象,包括是否允许用户使用简单方便,请求的响应时间,主图像的整体质量,整体布局的质量。

外卖点餐系统   的设计基于现有的网络平台,可以实现用户管理及数据信息管理等功能。方便管理员;首页、个人中心、用户管理、商家管理、菜品分类管理、骑手管理、系统管理、菜品管理、订单管理、配送单管理、商品评价管理有详细的了解及统计分析,随时查看信息状态。 

系统功能设计是在系统开发和设计思想的总体任务的基础上完成的。该系统的主要任务是实现外卖点餐系统 管理,使用户可以通过指令完成整个外卖点餐系统的操作。

从上面的描述中可以基本可以实现软件的功能:

1、开发实现外卖点餐系统的整个系统程序; 

2、管理员;首页、个人中心、用户管理、商家管理、菜品分类管理、骑手管理、系统管理、菜品管理、订单管理、配送单管理、商品评价管理等模块信息的查看及相应操作;

3、用户:实现首页、个人中心、订单管理、配送单管理、商品评价管理、我的收藏管理等相应操作;

4、商家:实现首页、个人中心、菜品管理、订单管理、配送单管理、商品评价管理、我的收藏管理等相应操作;

5、骑手;首页、个人中心、订单管理、配送单管理、商品评价管理等相应操作;

6、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行留言信息的查看及回复相应操作。

系统功能结构图

系统实现

用户前台功能模块

通过进入网站可以查看首页、商家、菜品、登录、后台管理等功能模块,如图1所示;通过点击登录可以填写账号、密码等详细信息,进行登录操作,如图2

登录界面图 

用户通过点击个人中心进入页面,可以查看个人信息、信息修改等信息,进行操作,如图1所示。用户通过点击菜品详情进入页面,可以填写名称、类型、口味、价格等信息,进行提交操作,如图

菜品详情界面图 

管理员功能模块

管理员通过后台登录窗口进行输入自己的账号信息、密码等信息,进行登录,如图

个人信息,管理员通过列表进行查看用户名等信息,进行查看、修改或删除操作,如图

用户管理,管理员通过用户管理可以在线查看账号、密码、姓名、性别、头像等信息,进行详情或修改、删除操作,如图

商家管理,管理员通过商家管理可以在线查看商家编号、密码、商家名称、图片等信息,进行查看或修改、删除操作,如图

菜品分类管理,管理员通过菜品分类管理可以在线查看类型等信息,进行查看或添加修改或删除,如图

菜品管理:通过列表可以获取名称、类型、图片、口味、价格等信息,进行查看、详情、修改或删除操作  ,如图

订单管理:通过列表可以获取名称、类型、图片、价格等信息,进行查看、详情、修改或删除操作  ,如图

商家功能模块

商家通过点击后台管理,进入页面可以进行首页、个人中心、菜品管理、订单管理、配送单管理、商品评价管理、我的收藏管理等功能模块,进行相对应操作,如图

菜品管理:通过菜品管理可以进行获取名称、类型、图片、口味等信息,如图

订单管理:商家通过列表可以获取名称、类型、图片、价格、购买数量等信息,进行查看订单管理等信息操作,如图

配送单管理:商家通过列表可以获取名称、图片、购买数量、商家编号等信息,进行查看配送单管理等信息操作,如图

用户功能模块

用户通过点击后台管理,进入页面可以进行首页、个人中心、订单管理、配送单管理、商品评价管理、我的收藏管理等功能模块,进行相对应操作,如图

订单管理:通过订单管理可以进行获取名称、类型、图片、价格、购买数量、总价格等信息,如图

配送单管理:用户通过列表可以获取名称、图片、购买数量、商家编号等信息,进行查看配送单管理等信息操作,如图

商品评价管理:用户通过列表可以获取名称、图片、购买数量、商家编号等信息,进行查看商品评价管理等信息操作,如图

我的收藏管理:用户通过列表可以获取收藏id、收藏名称、收藏图片等信息,进行查看我的收藏管理等信息操作,如图

骑手功能模块

骑手通过点击后台管理,进入页面可以进行首页、个人中心、订单管理、配送单管理、商品评价管理等功能模块,进行相对应操作,如图 

订单管理:通过订单管理可以进行获取名称、类型、图片、价格、购买数量等信息,如图

配送单管理:骑手通过列表可以获取名称、图片、购买数量、商家编号等信息,进行查看配送单管理等信息操作,如图

 部分核心代码:   

/**
 * 配送单
 * 后端接口
 * @author 
 * @email 
 * @date 2020-09-23 18:00:25
 */
@RestController
@RequestMapping("/peisongdan")
public class PeisongdanController {
    @Autowired
    private PeisongdanService peisongdanService;
    
 
 
    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,PeisongdanEntity peisongdan, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("shangjia")) {
			peisongdan.setShangjiabianhao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("yonghu")) {
			peisongdan.setZhanghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("qishou")) {
			peisongdan.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<PeisongdanEntity> ew = new EntityWrapper<PeisongdanEntity>();
		PageUtils page = peisongdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peisongdan), params), params));
 
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,PeisongdanEntity peisongdan, HttpServletRequest request){
        EntityWrapper<PeisongdanEntity> ew = new EntityWrapper<PeisongdanEntity>();
		PageUtils page = peisongdanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, peisongdan), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( PeisongdanEntity peisongdan){
       	EntityWrapper<PeisongdanEntity> ew = new EntityWrapper<PeisongdanEntity>();
      	ew.allEq(MPUtil.allEQMapPre( peisongdan, "peisongdan")); 
        return R.ok().put("data", peisongdanService.selectListView(ew));
    }
 
	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(PeisongdanEntity peisongdan){
        EntityWrapper< PeisongdanEntity> ew = new EntityWrapper< PeisongdanEntity>();
 		ew.allEq(MPUtil.allEQMapPre( peisongdan, "peisongdan")); 
		PeisongdanView peisongdanView =  peisongdanService.selectView(ew);
		return R.ok("查询配送单成功").put("data", peisongdanView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        PeisongdanEntity peisongdan = peisongdanService.selectById(id);
        return R.ok().put("data", peisongdan);
    }
 
    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        PeisongdanEntity peisongdan = peisongdanService.selectById(id);
        return R.ok().put("data", peisongdan);
    }
    
 
 
 
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody PeisongdanEntity peisongdan, HttpServletRequest request){
    	peisongdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(peisongdan);
        peisongdanService.insert(peisongdan);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody PeisongdanEntity peisongdan, HttpServletRequest request){
    	peisongdan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(peisongdan);
        peisongdanService.insert(peisongdan);
        return R.ok();
    }
 
    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody PeisongdanEntity peisongdan, HttpServletRequest request){
        //ValidatorUtils.validateEntity(peisongdan);
        peisongdanService.updateById(peisongdan);//全部更新
        return R.ok();
    }
    
 
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        peisongdanService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<PeisongdanEntity> wrapper = new EntityWrapper<PeisongdanEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}
 
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("shangjia")) {
			wrapper.eq("shangjiabianhao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("yonghu")) {
			wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("qishou")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}
 
		int count = peisongdanService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
 
 
}

gitCode源码获取入口icon-default.png?t=N7T8https://gitcode.com/yuanmadd/ymgg/blob/main/README.md?init=initTree​​​​​​​

### 回答1: 外卖点餐系统是一种基于Spring BootVue框架开发的在线点餐平台。通过该系统,顾客可以通过手机App或网页进行餐厅选择、菜单浏览、下单付款等操作,实现了线上点餐的便利性和实时性。 该系统的后端使用了Spring Boot框架,它是一种轻量级、快速开发的Java框架,拥有很好的可扩展性和易于维护性。Spring Boot通过自动配置和约定大于配置的原则,大大简化了开发流程,并提供了一些常用功能的集成,例如数据库操作、事务管理等。同时,Spring Boot还提供了丰富的插件和扩展,方便与其他框架或组件进行集成,如Spring Security用于权限管理、Spring Cloud用于微服务架构等。 而前端则采用了Vue框架,Vue是一种流行的JavaScript框架,它的核心思想是数据驱动和组件化,能够帮助开发者更高效地构建用户界面。Vue具有灵活的架构,易于上手和学习,并且支持热更新和虚拟DOM,使得页面响应更迅速。此外,Vue还提供了丰富的插件和开发工具,如Vue Router用于路由管理、Vuex用于状态管理等,能够更好地满足复杂应用的需求。 在外卖点餐系统中,Spring BootVue框架通过RESTful API进行数据交互,前后端分离,提高了系统的可扩展性和可维护性。另外,系统还使用了数据库存储餐厅信息、菜单、订单等数据,使用了支付接口实现在线支付功能。 总之,基于Spring BootVue外卖点餐系统是一种现代化的点餐解决方案,能够提供便捷、高效的在线点餐体验,提升了餐厅的服务质量和用户的消费体验。 ### 回答2: 外卖点餐系统是一个方便快捷的在线点餐平台,使用SpringBootVue框架进行开发。 SpringBoot是一个Java开发框架,具有简化配置和快速开发的特点。它提供了一套强大的功能,可以轻松构建高性能的应用程序。SpringBootVue框架结合使用的好处是,SpringBoot负责后端服务的开发,处理业务逻辑、数据存储和API接口等方面;而Vue负责前端页面的展示和用户交互,使用户能够方便地浏览菜单、选择商品、下订单等操作。 外卖点餐系统的功能包括用户注册与登录、浏览菜单、下订单、付款、配送等。用户可以通过注册和登录功能,创建自己的账号并登录系统。在系统中,他们可以浏览不同餐厅的菜单,选择自己喜欢的菜品,并将其添加到购物车中。在确认订单后,用户可以选择付款方式进行支付。系统将收到的订单信息发送给餐厅,餐厅可以根据订单准备食物并安排配送。用户可以随时查看订单状态,了解订单的配送进度。 外卖点餐系统还可以提供其他功能,例如用户评价和反馈、积分系统和优惠券等。用户可以对餐厅的菜品和服务进行评价,并提供反馈意见。积分系统可以根据用户的点餐次数和金额给予相应的积分奖励,用户可以在下次订单时使用积分进行抵扣。优惠券可以在特定时间或活动中发放给用户,用户可以在下单时使用。这些功能可以提高用户的参与度和忠诚度。 总之,外卖点餐系统使用SpringBootVue开发,可以为用户提供方便快捷的在线点餐服务,并且拥有丰富的功能和良好的用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值