ホームページ >バックエンド開発 >Golang >Go言語を使用して受発注システムの従業員管理機能を開発する方法

Go言語を使用して受発注システムの従業員管理機能を開発する方法

WBOY
WBOYオリジナル
2023-11-01 14:39:221105ブラウズ

Go言語を使用して受発注システムの従業員管理機能を開発する方法

インターネット技術の発展に伴い、多くの伝統的なレストランもデジタル化への変革を始めており、その中でも注文システムはレストランのデジタル化の重要な部分となっています。発注システムには従業員管理機能が不可欠であり、レストラン管理者が従業員情報、勤怠記録、作業配分などをより適切に管理するのに役立ちます。この記事では、Go言語を使用して受発注システムの従業員管理機能を開発する方法と具体的なコード例を紹介し、同様の機能を開発する読者の参考になれば幸いです。

  1. 開発環境の構築

開発を開始する前に、Go 言語の開発環境をセットアップする必要があります。まず、Go 言語の動作環境と開発ツールをインストールする必要がありますが、Go 言語の公式公式 Web サイトを選択してダウンロードしてインストールすることをお勧めします。インストールが完了したら、どこでも Go コマンドを使用できるように環境変数を設定します。

  1. データベース モデルの設計

従業員管理機能を開発する前に、データベース モデルを設計する必要があります。この記事ではGo言語のormフレームワークgormを使ってデータベースを操作していきます。以下に示すように、最初に従業員構造を定義する必要があります。

type Employee struct {
    ID       uint   `gorm:"primary_key"`
    Name     string `gorm:"type:varchar(50)"`
    Phone    string `gorm:"type:varchar(50)"`
    Position string `gorm:"type:varchar(50)"`
}

この構造では、従業員の 4 つの属性 (ID、名前、電話番号、役職) を定義します。このうち、ID は主キー、Name は従業員の名前、Phone は電話番号、Position は役職です。実際のニーズに応じて従業員の属性を追加または変更できます。

  1. データベースの初期化

データベース モデルを設計した後、データベースを初期化する必要があります。データベースを操作するための SQL パッケージは Go 言語で提供されています。次に示すように、最初にデータベースに接続し、プログラム内で Employee モデルのテーブルを作成する必要があります。 gorm .Open を使用して MySQL データベースに接続し、db.AutoMigrate 関数を通じて Employee テーブルを自動的に作成します。

従業員情報の追加
  1. 次に、従業員情報を追加するコードを記述する必要があります。プログラムの実行中にユーザー入力を読み取ることで従業員情報を追加できます。例は次のとおりです:
package main

import (
    "fmt"
    "log"

    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/mysql"
)

type Employee struct {
    ID       uint   `gorm:"primary_key"`
    Name     string `gorm:"type:varchar(50)"`
    Phone    string `gorm:"type:varchar(50)"`
    Position string `gorm:"type:varchar(50)"`
}

func main() {
    // 连接数据库
    db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 自动创建表
    db.AutoMigrate(&Employee{})
    fmt.Println("create employee table successfully")
}

このプログラムでは、fmt.Scanln 関数を通じてユーザー入力を読み取り、db.Create 関数を使用して従業員を追加します情報をデータベースに保存します。

従業員情報のクエリ
  1. 従業員情報をクエリする機能も実装する必要があります。クエリ操作は、発注システムの従業員管理機能で最もよく使用される機能の 1 つであり、1 人の従業員の情報をクエリするだけでなく、従業員リスト全体を表示することもできます。サンプル コードは次のとおりです。
func main() {
    // 连接数据库
    db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 添加员工信息
    var employee Employee
    fmt.Println("请输入员工姓名:")
    fmt.Scanln(&employee.Name)
    fmt.Println("请输入员工电话:")
    fmt.Scanln(&employee.Phone)
    fmt.Println("请输入员工职位:")
    fmt.Scanln(&employee.Position)

    db.Create(&employee)
    fmt.Println("add employee successfully")
}

このプログラムでは、employees スライス変数を定義し、db.Find 関数を使用してすべての従業員情報をクエリし、従業員スライスを走査して従業員リストを出力します。次に、db.First を使用して、ユーザーが入力した ID を通じて個々の従業員情報をクエリします。

従業員情報の更新
  1. 注文システムでは、電話番号の変更、職種の変更など、従業員情報が変更される場合があります。そのため、従業員情報を更新する機能を実装する必要があります。サンプル コードは次のとおりです。
func main() {
    // 连接数据库
    db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 查询员工信息
    var employees []Employee
    db.Find(&employees)
    fmt.Println("======= 员工列表 =======")
    for _, employee := range employees {
        fmt.Printf("姓名:%s,电话:%s,职位:%s
", employee.Name, employee.Phone, employee.Position)
    }

    var id uint
    fmt.Println("请输入员工ID:")
    fmt.Scanln(&id)
    var target Employee
    db.First(&target, id)
    if target.ID == 0 {
        fmt.Println("查无此人")
        return
    }
    fmt.Printf("姓名:%s,电话:%s,职位:%s
", target.Name, target.Phone, target.Position)
}

このプログラムでは、まず db.First を使用して、ユーザーが入力した ID に基づいて個々の従業員情報をクエリし、fmt.Scanln 関数を通じてユーザーの更新情報を読み取ります。 、最後に db.Save 関数を使用して従業員情報を保存します。

従業員情報の削除
  1. 最後に、従業員情報を削除する機能を実装する必要があります。サンプル コードは次のとおりです。
func main() {
    // 连接数据库
    db, err := gorm.Open("mysql", "root:password@tcp(127.0.0.1:3306)/test?charset=utf8&parseTime=True&loc=Local")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 更新员工信息
    var id uint
    fmt.Println("请输入员工ID:")
    fmt.Scanln(&id)
    var target Employee
    db.First(&target, id)
    if target.ID == 0 {
        fmt.Println("查无此人")
        return
    }
    fmt.Println("请输入员工姓名:")
    fmt.Scanln(&target.Name)
    fmt.Println("请输入员工电话:")
    fmt.Scanln(&target.Phone)
    fmt.Println("请输入员工职位:")
    fmt.Scanln(&target.Position)
    db.Save(&target)
    fmt.Println("update employee successfully")
}

このプログラムでは、まず db.First を使用して、ユーザーが入力した ID に基づいて個々の従業員情報をクエリし、db.Delete 関数を使用して従業員情報を削除します。 。

概要

この記事では、Go 言語を使用して注文システムの従業員管理機能を開発する方法を紹介します。具体的なコード例を通じて、従業員データ テーブルの作成方法、従業員の追加方法を紹介します。情報、クエリ、更新、削除、従業員情報などの共通機能。この記事が読者の Go 言語開発スキルの習得に役立つことを願っています。

以上がGo言語を使用して受発注システムの従業員管理機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。