国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 實(shí)訓(xùn)基本信息

1.1 實(shí)訓(xùn)項(xiàng)目名稱

“外賣點(diǎn)餐”系統(tǒng)。

1.2 實(shí)訓(xùn)時(shí)間及地點(diǎn)

2 實(shí)訓(xùn)內(nèi)容簡(jiǎn)介

本項(xiàng)目(“外賣點(diǎn)餐”系統(tǒng))是專門為餐飲企業(yè)(餐廳、飯店)定制的-款軟件產(chǎn)品,包括系統(tǒng)管理后臺(tái)和移動(dòng)端應(yīng)用兩部分。

其中系統(tǒng)管理后臺(tái)主要提供給餐飲企業(yè)內(nèi)部員工使用,可以對(duì)餐廳的菜品、套餐、訂單等進(jìn)行管理維護(hù)。移動(dòng)端應(yīng)用主要提供給消費(fèi)者使用,可以在線瀏覽菜品、添加購(gòu)物車、下單等。

3 需求分析

3.1 軟硬件條件

IDEA 2021.2.3

MySQL 5.5

MyBatis

MyBatisPlus

Git: 版本控制工具。

Maven: 3.6.1

Junit:?jiǎn)卧獪y(cè)試工具。

3.2?技術(shù)可行性

3.2.1 技術(shù)需求

外賣點(diǎn)單、支付、訂單管理、配送等功能是瑞吉外賣必不可少的技術(shù)需求。此外,還需要提供用戶注冊(cè)、登錄、反饋、推薦等功能。

3.2.2 市場(chǎng)需求

外賣市場(chǎng)的需求是巨大的,但競(jìng)爭(zhēng)也是非常激烈的。應(yīng)該進(jìn)行市場(chǎng)細(xì)分,并確定與眾不同的商業(yè)模式和目標(biāo)用戶,同時(shí)提供具有差異化的服務(wù)和體驗(yàn)。

3.2.3 開發(fā)成本

應(yīng)該評(píng)估開發(fā)瑞吉外賣應(yīng)用所需的成本,包括技術(shù)設(shè)計(jì)、軟件工程、移動(dòng)端應(yīng)用開發(fā)、數(shù)據(jù)分析等方面。

3.2.4 數(shù)據(jù)連通性

外賣應(yīng)用需要和多個(gè)配送和支付供應(yīng)商的應(yīng)用進(jìn)行連接,確保訂單的順利傳遞和支付的正確處理。

3.2.5 用戶體驗(yàn)

好的用戶體驗(yàn)是被用戶所贊賞和記住的重要要素。外賣應(yīng)用中,用戶體驗(yàn)包括易用、快速、準(zhǔn)確、方便等多個(gè)方面。

4 功能設(shè)計(jì)

4.1 管理端

4.1.1 登錄/退出

內(nèi)部員工必須登錄后,才可以訪問系統(tǒng)管理后臺(tái)。

4.1.2 員工管理

管理員可以在系統(tǒng)后臺(tái)對(duì)員工信息進(jìn)行管理,包含查詢、新增、編輯、禁用等功能。

4.1.3 分類管理

主要對(duì)當(dāng)前餐廳經(jīng)營(yíng)的菜品分類或套餐分類進(jìn)行管理維護(hù),包含查詢、新增、修改、刪除等功能。

4.1.4 菜品管理

主要維護(hù)各個(gè)分類下的菜品信息,包含查詢、新增、修改、刪除、啟售、停售等功能。

4.1.5 套餐管理

主要維護(hù)當(dāng)前餐廳中的套餐信息,包含查詢、新增、修改、刪除、啟售、停售等功能。

4.1.6 訂單明細(xì)

主要維護(hù)用戶在移動(dòng)端下的訂單信息,包含查詢、取消、派送、完成,以及訂單報(bào)表下載等功能。

4.2 用戶端

4.2.1 登錄/退出

在移動(dòng)端, 用戶也需要登錄后使用APP進(jìn)行點(diǎn)餐。

4.2.2 點(diǎn)餐-菜單

在點(diǎn)餐界面需要展示出菜品分類/套餐分類, 并根據(jù)當(dāng)前選擇的分類加載其中的菜品信息, 供用戶查詢選擇。

4.2.3 點(diǎn)餐-購(gòu)物車

