


Pergi pembangunan bahasa sistem memasak dari pintu ke pintu: Bagaimana untuk melaksanakan fungsi rakaman penggunaan pengguna?
Go pembangunan bahasa sistem memasak dari pintu ke pintu: Bagaimana untuk melaksanakan fungsi rakaman penggunaan pengguna?
Dengan peningkatan taraf hidup, permintaan orang ramai terhadap makanan juga semakin tinggi. Semakin ramai orang mula mencuba memasak sendiri, tetapi ramai yang tidak dapat melakukannya kerana sibuk bekerja atau malas. Oleh itu, perkhidmatan memasak dari pintu ke pintu wujud.
Kini, perkhidmatan memasak dari rumah ke rumah secara amnya dibuat melalui platform dalam talian untuk membuat tempahan dan tempahan. Pelanggan memilih hidangan dan kuantiti yang mereka perlukan melalui platform, dan selepas membayar yuran yang sepadan, mereka boleh menunggu perkhidmatan dari pintu ke pintu. Di antara perkhidmatan ini, fungsi rekod penggunaan pengguna amat penting. Bagi penyedia perkhidmatan, rekod penggunaan boleh membantu mereka mengurus akaun mereka dengan lebih baik, dengan itu meningkatkan kecekapan operasi bagi pengguna, rekod penggunaan boleh menyemak situasi penggunaan mereka baru-baru ini untuk menganggarkan keupayaan penggunaan mereka dengan lebih baik.
Jadi, bagaimana untuk melaksanakan fungsi rakaman penggunaan pengguna sistem memasak dari pintu ke pintu? Mari lihat di bawah.
1. Reka bentuk jadual data
Sebelum memikirkan tentang pelaksanaan fungsi rekod penggunaan, kita perlu mereka bentuk jadual data yang sepadan terlebih dahulu. Dalam kes ini, kita perlu mereka bentuk jadual menu, jadual pesanan, jadual butiran pesanan dan jadual rekod penggunaan.
- Jadual menu direka seperti berikut:
CREATE TABLE IF NOT EXISTS `dishes` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '菜品 ID', `name` VARCHAR(50) NOT NULL COMMENT '菜名', `image` VARCHAR(100) NOT NULL COMMENT '图片地址', `category_id` INT(10) UNSIGNED NOT NULL COMMENT '分类 ID', `price` FLOAT(10,2) UNSIGNED NOT NULL COMMENT '价格', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='菜品表';
- Jadual pesanan direka seperti berikut: # 🎜🎜#
CREATE TABLE IF NOT EXISTS `orders` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单 ID', `user_id` INT(10) UNSIGNED NOT NULL COMMENT '用户 ID', `total_price` FLOAT(10,2) UNSIGNED NOT NULL COMMENT '订单总价', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单状态,0:未支付,1:已支付,2:已完成,3:已取消', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单表';
CREATE TABLE IF NOT EXISTS `order_items` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '订单详情 ID', `order_id` INT(10) UNSIGNED NOT NULL COMMENT '订单 ID', `dish_id` INT(10) UNSIGNED NOT NULL COMMENT '菜品 ID', `quantity` SMALLINT(5) UNSIGNED NOT NULL COMMENT '数量', `price` FLOAT(10,2) UNSIGNED NOT NULL COMMENT '单价', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='订单详情表';
Salin selepas log masuk
- #🎜 🎜#2. Kod pelaksanaan
CREATE TABLE IF NOT EXISTS `consumption_records` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '消费记录 ID', `user_id` INT(10) UNSIGNED NOT NULL COMMENT '用户 ID', `order_id` INT(10) UNSIGNED NOT NULL COMMENT '订单 ID', `money` FLOAT(10,2) UNSIGNED NOT NULL COMMENT '消费金额', `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='消费记录表';
Selepas melengkapkan reka bentuk jadual data, kita perlu menggunakan bahasa Go untuk melaksanakan yang sepadan logik perniagaan. Berikut ialah kod yang sepadan:
Tentukan struktur:type ConsumptionRecord struct { ID uint32 `db:"id" json:"id"` UserID uint32 `db:"user_id" json:"user_id"` OrderID uint32 `db:"order_id" json:"order_id"` Money float32 `db:"money" json:"money"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` } type OrderDetail struct { ID uint32 `db:"id" json:"id"` OrderID uint32 `db:"order_id" json:"order_id"` DishID uint32 `db:"dish_id" json:"dish_id"` Quantity uint16 `db:"quantity" json:"quantity"` Price float32 `db:"price" json:"price"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Dish *Dish `db:"-" json:"dish"` } type Order struct { ID uint32 `db:"id" json:"id"` UserID uint32 `db:"user_id" json:"user_id"` TotalPrice float32 `db:"total_price" json:"total_price"` Status OrderStatus `db:"status" json:"status"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Items []*OrderDetail `db:"-" json:"items"` }
- Pertanyaan butiran pesanan: #🎜🎜🎜##🎜 #
// GetOrderDetailsByOrderIDs 根据订单 ID 列表查询订单详情 func GetOrderDetailsByOrderIDs(DB *sql.DB, orderIDs []uint32) ([]*OrderDetail, error) { details := make([]*OrderDetail, 0) if len(orderIDs) == 0 { return details, nil } // 拼接查询 SQL var placeHolders strings.Builder var args []interface{} for i, id := range orderIDs { if i != 0 { placeHolders.WriteString(", ") } placeHolders.WriteString("?") args = append(args, id) } query := fmt.Sprintf(` SELECT id, order_id, dish_id, quantity, price, created_at, updated_at FROM order_items WHERE order_id IN (%s) `, placeHolders.String()) rows, err := DB.Query(query, args...) if err != nil { return nil, err } defer rows.Close() // 遍历查询结果,并填充菜品信息到订单详情结构体 for rows.Next() { detail := &OrderDetail{} err := rows.Scan( &detail.ID, &detail.OrderID, &detail.DishID, &detail.Quantity, &detail.Price, &detail.CreatedAt, &detail.UpdatedAt) if err != nil { return nil, err } dish, err := GetDishByID(DB, detail.DishID) if err != nil { return nil, err } detail.Dish = dish details = append(details, detail) } return details, nil }
Salin selepas log masuk
- 3. Ringkasan
// AddConsumptionRecord 添加消费记录 func AddConsumptionRecord( DB *sql.DB, userID uint32, orderID uint32, money float32) error { insertQuery := ` INSERT INTO consumption_records (user_id, order_id, money) VALUES (?, ?, ?) ` _, err := DB.Exec(insertQuery, userID, orderID, money) if err != nil { return err } return nil }
Salin selepas log masuk- #🎜🎜 di atas ialah a##🎜 mudah Contoh cara menggunakan bahasa Go untuk melaksanakan fungsi rakaman penggunaan pengguna dalam sistem memasak dari pintu ke pintu. Melalui kes ini, kita boleh belajar cara menyambung pertanyaan SQL, pertanyaan kelompok, merentasi hasil pertanyaan dan memasukkan data.
- Secara keseluruhannya, bahasa Go mempunyai kelebihan kesederhanaan, kecekapan dan keselamatan serta disukai oleh majoriti pembangun. Saya percaya bahawa dengan membaca kes ini, anda juga boleh mempunyai pemahaman yang lebih mendalam tentang bahasa Go. Saya juga berharap ia akan membantu anda apabila melaksanakan fungsi rekod penggunaan pengguna.
Atas ialah kandungan terperinci Pergi pembangunan bahasa sistem memasak dari pintu ke pintu: Bagaimana untuk melaksanakan fungsi rakaman penggunaan pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara melaksanakan ujian unit dan ujian integrasi dalam pembangunan bahasa Go Ringkasan: Dalam pembangunan perisian, ujian unit dan ujian integrasi adalah cara penting untuk memastikan kualiti kod dan kestabilan fungsi. Dalam bahasa Go, terdapat juga set sokongan alat yang lengkap, menjadikan ujian unit dan ujian integrasi lebih mudah dan lebih cekap. Artikel ini akan memperkenalkan cara melakukan ujian unit dan ujian integrasi dalam pembangunan bahasa Go dan menunjukkannya melalui beberapa kod sampel. Pengenalan Bahasa Go ialah bahasa pengaturcaraan sumber terbuka yang digemari oleh semakin ramai pembangun kerana kesederhanaan dan ciri yang berkuasa.

Cara menggunakan bahasa Go untuk membangunkan fungsi pengurusan ahli sistem pesanan 1. Pengenalan Dengan populariti Internet mudah alih, sistem tempahan telah menjadi bahagian yang amat diperlukan dalam industri katering. Sebagai bahagian penting dalam sistem pesanan, fungsi pengurusan keahlian memainkan peranan penting dalam meningkatkan pengalaman pengguna dan meningkatkan kelekatan pengguna. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan fungsi pengurusan ahli sistem pesanan dan menyediakan contoh kod khusus. 2. Analisis permintaan fungsi pengurusan keahlian Pendaftaran ahli: Pengguna boleh mendaftar sebagai ahli melalui nombor telefon bimbit, e-mel, dsb. Log masuk ahli

Dengan perkembangan Internet, bidang sains komputer juga telah membawa kepada banyak bahasa pengaturcaraan baharu. Antaranya, bahasa Go secara beransur-ansur menjadi pilihan pertama banyak pembangun kerana keselarasan dan sintaksnya yang ringkas. Sebagai seorang jurutera yang terlibat dalam pembangunan perisian, saya bernasib baik kerana mengambil bahagian dalam projek kerja berdasarkan bahasa Go, dan mengumpul beberapa pengalaman dan pelajaran berharga dalam proses itu. Pertama, memilih rangka kerja dan perpustakaan yang betul adalah penting. Sebelum memulakan projek, kami menjalankan penyelidikan terperinci, mencuba rangka kerja dan perpustakaan yang berbeza, dan akhirnya memilih rangka kerja Gin sebagai

Petua pembangunan bahasa Go: Perkongsian amalan dok antara muka Awan Alibaba Prakata: Pada masa kini, pengkomputeran awan telah menjadi salah satu teknologi teras untuk pembinaan maklumat perusahaan, dan Alibaba Cloud, sebagai penyedia perkhidmatan pengkomputeran awan yang terkenal di China, mempunyai rangkaian yang kaya produk dan perkhidmatan awan. Artikel ini akan berkongsi beberapa pengalaman praktikal pengarang dalam menggunakan bahasa Go untuk menyambung ke antara muka Alibaba Cloud dan menerangkannya dalam bentuk contoh kod. 1. Pengenalan Alibaba Cloud GoSDK Sebelum menggunakan bahasa Go untuk menyambung ke antara muka Alibaba Cloud, kita perlu memperkenalkan Alibaba Cloud GoSDK yang sepadan terlebih dahulu supaya

Bagaimana untuk membangunkan platform pendidikan dalam talian yang mudah menggunakan bahasa Go Pengenalan: Hari ini, perkembangan Internet telah menembusi semua lapisan masyarakat, dan bidang pendidikan tidak terkecuali. Kemunculan platform pendidikan dalam talian telah menjadikan pembelajaran lebih fleksibel dan mudah, dan telah digemari oleh pelajar dan ibu bapa. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk membangunkan platform pendidikan dalam talian yang ringkas, termasuk pembinaan platform, pembangunan fungsi dan reka bentuk pangkalan data. 1. Pembinaan platform Pertama, kita perlu memasang persekitaran pembangunan bahasa Go. Anda boleh memuat turun dan memasang versi terkini dari laman web rasmi

Apabila kualiti hidup orang ramai bertambah baik, semakin ramai keluarga memilih untuk menikmati perkhidmatan katering berkualiti tinggi di rumah. Sistem memasak dari pintu ke pintu muncul mengikut keperluan masa dan telah menjadi cara yang mudah, selamat dan sihat untuk memilih makanan. Di bawah perkhidmatan sedemikian, pengguna boleh membuat pesanan dalam talian, dan tukang masak profesional akan datang untuk menyediakan bahan-bahan, memasak makanan dan menghantarnya ke rumah pengguna untuk dinikmati. Bahasa Go mempunyai ciri kecekapan tinggi, kestabilan dan keselamatan, jadi ia boleh mencapai hasil yang sangat baik apabila dibangunkan dengan sistem memasak dari pintu ke pintu. Artikel ini akan memperkenalkan cara melaksanakan alamat penghantaran pengguna dalam sistem memasak dari pintu ke pintu

Kelebihan dan Cabaran Menggunakan Bahasa Go untuk Membangunkan Aplikasi Merentas Platform Dengan perkembangan pesat Internet mudah alih, aplikasi merentas platform telah menjadi kemahiran penting untuk pembangun. Sebagai bahasa yang mudah dan cekap dengan prestasi konkurensi yang sangat baik, bahasa Go secara beransur-ansur digemari oleh pembangun kerana ciri uniknya. Artikel ini akan meneroka kelebihan dan cabaran membangunkan aplikasi merentas platform menggunakan bahasa Go dan memberikan contoh kod yang sepadan. 1. Kelebihan 1. Ciri bahasa yang lengkap: Bahasa Go menyediakan perpustakaan standard yang kaya, meliputi pelbagai fungsi biasa, seperti operasi fail, komunikasi rangkaian, dsb.

Bagaimana untuk mengoptimumkan keselamatan penghantaran rangkaian dalam pembangunan bahasa Go Dengan perkembangan pesat Internet, keselamatan penghantaran rangkaian menjadi semakin penting. Dalam pembangunan bahasa Go, kami boleh mengambil beberapa langkah untuk mengoptimumkan keselamatan penghantaran rangkaian. Artikel ini akan memperkenalkan beberapa kaedah dan teknik biasa untuk membantu anda meningkatkan keselamatan penghantaran rangkaian bahasa Go. 1. Gunakan protokol HTTPS HTTPS ialah protokol penghantaran rangkaian selamat berdasarkan protokol SSL/TLS Ia boleh menyediakan fungsi penyulitan dan pengesahan, dan boleh menghalang penghantaran rangkaian daripada dicuri dan didengari dengan berkesan.
