12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package tables
- import (
- "Wine-Server/utils"
- "fmt"
- )
- type WineTable struct {
- Id uint16
- Name string
- Price uint16
- Density float64
- Picture string
- Time utils.TimeType
- Describe string
- OrderCount uint32
- TotalIncome float64
- }
- func CreateWineTable() error {
- sql := "CREATE TABLE IF NOT EXISTS `wine`(" +
- "`id` SMALLINT UNSIGNED PRIMARY KEY," +
- "`name` VARCHAR(16) NOT NULL," +
- "`price` SMALLINT UNSIGNED DEFAULT 9999," +
- "`density` DOUBLE DEFAULT 1," +
- "`picture` VARCHAR(128) NOT NULL," +
- "`time` DATETIME DEFAULT CURRENT_TIMESTAMP," +
- "`describe` VARCHAR(256)," +
- "`order` INT UNSIGNED DEFAULT 0," +
- "`income` DOUBLE DEFAULT 0);"
- _, err := utils.Mysql.Exec(sql)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *WineTable) Insert() error {
- sql := "INSERT INTO `wine` (`name`, `price`, `picture`, `describe`) VALUES (?, ?, ?, ?, ?, ?, ?);"
- pre, err := utils.Mysql.Prepare(sql)
- if err != nil {
- return err
- }
- _, err = pre.Exec(row.Name, row.Price, row.Picture, row.Describe)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *WineTable) Delete() error {
- pre, err := utils.Mysql.Prepare("DELETE FROM `wine` WHERE `id`=?;")
- if err != nil {
- return err
- }
- _, err = pre.Exec(row.Id)
- if err != nil {
- return err
- }
- return nil
- }
- func (row *WineTable) Update(args utils.JsonType) error {
- keys, values := utils.UnZip(args)
- sql := fmt.Sprintf("UPDATE `wine` SET %s WHERE `id`=%d;", 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 *WineTable) Get() error {
- sql := "SELECT `name`, `price`, `density`, `picture`, IFNULL(`describe`, ''), `time`, `order`, `income` FROM `wine` WHERE `id`=?;"
- pre, err := utils.Mysql.Prepare(sql)
- if err != nil {
- return err
- }
- err = pre.QueryRow(row.Id).Scan(
- &row.Name, &row.Price, &row.Density, &row.Picture, &row.Describe, &row.Time, &row.OrderCount, &row.TotalIncome,
- )
- if err != nil {
- return err
- }
- return nil
- }
|