Dengan kemunculan era digital, pelbagai industri mempercepatkan transformasi digital, dan industri katering tidak terkecuali. Semakin banyak restoran mula menggunakan sistem pesanan untuk menyediakan pelanggan pengalaman makan yang lebih mudah dan cekap. Antaranya, tempahan tempahan adalah cara pesanan yang sangat popular Ia membolehkan pelanggan membuat pesanan dan membayar lebih awal sebelum tiba di kedai, mengurangkan masa menunggu pelanggan dan membawa hasil yang lebih baik kepada restoran.
Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan sistem pesanan tempahan, terutamanya termasuk aspek berikut: reka bentuk pangkalan data, reka bentuk antara muka dan contoh kod.
1. Reka bentuk pangkalan data
Pangkalan data sistem perlu menyimpan maklumat berikut:
func login(username string, password string) bool { // 在数据库中查询是否存在该用户,密码是否正确 // 如果存在,则返回true,否则返回false }
type Menu struct { Id int Name string Price float64 Image string } func getMenuList() []Menu { // 查询数据库,获取菜品列表信息 // 将信息封装为Menu类型的slice返回 }
type MenuOrder struct { MenuId int Count int } func reserve(username string, orderTime string, eatTime string, eatNumber int, menuOrder []MenuOrder) bool { // 生成订单编号 // 在订单表中新增一条订单信息 // 在菜品订单表中新增相关信息 // 返回预约结果(成功或失败) }
type OrderInfo struct { OrderId int OrderTime string EatTime string EatNumber int MenuList []MenuOrder Status int // 1表示预约成功,2表示已就餐,3表示已取消 } func getOrderList(username string) []OrderInfo { // 查询指定用户的订单信息 // 将信息封装为OrderInfo类型的slice返回 }
func login(username string, password string) bool { db, err := sql.Open("mysql", "root:password@tcp(localhost:3306)/restaurant") if err != nil { log.Fatal(err) } defer db.Close() rows, err := db.Query("SELECT * FROM user_info WHERE username = ? AND password = ?", username, password) if err != nil { log.Fatal(err) } defer rows.Close() if rows.Next() { return true } else { return false } }
type Menu struct { Id int Name string Price float64 Image string } func getMenuList() []Menu { db, err := sql.Open("mysql", "root:password@tcp(localhost:3306)/restaurant") if err != nil { log.Fatal(err) } defer db.Close() rows, err := db.Query("SELECT id, name, price, image FROM menu_info") if err != nil { log.Fatal(err) } defer rows.Close() var menuList []Menu for rows.Next() { var id int var name string var price float64 var image string err := rows.Scan(&id, &name, &price, &image) if err != nil { log.Fatal(err) } menu := Menu{ Id: id, Name: name, Price: price, Image: image, } menuList = append(menuList, menu) } return menuList }
Atas ialah kandungan terperinci Kaedah pelaksanaan fungsi tempahan tempahan dalam sistem pesanan makanan yang dibangunkan dengan bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!