12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package tables
- import "Wine-Server/utils"
- type OperationTable struct {
- Id string
- UserType uint8 // 0: admin, 1: worker
- UserId string
- OpType uint8 // 0: insert, 1: modify, 2: delete(warn), 3: open-front, 4: open-back(danger), 5: refund(danger)
- Level uint8 // 0: info, 1: warn, 2: danger
- Time utils.TimeType
- Describe string
- }
- func CreateOperationTable() error {
- SQL := "CREATE TABLE IF NOT EXISTS `operation`(" +
- "`id` INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL," +
- "`user_type` TINYINT UNSIGNED DEFAULT 0," +
- "`user_id` VARCHAR(16) NOT NULL," +
- "`op_type` TINYINT UNSIGNED DEFAULT 0," +
- "`level` TINYINT UNSIGNED DEFAULT 0," +
- "`time` DATETIME DEFAULT CURRENT_TIMESTAMP," +
- "`describe` VARCHAR(128) DEFAULT '');"
- _, err := utils.Mysql.Exec(SQL)
- return err
- }
- func (row *OperationTable) Insert() error {
- SQL := "INSERT INTO `operation`(`user_type`,`user_id`,`op_type`,`level`,`describe`) VALUES(?,?,?,?,?);"
- _, err := utils.Mysql.Exec(SQL, row.UserType, row.UserId, row.OpType, row.Level, row.Describe)
- return err
- }
- func (row *OperationTable) Delete() error {
- _, err := utils.Mysql.Exec("DELETE FROM `operation` WHERE `id`=?;", row.Id)
- return err
- }
- // Update deprecated
- func (row *OperationTable) Update(args utils.JsonType) error {
- keys, values := utils.UnZip(args)
- SQL := utils.Format("UPDATE `operation` 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...)
- return err
- }
- // UpdateSelf deprecated
- func (row *OperationTable) UpdateSelf() error {
- SQL := "UPDATE `operation` SET `user_type`=?,`user_id`=?,`op_type`=?,`level`=?,`describe`=? WHERE `id`=?;"
- _, err := utils.Mysql.Exec(SQL, row.UserType, row.UserId, row.OpType, row.Level, row.Describe)
- return err
- }
- func (row *OperationTable) Get() error {
- SQL := "SELECT `user_type`,`user_id`,`op_type`,`level`,`time`,`describe` FROM `operation` WHERE `id`=?;"
- return utils.Mysql.QueryRow(SQL, row.Id).Scan(&row.UserType, &row.UserId, &row.OpType, &row.Level, &row.Time, &row.Describe)
- }
|