diff --git a/crontask/db.go b/crontask/db.go index 17ed4abe..3ac9494b 100644 --- a/crontask/db.go +++ b/crontask/db.go @@ -139,7 +139,7 @@ type NeState struct { Id int `json:"id" xorm:"pk 'id' autoincr"` NeType string `json:"neType" xorm:"ne_type"` NeId string `json:"neId" xorm:"ne_id"` - Version string `json:"version" xorm:"version"` + Version string `json:"version" xorm:"column 'version' VARCHAR(16)"` Capability uint32 `json:"capability" xorm:"capability"` SerialNum string `json:"serialNum" xorm:"serial_num"` ExpiryDate string `json:"expiryDate" xorm:"expiry_date"` @@ -157,7 +157,13 @@ func XormInsertNeState(neState *NeState) (int64, error) { session := dbClient.xEngine.NewSession() defer session.Close() affected, err := session.InsertOne(neState) - session.Commit() + if err != nil { + return 0, err + } + err = session.Commit() + if err != nil { + return 0, err + } return affected, err } diff --git a/features/state/getstate.go b/features/state/getstate.go index 46e62eb9..ae7e94be 100644 --- a/features/state/getstate.go +++ b/features/state/getstate.go @@ -154,7 +154,11 @@ func init() { return 0, errors.New("quota exceeded") }) */ - client.SetTimeout(time.Duration(2 * time.Second)) + client. + SetTimeout(time.Duration(400 * time.Millisecond)) + // SetRetryCount(1). + // SetRetryWaitTime(time.Duration(1 * time.Second)). + // SetRetryMaxWaitTime(time.Duration(2 * time.Second)) //client.SetTimeout(2 * time.Second) } @@ -820,8 +824,9 @@ func GetStateFromNF(w http.ResponseWriter, r *http.Request) { ErrorCode: "1", ErrorInfo: "Internal server error, NF connnect refused", } result["error"] = errorMessage - SN, _ := dborm.XormGetNESN(ne.NeType, ne.NeId) + SN, Version, _ := dborm.XormGetNEStateInfo(ne.NeType, ne.NeId) result["serialNum"] = SN + result["verion"] = Version } else { systemState := make(map[string]interface{}) _ = json.Unmarshal(resp.Body(), &systemState) diff --git a/lib/dborm/dborm.go b/lib/dborm/dborm.go index 0232a29e..afc90c8c 100644 --- a/lib/dborm/dborm.go +++ b/lib/dborm/dborm.go @@ -1821,13 +1821,14 @@ func XormGetTraceRawMsg(id int) (int64, []byte, error) { return timestamp, rawMsg, nil } -func XormGetNESN(neType, neID string) (string, error) { +func XormGetNEStateInfo(neType, neID string) (string, string, error) { SN := "-" + Version := "-" _, err := xEngine.Table("ne_state"). Where("ne_type=? and ne_id=?", neType, neID). - Asc("timestamp"). - Cols("serial_num"). + Desc("timestamp"). + Cols("serial_num", "version"). Limit(1). - Get(&SN) - return SN, err + Get(&SN, &Version) + return SN, Version, err }