123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package tables
- import (
- "Wine-Server/utils"
- "fmt"
- )
- type ManagerTable struct {
- Id string
- Super bool
- First utils.TimeType
- Last utils.TimeType
- Name string
- Account string
- Password string
- OrderCount uint32
- TotalIncome float64
- }
- func CreateManagerTable() error {
- sql := "CREATE TABLE IF NOT EXISTS `manager`(" +
- "`id` VARCHAR(16) PRIMARY KEY," +
- "`super` BOOL DEFAULT FALSE," +
- "`first` DATETIME DEFAULT CURRENT_TIMESTAMP," +
- "`last` DATETIME DEFAULT CURRENT_TIMESTAMP," +
- "`name` VARCHAR(16) NOT NULL," +
- "`account` VARCHAR(32) NOT NULL," +
- "`password` VARCHAR(512) NOT NULL," +
- "`order` INT UNSIGNED DEFAULT 0," +
- "`income` DOUBLE DEFAULT 0);"
- _, err := utils.Mysql.Exec(sql)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *ManagerTable) Insert() error {
- sql := "INSERT INTO `manager` (`id`, `name`, `account`, `password`) VALUES (?, ?, ?, ?);"
- pre, err := utils.Mysql.Prepare(sql)
- if err != nil {
- return err
- }
- _, err = pre.Exec(row.Id, row.Name, row.Account, row.Password)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *ManagerTable) Delete() error {
- pre, err := utils.Mysql.Prepare("DELETE FROM `manager` WHERE `id`=?;")
- if err != nil {
- return err
- }
- _, err = pre.Exec(row.Id)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *ManagerTable) Update(args utils.JsonType) error {
- keys, values := utils.UnZip(args)
- sql := fmt.Sprintf("UPDATE `manager` SET %s WHERE `id`='%s';", utils.SqlFields(keys), row.Id)
- pre, err := utils.Mysql.Prepare(sql)
- if err != nil {
- return err
- }
- _, err = pre.Exec(values...)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *ManagerTable) Get() error {
- sql := "SELECT `super`, `first`, `last`, `name`, `account`, `password`, `count`, `income` FROM `manager` WHERE `id`=?;"
- pre, err := utils.Mysql.Prepare(sql)
- if err != nil {
- return err
- }
- err = pre.QueryRow(row.Id).Scan(&row.Super, &row.First, &row.Last, &row.Name, &row.Account, &row.Password, &row.OrderCount, &row.TotalIncome)
- if err != nil {
- return err
- }
- return nil
- }
|