?作者主頁:IT畢設(shè)夢工廠?
個人簡介:曾從事計算機專業(yè)培訓(xùn)教學(xué),擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰(zhàn)。接項目定制開發(fā)、代碼講解、答辯教學(xué)、文檔編寫、降重等。
?文末獲取源碼?
精彩專欄推薦???
Java項目
Python項目
安卓項目
微信小程序項目
一、前言
隨著移動互聯(lián)網(wǎng)的普及和人們生活水平的提高,線上點餐已經(jīng)成為了日常生活中不可或缺的一部分。然而,目前市場上的線上點餐平臺存在著一些問題,如用戶體驗不佳等,這些問題嚴(yán)重影響了用戶的使用體驗和商家的經(jīng)營效益。因此,開發(fā)一款便捷、安全的餐廳線上點餐微信小程序/安卓APP具有重要的現(xiàn)實意義。
目前,一些餐廳線上點餐平臺已經(jīng)采用了小程序或APP的形式,但是這些平臺存在一些問題。首先,部分平臺的用戶體驗不佳,頁面設(shè)計不美觀、操作流程繁瑣等問題影響了用戶的使用體驗;其次,部分平臺的功能不夠完善,無法滿足用戶個性化需求。這些問題都嚴(yán)重影響了線上點餐平臺的效果和質(zhì)量。
本課題的研究目的是設(shè)計并實現(xiàn)一款基于微信小程序/安卓APP的餐廳線上點餐平臺,以提高平臺的效率和質(zhì)量。具體來說,該工具可以實現(xiàn)以下功能:
- 提供便捷的商品信息展示和管理功能,方便用戶進行信息查詢和選擇;
- 實現(xiàn)訂單管理和個性化需求滿足,讓用戶得到更好的服務(wù)體驗;
- 提供售后服務(wù)和投訴處理功能,確保用戶的權(quán)益得到保障。
通過以上功能的實現(xiàn),可以有效解決現(xiàn)有解決方案存在的問題,提高線上點餐平臺的效果和質(zhì)量。
本課題的研究具有重要的現(xiàn)實意義和應(yīng)用價值。首先,它可以提高餐廳的經(jīng)營效益,增加銷售額和客戶滿意度;其次,它可以提升用戶的使用體驗,方便用戶進行線上點餐和支付;最后,它可以推動數(shù)字化經(jīng)濟的發(fā)展,促進數(shù)字經(jīng)濟與傳統(tǒng)產(chǎn)業(yè)的融合。
二、開發(fā)環(huán)境
- 開發(fā)語言:Java
- 數(shù)據(jù)庫:MySQL
- 系統(tǒng)架構(gòu):移動端
- 后端:SpringBoot
- 前端:微信小程序+uniapp+Vue
三、系統(tǒng)界面展示
- 餐廳線上點餐微信小程序/安卓APP界面展示:
四、部分代碼設(shè)計
- 餐廳線上點餐微信小程序/安卓APP項目實戰(zhàn)-代碼參考:
/**
* 地址簿管理
*/
@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);
}
/**
* 設(shè)置默認(rèn)地址
*/
@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);
}
/**
* 根據(jù)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("沒有找到該對象");
}
}
/**
* 查詢默認(rèn)地址
*/
@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);
//條件構(gòu)造器
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);
//創(chuàng)建分頁查詢對象
Page<Category> pageInfo = new Page<>(page,pageSize);
//條件構(gòu)造器
LambdaQueryWrapper<Category> lambdaQueryWrapper =new LambdaQueryWrapper<>();
//添加排序條件
lambdaQueryWrapper.orderByAsc(Category::getSort);
//進行分頁查詢
categoryService.page(pageInfo,lambdaQueryWrapper);
//返回分頁數(shù)據(jù)
return R.success(pageInfo);
}
//根據(jù)id刪除
@DeleteMapping
public R<String> delete(Long ids){
// categoryService.removeById(ids);
categoryService.remove(ids);
return R.success("分類信息刪除成功");
}
//根據(jù)id修改
@PutMapping
public R<String> update(@RequestBody Category category){
log.info(String.valueOf(category));
categoryService.updateById(category);
return R.success("修改分類信息成功");
}
//根據(jù)條件查詢分類數(shù)據(jù)
@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);
//設(shè)置用戶id,指定當(dāng)前是哪個用戶的購物車
Long userId = BaseContext.getCurrentId();
shoppingCart.setUserId(userId);
LambdaQueryWrapper<ShoppingCart> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(ShoppingCart::getUserId,shoppingCart.getUserId());
//查詢當(dāng)前菜品/套餐是否在購物車中
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){
//已經(jīng)存在,原來數(shù)量基礎(chǔ)上加一
Integer number = cartServiceOne.getNumber();
cartServiceOne.setNumber(++number);
shoppingCartService.updateById(cartServiceOne);
}else {
//不存在則加入購物車,熟練默認(rèn)為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);
}
}
五、論文參考
- 計算機畢業(yè)設(shè)計選題推薦-餐廳線上點餐微信小程序/安卓APP-論文參考:
六、系統(tǒng)視頻
餐廳線上點餐微信小程序/安卓APP-項目視頻:
計算機畢業(yè)設(shè)計選題推薦-餐廳線上點餐微信小程序/安卓APP
結(jié)語
計算機畢業(yè)設(shè)計選題推薦-餐廳線上點餐微信小程序/安卓APP-項目實戰(zhàn)
大家可以幫忙點贊、收藏、關(guān)注、評論啦~
源碼獲?。核叫盼?/strong>文章來源:http://www.zghlxwxcb.cn/news/detail-714958.html
精彩專欄推薦???
Java項目
Python項目
安卓項目
微信小程序項目文章來源地址http://www.zghlxwxcb.cn/news/detail-714958.html
到了這里,關(guān)于計算機畢業(yè)設(shè)計選題推薦-餐廳線上點餐微信小程序/安卓APP-項目實戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!