From 1f8c2ba8c5cbcca6fc0521e3cb01ecdfdf3f88b7 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Sun, 21 Aug 2022 22:18:50 +0800 Subject: [PATCH 1/3] fix bug --- internal/api/client_init/init_config.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/internal/api/client_init/init_config.go b/internal/api/client_init/init_config.go index ec9120601..f36a22065 100644 --- a/internal/api/client_init/init_config.go +++ b/internal/api/client_init/init_config.go @@ -4,6 +4,7 @@ import ( api "Open_IM/pkg/base_info" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" + "Open_IM/pkg/common/token_verify" "Open_IM/pkg/utils" "net/http" @@ -19,6 +20,13 @@ func SetClientInitConfig(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) + err, _ := token_verify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID) + if err != nil { + errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } m := make(map[string]interface{}) if req.DiscoverPageURL != nil { m["discover_page_url"] = *req.DiscoverPageURL @@ -28,6 +36,7 @@ func SetClientInitConfig(c *gin.Context) { if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return } } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) @@ -43,6 +52,13 @@ func GetClientInitConfig(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) + err, _ := token_verify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID) + if err != nil { + errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } config, err := imdb.GetClientInitConfig() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) From d57729d3d77707485c739ec056be9080fd58fd8c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Sun, 21 Aug 2022 22:22:59 +0800 Subject: [PATCH 2/3] fix bug --- pkg/common/db/mysql_model/im_mysql_model/client_config.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/client_config.go b/pkg/common/db/mysql_model/im_mysql_model/client_config.go index 1167dd214..9e508ef3e 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/client_config.go +++ b/pkg/common/db/mysql_model/im_mysql_model/client_config.go @@ -3,7 +3,7 @@ package im_mysql_model import "Open_IM/pkg/common/db" func SetClientInitConfig(m map[string]interface{}) error { - result := db.DB.MysqlDB.DefaultGormDB().Model(&db.ClientInitConfig{}).Updates(m) + result := db.DB.MysqlDB.DefaultGormDB().Model(&db.ClientInitConfig{}).Where("1=1").Updates(m) if result.Error != nil { return result.Error } From 782ad07940a40003be0751f68706b7c2a62f06f3 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Sun, 21 Aug 2022 22:28:10 +0800 Subject: [PATCH 3/3] fix bug --- internal/api/client_init/init_config.go | 8 ++++++-- pkg/common/db/mysql_model/im_mysql_model/client_config.go | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/api/client_init/init_config.go b/internal/api/client_init/init_config.go index f36a22065..de08fc90c 100644 --- a/internal/api/client_init/init_config.go +++ b/internal/api/client_init/init_config.go @@ -9,6 +9,7 @@ import ( "net/http" "github.com/gin-gonic/gin" + "github.com/jinzhu/gorm" ) func SetClientInitConfig(c *gin.Context) { @@ -61,8 +62,11 @@ func GetClientInitConfig(c *gin.Context) { } config, err := imdb.GetClientInitConfig() if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + if !gorm.IsRecordNotFoundError(err) { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } } resp.Data.DiscoverPageURL = config.DiscoverPageURL log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp ", resp) diff --git a/pkg/common/db/mysql_model/im_mysql_model/client_config.go b/pkg/common/db/mysql_model/im_mysql_model/client_config.go index 9e508ef3e..ae932ed92 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/client_config.go +++ b/pkg/common/db/mysql_model/im_mysql_model/client_config.go @@ -7,7 +7,7 @@ func SetClientInitConfig(m map[string]interface{}) error { if result.Error != nil { return result.Error } - if result.RowsAffected == 1 { + if result.RowsAffected == 0 { err := db.DB.MysqlDB.DefaultGormDB().Model(&db.ClientInitConfig{}).Create(m).Error return err }