用戶選中的菜品就會(huì)加入用戶的購(gòu)物車, 主要包含查詢購(gòu)物車、加入購(gòu)物車、刪除購(gòu)物車、清空購(gòu)物車等功能。

4.2.4 訂單支付

用戶選完菜品/套餐后, 可以對(duì)購(gòu)物車菜品進(jìn)行結(jié)算支付, 這時(shí)就需要進(jìn)行訂單的支付。

4.2.5 個(gè)人信息

在個(gè)人中心頁(yè)面中會(huì)展示當(dāng)前用戶的基本信息, 用戶可以管理收貨地址, 也可以查詢歷史訂單數(shù)據(jù)。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

5 數(shù)據(jù)庫(kù)設(shè)計(jì)

用戶表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Name

varchar(50)

姓名

Phone

varchar(100)

手機(jī)號(hào)

Sex

varchar(2)

性別

Id_number

varchar(18)

身份證號(hào)

Avatar

Status

varchar(500)

int(11)

頭像

狀態(tài)

購(gòu)物車表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Name

varchar(50)

名稱

Image

varchar(100)

圖片

User_id

bigint(20)

用戶ID

Dish_Id

bigint(20)

菜品ID

Setmeal_Id

DishFlavor

bigint(20)varchar(50)

套餐ID

口味

Number

int(11)

數(shù)量

Amount

CreateTime

decimal(10)

datetime

金額

創(chuàng)建時(shí)間

地址薄表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

User_Id

bigint(20)

用戶ID

Consignee

varchar(50)

收貨人

Sex

tinyint(4)

性別

Phone

Province

varchar(11)

varchar(12)

手機(jī)號(hào)

省級(jí)編號(hào)

Province

Varchar(32)

省級(jí)名稱

City_code

City_name

varchar(12)

varchar(32)

市級(jí)編號(hào)

市級(jí)名稱

District

varchar(12)

區(qū)級(jí)編號(hào)

District

varchar(32)

區(qū)級(jí)名稱

Detail

varchar(200)

詳細(xì)地址

Label

varchar(100)

標(biāo)簽

Is_default

tinyint(1)

是否默認(rèn)

Createtime

datetime

創(chuàng)建時(shí)間

Updatetime

datetime

更新時(shí)間

Createuser

Bigint(20)

創(chuàng)建者

Updateuser

Bigint(20)

修改者

Is_deleted

int(11)

是否刪除

分類表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Type

int(11)

類型

Name

varchar(64)

名稱

Sort

int(11)

順序

CreateTime UpdateTime

datetime

datetime

創(chuàng)建時(shí)間

更新時(shí)間

Createuser

bigint(20)

創(chuàng)建者

Updateuser

bigint(20)

修改者

菜品表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Name

varchar(64)

菜品名稱

CategoryId

bigint(20)

菜品分類ID

Price

decimal(10)

菜品價(jià)格

Code

varchar(64)

商品碼

Image

Descripte

varchar(200)

varchar(400)

圖片

描述信息

Status

int(11)

狀態(tài)碼

Sort

int(11)

順序

CreateTime UpdateTime

datetime

datetime

創(chuàng)建時(shí)間

更新時(shí)間

Createuser

Bigint(20)

創(chuàng)建者

Updateuser

Bigint(20)

修改者

Is_deleted

int(11)

是否刪除

口味表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Dish_Id

bigint(20)

菜品ID

Name

varchar(64)

口味名稱

Value

varchar(500)

口味數(shù)據(jù)

CreateTime UpdateTime

datetime

datetime

創(chuàng)建時(shí)間

更新時(shí)間

Createuser

Bigint(20)

創(chuàng)建者

Updateuser

Bigint(20)

修改者

Is_deleted

int(11)

是否刪除

員工表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Name

varchar(32)

姓名

Username

varchar(32)

用戶名

Password

varchar(64)

密碼

Phone

varchar(11)

手機(jī)號(hào)

Sex

varchar(2)

性別

Id_Number

varchar(18)

身份證號(hào)

Status

Int(11)

狀態(tài)

CreateTime UpdateTime

datetime

datetime

創(chuàng)建時(shí)間

更新時(shí)間

Createuser

Bigint(20)

創(chuàng)建者

Updateuser

Bigint(20)

修改者

訂單表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Number

varchar(50)

訂單號(hào)

Status

Int(11)

訂單狀態(tài)

User_Id

bigint(20)

下單用戶

Address_id

