✨作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目
一、前言
随着移动互联网的普及和人们生活水平的提高,线上点餐已经成为了日常生活中不可或缺的一部分。然而,目前市场上的线上点餐平台存在着一些问题,如用户体验不佳等,这些问题严重影响了用户的使用体验和商家的经营效益。因此,开发一款便捷、安全的餐厅线上点餐微信小程序/安卓APP具有重要的现实意义。
目前,一些餐厅线上点餐平台已经采用了小程序或APP的形式,但是这些平台存在一些问题。首先,部分平台的用户体验不佳,页面设计不美观、操作流程繁琐等问题影响了用户的使用体验;其次,部分平台的功能不够完善,无法满足用户个性化需求。这些问题都严重影响了线上点餐平台的效果和质量。
本课题的研究目的是设计并实现一款基于微信小程序/安卓APP的餐厅线上点餐平台,以提高平台的效率和质量。具体来说,该工具可以实现以下功能:
- 提供便捷的商品信息展示和管理功能,方便用户进行信息查询和选择;
- 实现订单管理和个性化需求满足,让用户得到更好的服务体验;
- 提供售后服务和投诉处理功能,确保用户的权益得到保障。
通过以上功能的实现,可以有效解决现有解决方案存在的问题,提高线上点餐平台的效果和质量。
本课题的研究具有重要的现实意义和应用价值。首先,它可以提高餐厅的经营效益,增加销售额和客户满意度;其次,它可以提升用户的使用体验,方便用户进行线上点餐和支付;最后,它可以推动数字化经济的发展,促进数字经济与传统产业的融合。
二、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:移动端
- 后端:SpringBoot
- 前端:微信小程序+uniapp+Vue
三、系统界面展示
- 餐厅线上点餐微信小程序/安卓APP界面展示:
四、部分代码设计
- 餐厅线上点餐微信小程序/安卓APP项目实战-代码参考:
/**
* 地址簿管理
*/
@Slf4j
@RestController
@RequestMapping("/addressBook")
public class AddressBookController {
@Autowired
private AddressBookService addressBookService;
/**
* 新增
*/
@PostMapping
public R<AddressBook> save(@RequestBody AddressBook addressBook) {
addressBook.setUserId(BaseContext.getCurrentId());
log.info("addressBook:{}", addressBook);
addressBookService.save(addressBook);
return R.success(addressBook);
}
/**
* 设置默认地址
*/
@PutMapping("default")
public R<AddressBook> setDefault(@RequestBody AddressBook addressBook) {
log.info("addressBook:{}", addressBook);
LambdaUpdateWrapper<AddressBook> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(AddressBook::getUserId, BaseContext.getCurrentId());
wrapper.set(AddressBook::getIsDefault, 0);
//SQL:update address_book set is_default = 0 where user_id = ?
addressBookService.update(wrapper);
addressBook.setIsDefault(1);
//SQL:update address_book set is_default = 1 where id = ?
addressBookService.updateById(addressBook);
return R.success(addressBook);
}
/**
* 根据id查询地址
*/
@GetMapping("/{id}")
public R get(@PathVariable Long id) {
AddressBook addressBook = addressBookService.getById(id);
if (addressBook != null) {
return R.success(addressBook);
} else {
return R.error("没有找到该对象");
}
}
/**
* 查询默认地址
*/
@GetMapping("default")
public R<AddressBook> getDefault() {
LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AddressBook::getUserId, BaseContext.getCurrentId());
queryWrapper.eq(AddressBook::getIsDefault, 1);
//SQL:select * from address_book where user_id = ? and is_default = 1
AddressBook addressBook = addressBookService.getOne(queryWrapper);
if (null == addressBook) {
return R.error("没有找到该对象");
} else {
return R.success(addressBook);
}
}
/**
* 查询指定用户的全部地址
*/
@GetMapping("/list")
public R<List<AddressBook>> list(AddressBook addressBook) {
addressBook.setUserId(BaseContext.getCurrentId());
log.info("addressBook:{}", addressBook);
//条件构造器
LambdaQueryWrapper<AddressBook> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(null != addressBook.getUserId(), AddressBook::getUserId, addressBook.getUserId());
queryWrapper.orderByDesc(AddressBook::getUpdateTime);
//SQL:select * from address_book where user_id = ? order by update_time desc
return R.success(addressBookService.list(queryWrapper));
}
}
/*
分类管理
*/
@Slf4j
@RestController
@RequestMapping("/category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
@PostMapping
//新增分类
public R<String> save(@RequestBody Category category){
log.info("category{}",category);
categoryService.save(category);
return R.success("新增分类成功");
}
//分页查询
@GetMapping("/page")
public R<Page> page(int page,int pageSize){
log.info(page+" "+pageSize);
//创建分页查询对象
Page<Category> pageInfo = new Page<>(page,pageSize);
//条件构造器
LambdaQueryWrapper<Category> lambdaQueryWrapper =new LambdaQueryWrapper<>();
//添加排序条件
lambdaQueryWrapper.orderByAsc(Category::getSort);
//进行分页查询
categoryService.page(pageInfo,lambdaQueryWrapper);
//返回分页数据
return R.success(pageInfo);
}
//根据id删除
@DeleteMapping
public R<String> delete(Long ids){
// categoryService.removeById(ids);
categoryService.remove(ids);
return R.success("分类信息删除成功");
}
//根据id修改
@PutMapping
public R<String> update(@RequestBody Category category){
log.info(String.valueOf(category));
categoryService.updateById(category);
return R.success("修改分类信息成功");
}
//根据条件查询分类数据
@GetMapping("/list")
public R<List<Category>> list(Category category){
LambdaQueryWrapper<Category> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//添加条件
lambdaQueryWrapper.eq(category.getType()!=null,Category::getType,category.getType());
//添加排序条件
lambdaQueryWrapper.orderByAsc(Category::getSort).orderByDesc(Category::getUpdateTime);
List<Category> list = categoryService.list(lambdaQueryWrapper);
return R.success(list);
}
}
@RestController
@RequestMapping("/shoppingCart")
@Slf4j
public class ShoppingCartController {
@Autowired
private ShoppingCartService shoppingCartService;
//菜品添加
@PostMapping("/add")
public R<ShoppingCart> add(@RequestBody ShoppingCart shoppingCart){
log.info("{}",shoppingCart);
//设置用户id,指定当前是哪个用户的购物车
Long userId = BaseContext.getCurrentId();
shoppingCart.setUserId(userId);
LambdaQueryWrapper<ShoppingCart> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ShoppingCart::getUserId,shoppingCart.getUserId());
//查询当前菜品/套餐是否在购物车中
if(shoppingCart.getDishId()!=null){
//添加的是菜品
lambdaQueryWrapper.eq(ShoppingCart::getDishId,shoppingCart.getDishId());
}else {
//套餐
lambdaQueryWrapper.eq(ShoppingCart::getSetmealId,shoppingCart.getSetmealId());
}
ShoppingCart cartServiceOne = shoppingCartService.getOne(lambdaQueryWrapper);
if(cartServiceOne!=null){
//已经存在,原来数量基础上加一
Integer number = cartServiceOne.getNumber();
cartServiceOne.setNumber(++number);
shoppingCartService.updateById(cartServiceOne);
}else {
//不存在则加入购物车,熟练默认为1
shoppingCart.setNumber(1);
shoppingCart.setCreateTime(LocalDateTime.now());
shoppingCartService.save(shoppingCart);
cartServiceOne=shoppingCart;
}
return R.success(cartServiceOne);
}
//菜品删除
@PostMapping("/sub")
public R<ShoppingCart> sub(@RequestBody ShoppingCart shoppingCart){
Long dishId = shoppingCart.getDishId();
Long setmealId = shoppingCart.getSetmealId();
Long currentId = BaseContext.getCurrentId();
LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ShoppingCart::getUserId,currentId);
ShoppingCart shoppingCart1 = new ShoppingCart();
if(dishId!=null){
queryWrapper.eq(ShoppingCart::getDishId,dishId);
ShoppingCart cart = shoppingCartService.getOne(queryWrapper);
Integer number = cart.getNumber();
if(number>1){
cart.setNumber(number-1);
shoppingCartService.updateById(cart);
shoppingCart1 = cart;
}else {
shoppingCartService.removeById(cart);
}
}else {
queryWrapper.eq(ShoppingCart::getSetmealId,setmealId);
ShoppingCart cart = shoppingCartService.getOne(queryWrapper);
Integer number = cart.getNumber();
if(number>1){
cart.setNumber(number-1);
shoppingCartService.updateById(cart);
shoppingCart1 = cart;
}else {
shoppingCartService.removeById(cart);
}
}
return R.success(shoppingCart1);
}
//菜品清空
@DeleteMapping("/clean")
public R<String> clean(){
Long currentId = BaseContext.getCurrentId();
LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ShoppingCart::getUserId,currentId);
shoppingCartService.remove(queryWrapper);
return R.success("清空成功 ");
}
//查看购物车
@GetMapping("/list")
public R<List<ShoppingCart>> list(){
LambdaQueryWrapper<ShoppingCart> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ShoppingCart::getUserId,BaseContext.getCurrentId());
lambdaQueryWrapper.orderByAsc(ShoppingCart::getCreateTime);
List<ShoppingCart> list = shoppingCartService.list(lambdaQueryWrapper);
return R.success(list);
}
}
五、论文参考
- 计算机毕业设计选题推荐-餐厅线上点餐微信小程序/安卓APP-论文参考:
六、系统视频
餐厅线上点餐微信小程序/安卓APP-项目视频:
计算机毕业设计选题推荐-餐厅线上点餐微信小程序/安卓APP
结语
计算机毕业设计选题推荐-餐厅线上点餐微信小程序/安卓APP-项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我文章来源:https://www.toymoban.com/news/detail-714958.html
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目文章来源地址https://www.toymoban.com/news/detail-714958.html
到了这里,关于计算机毕业设计选题推荐-餐厅线上点餐微信小程序/安卓APP-项目实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!