fix bug on Inbound and Outbound API

This commit is contained in:
r0n1n7an 2024-11-15 16:29:49 +08:00
parent 3ed70abd22
commit 35af18517c
2 changed files with 28 additions and 14 deletions

View File

@ -488,18 +488,18 @@ func handleRacsInbound(w http.ResponseWriter, r *http.Request) {
params, err := parseReqParams(r)
if err != nil {
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
rst["Result"] = "NG"
rst["ErrMsg"] = "racs.HandleInbound: " + err.Error()
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
return
}
if params["USN"] == "" {
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
rst["Result"] = "NG"
rst["ErrMsg"] = "racs.HandleInbound: Missing Parameter - USN"
rst["ErrMsg"] = "racs.HandleInbound: Missing Parameter USN"
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
return
@ -535,18 +535,18 @@ func handleRacsOutbound(w http.ResponseWriter, r *http.Request) {
params, err := parseReqParams(r)
if err != nil {
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
rst["Result"] = "NG"
rst["ErrMsg"] = "racs.HandleOutbound: " + err.Error()
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
return
}
if params["USN"] == "" {
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
rst["Result"] = "NG"
rst["ErrMsg"] = "racs.HandleInbound: Missing Parameter - USN"
rst["ErrMsg"] = "racs.HandleOutbound: Missing Parameter USN"
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", r.RemoteAddr, r.RequestURI, params, rst["ErrMsg"])
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "%v", strings.ReplaceAll(fmt.Sprintf("%#v", rst), "map[string]string", ""))
return

View File

@ -30,12 +30,19 @@ func (r *RACS) Inbound(cfg cnf.Cfg, logger *log.Logger, addr string, uri string,
)
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()
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, rst["ErrMsg"])
return rst
}
dmlInbound := fmt.Sprintf(`INSERT INTO %s (usn,storage,update_time,mark1,mark2,mark3) VALUES ('%s','%s',%s,'%s','%s','%s');`,
dml := fmt.Sprintf(`INSERT INTO %s
(usn,storage,update_time,mark1,mark2,mark3) VALUES ('%s','%s',%s,'%s','%s','%s')
ON DUPLICATE KEY UPDATE
storage = VALUES(storage),
update_time = NOW(),
mark1 = VALUES(mark1),
mark2 = VALUES(mark2),
mark3 = VALUES(mark3);`,
cfg.MySQL.StorageTable,
params["USN"],
"Inbound",
@ -44,11 +51,11 @@ func (r *RACS) Inbound(cfg cnf.Cfg, logger *log.Logger, addr string, uri string,
params["MARK2"],
params["MARK3"],
)
_, err = dbo.Exec(dmlInbound)
_, err = dbo.Exec(dml)
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()
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, rst["ErrMsg"])
return rst
}
return rst
@ -65,12 +72,19 @@ func (r *RACS) Outbound(cfg cnf.Cfg, logger *log.Logger, addr string, uri string
)
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()
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, rst["ErrMsg"])
return rst
}
dmlOutbound := fmt.Sprintf(`INSERT INTO %s (usn,storage,update_time,mark1,mark2,mark3) VALUES ('%s','%s',%s,'%s','%s','%s');`,
dml := fmt.Sprintf(`INSERT INTO %s
(usn,storage,update_time,mark1,mark2,mark3) VALUES ('%s','%s',%s,'%s','%s','%s')
ON DUPLICATE KEY UPDATE
storage = VALUES(storage),
update_time = NOW(),
mark1 = VALUES(mark1),
mark2 = VALUES(mark2),
mark3 = VALUES(mark3);`,
cfg.MySQL.StorageTable,
params["USN"],
"Outbound",
@ -79,11 +93,11 @@ func (r *RACS) Outbound(cfg cnf.Cfg, logger *log.Logger, addr string, uri string
params["MARK2"],
params["MARK3"],
)
_, err = dbo.Exec(dmlOutbound)
_, err = dbo.Exec(dml)
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()
logger.Printf("[ERR] %s; %s; %#v; %s\r\n", addr, uri, params, rst["ErrMsg"])
return rst
}
return rst