bigint(20)

地址ID

Order_Time CheckTime

datetime

datetime

下單時(shí)間

結(jié)賬時(shí)間

Pay_method

int(11)

支付方式

Amount

decimal(10)

實(shí)收金額

Remark

varchar(100)

備注

Phone

varchar(255)

手機(jī)號(hào)

Address

varchar(255)

用戶地址

User_name

varchar(255)

用戶名

Consignee

varchar(255)

收貨人

訂單詳情表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

Name

varchar(50)

名稱

Image

varchar(100)

圖片

Order_Id

bigint(20)

訂單ID

Dish_Id

bigint(20)

菜品ID

Setmeal_Id

DishFlavor

bigint(20)

varchar(50)

套餐ID

口味

Number

int(11)

數(shù)量

Amount

decimal(10)

金額

套餐表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

CategoryId

bigint(20)

分類ID

Name

varchar(64)

套餐名稱

Price

decimal(10)

套餐價(jià)格

Status

Int(11)

狀態(tài)

Code

varchar(32)

編碼

Descripte

varchar(512)

描述信息

Image

varchar(255)

圖片

CreateTime UpdateTime

datetime

datetime

創(chuàng)建時(shí)間

更新時(shí)間

Createuser

Bigint(20)

創(chuàng)建者

Updateuser

Bigint(20)

修改者

Is_Delete

varchar(50)

是否刪除

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

分類表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

菜品表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

口味表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

員工表

套餐關(guān)系表

字段

數(shù)據(jù)類型

主鍵

外鍵

是否為空

說明

Id

bigint(20)

CategoryId

bigint(20)

分類ID

Name

varchar(64)

套餐名稱

Price

decimal(10)

套餐價(jià)格

Status

Int(11)

狀態(tài)

Code

varchar(32)

編碼

Descripte

varchar(512)

描述信息

Image

varchar(255)

圖片

CreateTime UpdateTime

datetime

datetime

創(chuàng)建時(shí)間

更新時(shí)間

Createuser

Bigint(20)

創(chuàng)建者

Updateuser

Bigint(20)

修改者

Is_Delete

varchar(50)

是否刪除

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

用戶表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

購(gòu)物車表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

地址薄表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

分類表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

菜品表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

口味表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

員工表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

訂單表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

訂單詳情表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

套餐表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

套餐關(guān)系表

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

實(shí)體E-R圖

6 具體實(shí)現(xiàn)

6.1 員工登錄

6.1.1 登錄功能

內(nèi)部員工必須輸入員工賬號(hào)和密碼,通過驗(yàn)證后才可以訪問系統(tǒng)管理后臺(tái)。過濾器會(huì)判斷用戶是否已經(jīng)完成了登錄,如果沒有登錄則跳轉(zhuǎn)到登陸頁(yè)面。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

員工登錄與退出核心代碼:

@PostMapping("/employee/login")

