package racs import ( "APIServer/cnf" "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql" ) type RACS struct{} type StorageInfo struct { USN string Storage string UpdateTime string Mark1 string Mark2 string Mark3 string } func (r *RACS) Inbound(cfg cnf.Cfg, logger *log.Logger, addr string, uri string, params map[string]string) map[string]string { rst := map[string]string{"Result": "OK", "ErrMsg": ""} dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", cfg.MySQL.User, cfg.MySQL.Password, cfg.MySQL.Server, cfg.MySQL.Port, cfg.MySQL.Database, ) dbo, err := sql.Open("mysql", dsn) if err != nil { logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error()) rst["Result"] = "NG" rst["ErrMsg"] = "racs.Inbound: " + err.Error() return rst } dmlInbound := fmt.Sprintf(`INSERT INTO %s (usn,storage,update_time,mark1,mark2,mark3) VALUES ('%s','%s',%s,'%s','%s','%s');`, cfg.MySQL.StorageTable, params["USN"], "Inbound", "NOW()", params["MARK1"], params["MARK2"], params["MARK3"], ) _, err = dbo.Exec(dmlInbound) if err != nil { logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error()) rst["Result"] = "NG" rst["ErrMsg"] = "racs.Inbound: " + err.Error() return rst } return rst } func (r *RACS) Outbound(cfg cnf.Cfg, logger *log.Logger, addr string, uri string, params map[string]string) map[string]string { rst := map[string]string{"Result": "OK", "ErrMsg": ""} dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", cfg.MySQL.User, cfg.MySQL.Password, cfg.MySQL.Server, cfg.MySQL.Port, cfg.MySQL.Database, ) dbo, err := sql.Open("mysql", dsn) if err != nil { logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error()) rst["Result"] = "NG" rst["ErrMsg"] = "racs.Outbound: " + err.Error() return rst } dmlOutbound := fmt.Sprintf(`INSERT INTO %s (usn,storage,update_time,mark1,mark2,mark3) VALUES ('%s','%s',%s,'%s','%s','%s');`, cfg.MySQL.StorageTable, params["USN"], "Outbound", "NOW()", params["MARK1"], params["MARK2"], params["MARK3"], ) _, err = dbo.Exec(dmlOutbound) if err != nil { logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, err.Error()) rst["Result"] = "NG" rst["ErrMsg"] = "racs.Outbound: " + err.Error() return rst } return rst }