基于SpringBoot的外卖点餐小程序 餐厅点单小程序
小程序外卖扫码点餐为客户提供的是最方便的饮食方式,以快速、便捷的点餐业务送货上门为 -客户服务,这省去了客户很多不必要的时间和麻烦,给商家带来更多利益。同时,小程序外卖扫码点餐可以辅助餐饮企业营销,通过信息管理,可以记录餐饮企业方方面面的数据。与传统的电话点餐相比,网络点餐有着诸多优点。比如,电话点餐时,往在由于客户对餐饮企业提供的信息不够了解,就会进行相关的咨询,造成一定程度上的时间浪费。
🔥作者:雨晨源码🔥
💖简介:java、微信小程序、安卓;定制开发,远程调试 代码讲解,文档指导,ppt制作💖
精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻
Java精彩实战毕设项目案例
小程序精彩项目案例
Python实战项目案例
💕💕文末获取源码
本次文章主要是介绍SpringBoot外卖点餐小程序的功能,系统分为二个角色,分别是用户和管理员
外卖点餐小程序-系统前言简介
小程序外卖扫码点餐为客户提供的是最方便的饮食方式,以快速、便捷的点餐业务送货上门为 -客户服务,这省去了客户很多不必要的时间和麻烦,给商家带来更多利益。同时,小程序外卖扫码点餐可以辅助餐饮企业营销,通过信息管理,可以记录餐饮企业方方面面的数据。
与传统的电话点餐相比,网络点餐有着诸多优点。比如,电话点餐时,往在由于客户对餐饮企业提供的信息不够了解,就会进行相关的咨询,造成一定程度上的时间浪费。电话接收人员在同一天反复重复相同的信息,也造成了人力资源的浪费,相比而言,网络点餐提供图文并茂,及时更新的丰富信息,让客户就像在超市里挑选商品一样选订自己喜爱的餐品,这在一定程度上给了客户更多的选择权和自由权。本文设计了一套基于小程序的小程序外卖扫码点餐管理系统,该系统的平台开发语言是基于面向对象思想的Java语言,在windows环境下,集成了SpringBoot框架作为项目的骨架,采用了小程序+BootStrap等前端技术,并使用MySQL作为本项目的后台数据库,目的是对网络点餐信息进行管理,开发一款能信息化的管理点餐的平台。
外卖点餐小程序-开发技术与环境
- 开发语言:Java
- 后端框架:SpringBoot(spring+springmvc+mybatis)
- 前端:微信小程序
- 数据库:MySQL
- 系统架构:B/S
- 开发工具:jdk1.8、Tomcat8.5(内置)、Navicat,IDEA(Eclipse、MyEclipse )选其一
外卖点餐小程序-功能介绍
2个角色:用户/管理员(亮点:redis缓存,购物车功能)
用户:登录注册,我的地址,我的订单,购物车,点菜,订单结算,评价(好评,中评,差评)等。
管理员:商品管理,菜品管理,订单管理,老板查帐,评价管理,店铺信息。
外卖点餐小程序-演示图片
1.用户端页面:
☀️点餐界面☀️
☀️菜品详情.☀️
☀️购物车☀️
☀️商家信息☀️
☀️我的订单☀️
☀️我的地址☀️
2.管理员端页面:
☀️菜品管理☀️
☀️分类管理☀️
☀️订单管理☀️
☀️评价总览☀️
☀️收入统计☀️
☀️店铺信息☀️
外卖点餐小程序-代码展示
1.订单管理【代码如下(示例):】
/**
* 根据订单id得到订单详情
*
* @param orderId
* @return
*/
@RequestMapping("/getOrderDetailByOrderId")
public Result getOrderDetailByOrderId(String orderId) {
OrderDetail detail = orderMainService.getOrderDetailByOrderId(orderId);
return Result.ok(detail);
}
/**
* 商家获取所有订单
*
* @return
*/
@RequestMapping("/getOrders")
public Map<String, Object> getOrders(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer rows, @RequestParam(defaultValue = "0") Integer status) {
Map<String, Object> map = orderMainService.getOrders(page, rows, status);
return map;
}
/**
* 根据orderId得到菜单商品列表
*/
@RequestMapping("/getDisksByOrderId")
public Result getDisksByOrderId(String orderId) {
List<OrderItem> list = orderItemService.getOrderItemByOrderId(orderId);
return Result.ok(list);
}
@RequestMapping("/getStatistics")
public Result getStatistics(Map<String, Object> params) throws ParseException {
// 查取消 未付款取消
params.put("status", OrderConstant.CANCEL_NO_PAY);
Statistics CANCEL_NO_PAY = orderMainService.getStatistics(new Query(params));
// 查取消 付款后取消
params.put("status", OrderConstant.CANCEL_PAY);
Statistics CANCEL_PAY = orderMainService.getStatistics(new Query(params));
Statistics cancel = new Statistics();
cancel.setSum(CANCEL_NO_PAY.getSum() + CANCEL_PAY.getSum());
double c1 = Double.parseDouble(CANCEL_NO_PAY.getTotal() == null ? "0" : CANCEL_NO_PAY.getTotal());
double c2 = Double.parseDouble(CANCEL_PAY.getTotal() == null ? "0" : CANCEL_PAY.getTotal());
cancel.setTotal(PIPIUtils.formatMoney(String.valueOf(c1 + c2)));
// 查完成
params.put("status", OrderConstant.COMPLETE);
Statistics complete = orderMainService.getStatistics(new Query(params));
complete.setTotal(complete.getTotal() == null ? "0" : PIPIUtils.formatMoney(complete.getTotal()));
Map<String, Statistics> map = new HashMap<String, Statistics>();
map.put("cancel", cancel);
map.put("complete", complete);
return Result.ok(map);
}
2.评价管理【代码如下(示例):】
@Autowired
private EvaluateService evaluateService;
/**
* 根据菜的id得到该菜所有评价
*
* @param diskId
* @return
*/
@RequestMapping("/getEvalsByDiskId")
public Result getEvalsByDiskId(Integer diskId) {
Evals evals = evaluateService.getEvalsByDiskId(diskId);
return Result.ok(evals);
}
/**
* 得到所有的评价
*
* @param pageNum
* @param pageSize
* @return
*/
@RequestMapping("/getEvals")
public Map<String, Object> getEvals(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer rows, @RequestParam(defaultValue = "0") Integer evalValue) {
Map<String, Object> evals = evaluateService.getEvals(page, rows, evalValue);
return evals;
}
@RequestMapping("/saveEvals")
public Result saveEvals(String evals, Integer isAnonymous, String avatarUrl, String nickname) {
List<Evaluate> evalss = JsonUtils.jsonToList(evals, Evaluate.class);
evaluateService.saveEvals(evalss, isAnonymous, avatarUrl, nickname);
return Result.ok();
}
3.图片上传【代码如下(示例):】
/**
* 图片上传
*/
@Controller
@RequestMapping("/pic")
public class PictureController {
@Value("${server.port}")
private String port;
@Value("${server.servlet-path}")
private String servletPath;
@Value("${upload.img.path}")
private String imgPath;
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public String fileUpload(MultipartFile uploadFile) {
// 接受上传的文件
// 取扩展名
String originFilename = uploadFile.getOriginalFilename();
String etc = originFilename.substring(originFilename.lastIndexOf("."));
// 上传到图片服务器
if (uploadFile == null || uploadFile.getSize() <= 0) {
throw new ImageException("图片不能为空");
}
try {
File f= new File("");
File file = new File(imgPath);
//判断文件夹是否存在
if (!file.exists()&&!file.isDirectory()){
file.mkdir();
}
//判断文件是否为空
if (!uploadFile.isEmpty()){
String fileName=uploadFile.getOriginalFilename();
//文件上传
uploadFile.transferTo(new File(file.getAbsolutePath()+"\\"+fileName));
}
Map<String, Object> result = new HashMap<>();
result.put("error", 0);
String url = "http://localhost:"+port+"/img/"+originFilename;
result.put("url", url);
return JsonUtils.objectToJson(result);
外卖点餐小程序-结语(文末获取源码)
💕💕
Java精彩实战毕设项目案例
小程序精彩项目案例
Python实战项目集
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。
更多推荐
所有评论(0)