??? public R<Employee> login(HttpServletRequest request, @RequestBody Employee employee){

??????? //RequestBody可以接收J(rèn)SON格式的數(shù)據(jù)并解析為實(shí)體類(Employee)

??????? String username = employee.getUsername();

??????? String password = DigestUtils.md5DigestAsHex(employee.getPassword().getBytes());

??????? System.out.println("用戶名:"+username+"--密碼:"+password);

??????? //LambdaQueryWrapper<List<Map>> lambdaQueryWrapper = new LambdaQueryWrapper<>();

??????? LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();

??????? //查詢結(jié)果是單張表,用實(shí)體類接收;如果是if交叉查詢(多張表查詢)用List<Map>

??????? queryWrapper.eq(Employee::getUsername,username);

??????? //使用LambdaQueryWrapper免除寫sql,相當(dāng)于進(jìn)行select操作

??????? Employee employee1 = employeeService.getOne(queryWrapper);

??????? System.out.println("2********username:"+employee1.getPhone());

??????? if (employee1 == null){

??????????? return R.error("用戶名錯(cuò)誤,登錄失敗,請(qǐng)重試!");

??????? }

??????? if (!password.equals(employee1.getPassword())){

??????????? return R.error("密碼錯(cuò)誤,登錄失敗,請(qǐng)重試!");

??????? }

??????? if (employee1.getStatus()!=1){

??????????? return R.error("該賬戶被刪除或禁用,登錄失?。?);

??????? }

??????? request.getSession().setAttribute("employee",employee1);? //為了filter、后續(xù)調(diào)用方便

??????? BaseContext.setCurrentUserID(employee1.getId());? //為了普通類能夠調(diào)用

??????? return R.success(employee1);

??? }

??? @PostMapping("/employee/logout")

??? public R<Employee> logout(HttpServletRequest request){

??????? request.getSession().removeAttribute("employee");

??????? request.getSession().invalidate();

??????? return R.success(null);

??? }

6.2 員工管理

6.2.1 查詢功能

輸入對(duì)應(yīng)的員工名稱可查找該員工。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.2.2 添加功能

通過輸入新員工的信息實(shí)現(xiàn)對(duì)員工的新增操作。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.2.3 修改功能

點(diǎn)擊編輯可以對(duì)所選員工的個(gè)人信息進(jìn)行修改。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.2.4 禁用功能

可以點(diǎn)擊禁用禁止該員工的登錄權(quán)限。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.3 分類管理

6.3.1 查看功能

可以查看當(dāng)前顯示所有菜品或套餐類型。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.3.2 添加功能

對(duì)新的菜品和套餐類型進(jìn)行添加操作。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.3.3 修改功能

對(duì)于一些錯(cuò)誤的菜品或套餐信息進(jìn)行更改。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.3.4 刪除功能

對(duì)于某些過時(shí)或者冷門的菜品或套餐進(jìn)行刪除。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.4 菜品管理

6.4.1 查詢功能

可以根據(jù)個(gè)人需求查找當(dāng)前現(xiàn)有菜品信息。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.4.2 添加功能

對(duì)于當(dāng)前熱門菜品可以新增到菜品管理中。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.4.3 修改功能

對(duì)一些冷門菜品可以對(duì)其價(jià)格進(jìn)行修改。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.4.4 刪除功能

對(duì)于一些冷門菜品可以進(jìn)行停售或刪除操作。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

菜品信息修改核心代碼:

@PutMapping("/edit")

??? public R<String> update(@RequestBody DishDto dishDto) {

??????? // 更新dish表

??????? dishService.updateById(dishDto);

??????? // 清理當(dāng)前菜品口味信息,dish_flavor表的delete操作

??????? // 不能使用removeById, 因?yàn)閐ishDto的id不是dish_flavor的主鍵

??????? LambdaQueryWrapper<DishFlavor> queryWrapper = new LambdaQueryWrapper<>();

??????? queryWrapper.eq(DishFlavor::getDishId, dishDto.getId());

??????? dishFlavorService.remove(queryWrapper);

??????? // 重新插入菜品口味信息,dish_flavor表的insert操作

? ??????List<DishFlavor> dishFlavor = new ArrayList<>();

??????? for (DishFlavor item :dishDto.getFlavors()) {

??????????? item.setDishId(dishDto.getId());

??????????? dishFlavor.add(item);

??????? }

??????? dishFlavorService.saveBatch(dishFlavor);

??????? return R.success("修改成功");

??? }

6.5 套餐管理

6.5.1 查詢功能

對(duì)于所需要的套餐類型進(jìn)行檢索。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.5.2 添加功能

對(duì)于新的套餐類型加入到套餐管理中。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.5.3 修改功能

針對(duì)一些信息有誤的套餐進(jìn)行修改。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.5.4 刪除功能

某些套餐長(zhǎng)期無(wú)人購(gòu)買可以選擇性進(jìn)行刪除。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.6 訂單明細(xì)

6.6.1 查詢功能

在訂單明細(xì)中可以查看用戶的所有訂單和派送狀態(tài)。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.6.2 訂單查看

點(diǎn)擊查看訂單可以看到用戶的個(gè)人信息以及地址詳情等。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.7 用戶管理

6.7.1 登錄管理

在移動(dòng)端, 手機(jī)用戶需要輸入手機(jī)號(hào)驗(yàn)證碼登錄后進(jìn)入APP進(jìn)行點(diǎn)餐。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.7.2 點(diǎn)餐-菜單

在點(diǎn)餐界面需要展示出菜品分類/套餐分類, 并根據(jù)當(dāng)前選擇的分類加載其中的菜品信息, 供用戶查詢選擇。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.7.3 點(diǎn)餐-購(gòu)物車

用戶選中的菜品就會(huì)加入用戶的購(gòu)物車, 主要包含查詢購(gòu)物車、加入購(gòu)物車、刪除購(gòu)物車、清空購(gòu)物車等功能。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

減少購(gòu)物車菜品核心代碼:

@PostMapping("/sub")

??? public R<String> sub(@RequestBody ShoppingCart shoppingCart, HttpSession session) {

??????? // 1.獲取當(dāng)前用戶

??????? User user = (User) session.getAttribute("employee");

??????? // 2.查詢當(dāng)前用戶、當(dāng)前商品在購(gòu)物車表里是否已存在

??????? LambdaQueryWrapper<ShoppingCart> lambdaQueryWrapper = new LambdaQueryWrapper<>();

?? ?????lambdaQueryWrapper.eq(ShoppingCart::getUserId, user.getId())? // 篩選用戶ID

??????? ????????.eq(shoppingCart.getDishId() != null, ShoppingCart::getDishId, shoppingCart.getDishId())? // 如果傳入的商品ID不為空,篩選商品ID

??????????????? .eq(shoppingCart.getSetmealId() != null, ShoppingCart::getSetmealId, shoppingCart.getSetmealId());? // 如果傳入的套餐ID不為空,篩選套餐ID

??????? ShoppingCart shoppingCart1 = shoppingCartService.getOne(lambdaQueryWrapper);? // 返回符合條件的購(gòu)物車記錄

??????? int shoppingCartNumber = shoppingCart1.getNumber();

???? ???try {

??? ????????if (shoppingCartNumber > 1) {? // 如果記錄的數(shù)量大于1,則減少數(shù)量

??????????????? shoppingCartNumber = shoppingCart1.getNumber() - 1;? // 記錄的數(shù)量減1

??????????????? shoppingCart1.setNumber(shoppingCartNumber);? // 更新記錄的數(shù)量

??????????????? shoppingCartService.updateById(shoppingCart1);? // 更新購(gòu)物車記錄

??????????? } else {? // 如果記錄的數(shù)量為1,則刪除該記錄

??????????????? shoppingCartService.removeById(shoppingCart1.getId());

??????????? }

??????? } catch (Exception e) {

??????????? return R.error("刪除失敗");

??????? }

?????? ?return R.success("刪除成功");

??? }

6.7.4 訂單支付

用戶選完菜品/套餐后, 可以對(duì)購(gòu)物車菜品進(jìn)行結(jié)算支付, 這時(shí)就需要進(jìn)行訂單的支付。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

6.7.5 個(gè)人信息

在個(gè)人中心頁(yè)面中會(huì)展示當(dāng)前用戶的基本信息, 用戶可以管理收貨地址, 也可以查詢歷史訂單數(shù)據(jù)。

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn),spring boot,后端,java,瑞吉外賣,資源分享

地址修改與刪除核心代碼:???

 @PutMapping

??? public R<String> addressBookupdate(@RequestBody AddressBook addressBook, HttpSession session){

??????? //設(shè)置修改時(shí)間

??????? addressBook.setUpdateTime(LocalDateTime.now());

??????? //設(shè)置修改人

??????? addressBook.setUpdateUser((Long)session.getAttribute("user"));

??????? addressBookService.updateById(addressBook);

??????? return R.success("修改地址成功!");

??? }

?? ?@DeleteMapping

??? public R<String> detele(@RequestParam("ids") Long id){

??????? addressBookService.removeById(id);

??????? return R.success("刪除地址成功!");

??? }
7 測(cè)試

7.1 員工管理功能測(cè)試

員工管理測(cè)試表

測(cè)試用例

期望結(jié)果

實(shí)際結(jié)果

查詢員工

通過賬號(hào)登錄進(jìn)入后可以根據(jù)員工姓名查找該員工信息

測(cè)試通過

添加員工

通過輸入新員工的信息實(shí)現(xiàn)對(duì)新員工的添加操作。

測(cè)試通過

修改員工

點(diǎn)擊編輯可以對(duì)所選員工的個(gè)人信息進(jìn)行修改

測(cè)試通過

禁用員工

點(diǎn)擊禁用能夠有效的禁止該員工的登錄權(quán)限

測(cè)試通過

根據(jù)上面的測(cè)試結(jié)果來看,該功能通過所有的測(cè)試用例并且符合需求。

7.2 分類管理功能測(cè)試

分類管理測(cè)試表

測(cè)試用例

期望結(jié)果

實(shí)際結(jié)果

查看菜品/套餐

員工可以查看當(dāng)前顯示所有菜品或套餐類型

測(cè)試通過

添加菜品/套餐

員工能夠?qū)π碌牟似坊蛱撞皖愋瓦M(jìn)行添加操作

測(cè)試通過

修改菜品/套餐

員工可以對(duì)于信息錯(cuò)誤的菜品或套餐進(jìn)行更改

測(cè)試通過

刪除菜品/套餐

員工能夠?qū)τ谶^時(shí)或冷門的菜品或套餐進(jìn)行刪除

測(cè)試通過

根據(jù)上面的測(cè)試結(jié)果來看,該功能通過所有的測(cè)試用例并且符合需求。

7.3 地址管理功能測(cè)試

地址管理測(cè)試表

測(cè)試用例

期望結(jié)果

實(shí)際結(jié)果

查看地址

用戶可以查看當(dāng)前顯示的所有個(gè)人地址信息

測(cè)試通過

添加地址

用戶能夠?qū)π碌牡刂沸畔⑦M(jìn)行添加操作

測(cè)試通過

修改地址

用戶可以對(duì)于錯(cuò)誤的地址信息進(jìn)行更改

測(cè)試通過

刪除地址

用戶能夠?qū)τ谝恍┎怀S玫牡刂愤M(jìn)行刪除

測(cè)試通過

根據(jù)上面的測(cè)試結(jié)果來看,該功能通過所有的測(cè)試用例并且符合需求。

8 部署
  1. 首先打開項(xiàng)目Maven工具欄,確定將要打包的模塊,點(diǎn)開Lifecycle選項(xiàng),然后選擇Install開始打包。
  2. 先在IDEA控制臺(tái)上單擊切換到Terminal終端頁(yè)面,然后在項(xiàng)目所在位置后的指令輸入提示位置指令部署即可。
9 總結(jié)

通過實(shí)訓(xùn)我們學(xué)習(xí)到MyBatisPlus是MyBatis的增強(qiáng)工具,它為MyBatis提供了更加方便快捷的使用方式,同時(shí)也提供了更多的擴(kuò)展功能。

它提供了大量的注解和接口,如@TableField注解可以定義表字段的屬性等等。另外它還提供了一些高級(jí)特性,如分頁(yè)查詢、邏輯刪除和多表關(guān)聯(lián)查詢等。

在這次實(shí)訓(xùn)中,我通過編寫代碼、模擬實(shí)際場(chǎng)景等方式,來提升自己的編程能力,同時(shí)需要注重代碼規(guī)范和功能的完整性,不斷優(yōu)化和完善項(xiàng)目。

其次,我深刻的認(rèn)識(shí)到Java編程需要掌握各種開發(fā)工具和框架,如IntelliJ IDEA、Spring boot等,這些工具和框架可以提高開發(fā)效率。因此,在實(shí)訓(xùn)中也應(yīng)該注重培養(yǎng)學(xué)員的獨(dú)立學(xué)習(xí)能力,讓他們自主學(xué)習(xí)并運(yùn)用各種工具和框架。

最后,Java編程需要具備良好的團(tuán)隊(duì)協(xié)作能力,因?yàn)閷?shí)際項(xiàng)目中不可能僅僅由單人完成,需要多人協(xié)作完成。在實(shí)訓(xùn)中也應(yīng)該注重培養(yǎng)個(gè)人的溝通技巧和團(tuán)隊(duì)合作精神,如果能夠在團(tuán)隊(duì)中融洽合作,就能極大地提高項(xiàng)目的實(shí)戰(zhàn)效果。

注:由于源碼量過多,需要的朋友可在資源中下載,也可私信我拿??!?文章來源地址http://www.zghlxwxcb.cn/news/detail-731914.html

到了這里,關(guān)于Spring Boot實(shí)訓(xùn)項(xiàng)目 瑞吉外賣功能實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 網(wǎng)頁(yè)版Java(Spring/Spring Boot/Spring MVC)五子棋項(xiàng)目(二)前后端實(shí)現(xiàn)用戶的登錄和注冊(cè)功能【用戶模塊】

    網(wǎng)頁(yè)版Java(Spring/Spring Boot/Spring MVC)五子棋項(xiàng)目(二)前后端實(shí)現(xiàn)用戶的登錄和注冊(cè)功能【用戶模塊】

    1. 用戶id 2. 用戶名 3. 密碼 4. 天梯積分 5. 總場(chǎng)數(shù) 6. 獲勝場(chǎng)數(shù) 和數(shù)據(jù)庫(kù)的數(shù)據(jù)一一對(duì)應(yīng) 1. 連接數(shù)據(jù)庫(kù)(application.yml連接數(shù)據(jù)庫(kù)) 這個(gè)可以直接賦值代碼 2. 創(chuàng)建UserMapper的Java接口(interface UserMapper) 創(chuàng)建接口,在UserMapper.xml實(shí)現(xiàn) 在model中創(chuàng)建 需要實(shí)現(xiàn)@Mapper注釋 3. 創(chuàng)建UserMappe

    2024年02月13日
    瀏覽(23)
  • 瑞吉外賣項(xiàng)目——瑞吉外賣

    瑞吉外賣項(xiàng)目——瑞吉外賣

    需求分析:產(chǎn)品原型、需求規(guī)格說明書 設(shè)計(jì):產(chǎn)品文檔、UI界面設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì) 編碼:項(xiàng)目代碼、單元測(cè)試 測(cè)試:測(cè)試用例、測(cè)試報(bào)告 上線運(yùn)維:軟件環(huán)境安裝、配置 項(xiàng)目經(jīng)理:對(duì)整個(gè)項(xiàng)目負(fù)責(zé),任務(wù)分配、把控進(jìn)度 產(chǎn)品經(jīng)理:進(jìn)行需求調(diào)研,輸

    2023年04月26日
    瀏覽(22)
  • 工程項(xiàng)目管理系統(tǒng)源碼+功能清單+項(xiàng)目模塊+spring cloud +spring boot em

    工程項(xiàng)目管理系統(tǒng)源碼+功能清單+項(xiàng)目模塊+spring cloud +spring boot em

    ? ? 工程項(xiàng)目管理軟件(工程項(xiàng)目管理系統(tǒng))對(duì)建設(shè)工程項(xiàng)目管理組織建設(shè)、項(xiàng)目策劃決策、規(guī)劃設(shè)計(jì)、施工建設(shè)到竣工交付、總結(jié)評(píng)估、運(yùn)維運(yùn)營(yíng),全過程、全方位的對(duì)項(xiàng)目進(jìn)行綜合管理 ? ?工程項(xiàng)目各模塊及其功能點(diǎn)清單 一、系統(tǒng)管理 ? ? 1、數(shù)據(jù)字典:實(shí)現(xiàn)對(duì)數(shù)據(jù)字典

    2024年02月12日
    瀏覽(34)
  • 一個(gè)簡(jiǎn)單的增刪改查Spring boot項(xiàng)目教程(完整過程,附代碼)(從搭建數(shù)據(jù)庫(kù)到實(shí)現(xiàn)增刪改查功能),Springboot學(xué)習(xí),Springboot項(xiàng)目,

    一個(gè)簡(jiǎn)單的增刪改查Spring boot項(xiàng)目教程(完整過程,附代碼)(從搭建數(shù)據(jù)庫(kù)到實(shí)現(xiàn)增刪改查功能),Springboot學(xué)習(xí),Springboot項(xiàng)目,

    這里將會(huì)介紹怎么去搭建一個(gè)簡(jiǎn)單增刪改查的Springboot項(xiàng)目,認(rèn)真看完我相信你一定能夠?qū)W會(huì),并且附有完整代碼; 首先要進(jìn)行增刪改查肯定是要有供操作的數(shù)據(jù)庫(kù); 這里我是用的SQLyog來搭建的,隨便用什么都可以,只要能確保給項(xiàng)目一個(gè)配套的數(shù)據(jù)庫(kù)就行; 打開IDEA,創(chuàng)建

    2024年02月15日
    瀏覽(98)
  • 【Spring Boot】Spring Boot實(shí)現(xiàn)完整論壇功能示例代碼

    以下是一個(gè)簡(jiǎn)單的Spring Boot論壇系統(tǒng)示例代碼: 首先是數(shù)據(jù)庫(kù)設(shè)計(jì),我們創(chuàng)建以下幾張表: user表,存儲(chǔ)用戶信息,包括id、username、password、email、create_time等字段。 topic表,存儲(chǔ)帖子信息,包括id、title、content、user_id、create_time等字段。 comment表,存儲(chǔ)評(píng)論信息,包括id、con

    2024年02月11日
    瀏覽(28)
  • Spring Boot 項(xiàng)目設(shè)計(jì)業(yè)務(wù)操作日志功能,寫得太好了!

    Spring Boot 項(xiàng)目設(shè)計(jì)業(yè)務(wù)操作日志功能,寫得太好了!

    很久以前都想寫這篇文章,一直沒有空,但直到現(xiàn)在我對(duì)當(dāng)時(shí)的情景還有印象,之所以有印象是因?yàn)樾枨蠛芎?jiǎn)單,業(yè)務(wù)操作日志的記錄與查詢的功能,但是具體實(shí)現(xiàn)真的很爛,具體的爛法會(huì)在反面示例里細(xì)說,領(lǐng)導(dǎo)以及客戶層面很認(rèn)可,一系列迷之操作,讓我印象深刻。 客戶

    2024年02月11日
    瀏覽(15)
  • Java版企業(yè)工程項(xiàng)目管理系統(tǒng)源碼+java版本+項(xiàng)目模塊功能清單+spring cloud +spring boot

    Java版企業(yè)工程項(xiàng)目管理系統(tǒng)源碼+java版本+項(xiàng)目模塊功能清單+spring cloud +spring boot

    ??????工程項(xiàng)目各模塊及其功能點(diǎn)清單 一、系統(tǒng)管理 ? ? 1、數(shù)據(jù)字典:實(shí)現(xiàn)對(duì)數(shù)據(jù)字典標(biāo)簽的增刪改查操作 ? ? 2、編碼管理:實(shí)現(xiàn)對(duì)系統(tǒng)編碼的增刪改查操作 ? ? 3、用戶管理:管理和查看用戶角色 ? ? 4、菜單管理:實(shí)現(xiàn)對(duì)系統(tǒng)菜單的增刪改查操作 ? ? 5、角色管理:

    2024年02月16日
    瀏覽(27)
  • Spring Boot快速搭建一個(gè)簡(jiǎn)易商城項(xiàng)目【完成登錄功能且優(yōu)化】

    Spring Boot快速搭建一個(gè)簡(jiǎn)易商城項(xiàng)目【完成登錄功能且優(yōu)化】

    未優(yōu)化做簡(jiǎn)單的判斷: 優(yōu)化:返回的是json的格式 GlobalExceptionHandler 這里為啥要寫這兩個(gè)類: 理解:編寫 GlobalExceptionHandler 類可以集中處理應(yīng)用程序中的各種異常,提高代碼的可維護(hù)性,同時(shí)簡(jiǎn)化了代碼 實(shí)體:使用注解 拋一個(gè)異常: 報(bào)錯(cuò)信息: 這個(gè)是時(shí)候錯(cuò)誤已經(jīng)該變:

    2024年01月22日
    瀏覽(22)
  • 項(xiàng)目筆記-瑞吉外賣(全)

    項(xiàng)目筆記-瑞吉外賣(全)

    1.對(duì)后端返回請(qǐng)求值的分析 2.對(duì)不同種請(qǐng)求參數(shù)的分析 3.事務(wù)管理 1.軟件開發(fā)整體介紹 2.項(xiàng)目整體介紹?? 后端:管理菜品和員工信息 前臺(tái):通過手機(jī)端,可以瀏覽菜品和添加客戶端 開發(fā)項(xiàng)目流程: 實(shí)現(xiàn)基本需求,用戶能在手機(jī)瀏覽器訪問 對(duì)移動(dòng)端應(yīng)用改進(jìn),使用微信小程

    2024年02月07日
    瀏覽(24)
  • 瑞吉外賣項(xiàng)目記錄

    瑞吉外賣項(xiàng)目記錄

    本文為個(gè)人學(xué)習(xí)黑馬《瑞吉外賣》項(xiàng)目后進(jìn)行的項(xiàng)目總結(jié),更偏向于對(duì)自己編寫文本能力的鍛煉以及對(duì)項(xiàng)目知識(shí)點(diǎn)的簡(jiǎn)短記錄。因?yàn)閭€(gè)人能力問題,其中可行性分析和測(cè)試部分只進(jìn)行了小標(biāo)題的陳列,并沒有進(jìn)行編輯。對(duì)《瑞吉外賣》項(xiàng)目感興趣的朋友也可以瀏覽本文后再去

    2024年02月05日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包