From 2fc914214cac63544b3d5d4638f8d372e0655031 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 12:15:16 +0800 Subject: [PATCH 01/23] fix --- server/websocket/internal/logic/ws_render_image.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 53420a69..5aca8d95 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -23,7 +23,7 @@ var ( //每个websocket渲染任务缓冲队列长度默认值 renderChanLen = 500 //每个websocket渲染并发数 - renderChanConcurrency = 100 + renderChanConcurrency = 15 ) // 渲染处理器 From 730491ffedb8c29ec85c80327fb6a8ac16fad109 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 12:28:38 +0800 Subject: [PATCH 02/23] info --- server/info/internal/logic/infologic.go | 42 +++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index b77e0bed..62fabc9a 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -6,7 +6,6 @@ import ( "fusenapi/utils/auth" "fusenapi/utils/basic" "fusenapi/utils/check" - "log" "strings" "context" @@ -203,10 +202,9 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r if v, ok := metadict["userinfo.profile"]; ok { if v == nil { + info := QueryDefault(l.svcCtx.MysqlConn, "profile", "logo_selected", "fs_user_info") - log.Println(info) metadict["userinfo.profile"] = info - // log.Println(metadict) } else { profileDict := v.(map[string]any) if _, ok := profileDict["logo_selected"]; !ok { @@ -220,11 +218,49 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r info := QueryDefault(l.svcCtx.MysqlConn, "profile", "logo_selected", "fs_user_info") metadict["userinfo.profile.logo_selected"] = info } + } else { + var info map[string]any + for k, v := range metadict { + if v == nil { + if strings.HasPrefix(k, "userinfo.profile.logo_selected") { + if info == nil { + info = QueryDefault(l.svcCtx.MysqlConn, "profile", "logo_selected", "fs_user_info") + } + + curValue, err := GetMapValueByKey(info, strings.Split(k, ".")[2:]) + if err != nil { + logx.Error(err) + continue + // return resp.SetStatus(basic.CodeOK, metadict) + } + metadict[k] = curValue + // curValue + } + } + } } return resp.SetStatus(basic.CodeOK, metadict) } +func GetMapValueByKey(info map[string]interface{}, keys []string) (interface{}, error) { + // keys := strings.Split(key, ".")[2:] + + for _, k := range keys { + if cur, ok := info[k]; ok { + if curMap, ok := cur.(map[string]interface{}); ok { + info = curMap + } else { + return nil, fmt.Errorf("keys is not exists %#v", keys) + } + } else { + return nil, fmt.Errorf("keys is not exists %#v", keys) + } + } + + return info, nil +} + // 处理逻辑后 w,r 如:重定向, resp 必须重新处理 // func (l *InfoLogic) AfterLogic(w http.ResponseWriter, r *http.Request, resp *basic.Response) { // // httpx.OkJsonCtx(r.Context(), w, resp) From 8b81308bd25be0eee733843b57cc5807eb1334e2 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 12:31:24 +0800 Subject: [PATCH 03/23] info --- server/info/internal/logic/infologic.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index 62fabc9a..80e375d1 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -229,7 +229,7 @@ func (l *InfoLogic) Info(req *types.UserInfoRequest, userinfo *auth.UserInfo) (r curValue, err := GetMapValueByKey(info, strings.Split(k, ".")[2:]) if err != nil { - logx.Error(err) + logx.Error(err, info) continue // return resp.SetStatus(basic.CodeOK, metadict) } @@ -251,10 +251,10 @@ func GetMapValueByKey(info map[string]interface{}, keys []string) (interface{}, if curMap, ok := cur.(map[string]interface{}); ok { info = curMap } else { - return nil, fmt.Errorf("keys is not exists %#v", keys) + return nil, fmt.Errorf("curMap keys is not exists %#v", keys) } } else { - return nil, fmt.Errorf("keys is not exists %#v", keys) + return nil, fmt.Errorf("info keys is not exists %#v", keys) } } From b1675ae0bfd74d2f35733e8fcf092386a19c7181 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 13:14:53 +0800 Subject: [PATCH 04/23] info --- go.mod | 2 +- go.sum | 7 +++++++ server/info/internal/logic/infologic.go | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 8bf4cb92..c2696e38 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e github.com/streadway/amqp v1.1.0 - github.com/stripe/stripe-go/v74 v74.26.0 + github.com/stripe/stripe-go/v74 v74.30.0 github.com/zeromicro/go-zero v1.5.4 golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 golang.org/x/oauth2 v0.10.0 diff --git a/go.sum b/go.sum index 06dd5c40..5e518b03 100644 --- a/go.sum +++ b/go.sum @@ -83,6 +83,7 @@ github.com/aws/aws-sdk-go v1.44.295 h1:SGjU1+MqttXfRiWHD6WU0DRhaanJgAFY+xIhEaugV github.com/aws/aws-sdk-go v1.44.295/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -183,6 +184,7 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -344,6 +346,7 @@ github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9Y github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -356,6 +359,7 @@ github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0b github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/kataras/golog v0.0.9/go.mod h1:12HJgwBIZFNGL0EJnMRhmvGA0PQGx8VFwrZtM4CqbAk= @@ -434,6 +438,7 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nacos-group/nacos-sdk-go/v2 v2.2.3 h1:sUQx4f1bXDeeOOEQZjGAitzxYApbYY9fVDbxVCaBW+I= github.com/nacos-group/nacos-sdk-go/v2 v2.2.3/go.mod h1:UL4U89WYdnyajgKJUMpuT1Rr6iNmbjrxOO40JRgtA00= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= @@ -550,6 +555,8 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stripe/stripe-go/v74 v74.26.0 h1:enbhLtjKGWvJKcGM0f2CazqFSXzpHXcQ42nG2PNsWK0= github.com/stripe/stripe-go/v74 v74.26.0/go.mod h1:f9L6LvaXa35ja7eyvP6GQswoaIPaBRvGAimAO+udbBw= +github.com/stripe/stripe-go/v74 v74.30.0 h1:0Kf0KkeFnY7iRhOwvTerX0Ia1BRw+eV1CVJ51mGYAUY= +github.com/stripe/stripe-go/v74 v74.30.0/go.mod h1:f9L6LvaXa35ja7eyvP6GQswoaIPaBRvGAimAO+udbBw= github.com/tidwall/gjson v1.12.0 h1:61wEp/qfvFnqKH/WCI3M8HuRut+mHT6Mr82QrFmM2SY= github.com/tidwall/gjson v1.12.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index 80e375d1..62c9acea 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -248,11 +248,15 @@ func GetMapValueByKey(info map[string]interface{}, keys []string) (interface{}, for _, k := range keys { if cur, ok := info[k]; ok { + if curMap, ok := cur.(map[string]interface{}); ok { info = curMap + } else if curMap, ok := cur.(interface{}); ok { + return curMap, nil } else { return nil, fmt.Errorf("curMap keys is not exists %#v", keys) } + } else { return nil, fmt.Errorf("info keys is not exists %#v", keys) } From 9a4899558e74a6b47650eb773a8b304cdd8556f6 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 13:18:31 +0800 Subject: [PATCH 05/23] info --- server/info/internal/logic/infologic.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index 62c9acea..b136d5fe 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -248,15 +248,11 @@ func GetMapValueByKey(info map[string]interface{}, keys []string) (interface{}, for _, k := range keys { if cur, ok := info[k]; ok { - if curMap, ok := cur.(map[string]interface{}); ok { info = curMap - } else if curMap, ok := cur.(interface{}); ok { - return curMap, nil } else { - return nil, fmt.Errorf("curMap keys is not exists %#v", keys) + return cur, nil } - } else { return nil, fmt.Errorf("info keys is not exists %#v", keys) } From b6e994844e6641f24024b4731c04f080f4aff52f Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 13:21:06 +0800 Subject: [PATCH 06/23] info --- server/info/internal/logic/infologic.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index b136d5fe..69c175ae 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -251,6 +251,7 @@ func GetMapValueByKey(info map[string]interface{}, keys []string) (interface{}, if curMap, ok := cur.(map[string]interface{}); ok { info = curMap } else { + logx.Error(cur) return cur, nil } } else { From 173fa23e80fe96483a520ffc8369e6a446829f3b Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 13:35:05 +0800 Subject: [PATCH 07/23] info --- server/info/internal/logic/infologic.go | 12 ++++++ server/info/internal/logic/infologic_test.go | 42 ++++++++++---------- 2 files changed, 33 insertions(+), 21 deletions(-) diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index 69c175ae..6b168b06 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -99,6 +99,18 @@ func QueryDefault(conn *gorm.DB, module string, moduleQuery string, tname string if err == gorm.ErrRecordNotFound { logx.Error(err) } + + if v, ok := info[queryAsName]; ok { + var qinfo map[string]any + err := json.Unmarshal([]byte(v.(string)), &qinfo) + if err != nil { + logx.Error(err) + } else { + info[queryAsName] = qinfo + } + + } + return info } diff --git a/server/info/internal/logic/infologic_test.go b/server/info/internal/logic/infologic_test.go index ec0e1d05..040b4c7f 100644 --- a/server/info/internal/logic/infologic_test.go +++ b/server/info/internal/logic/infologic_test.go @@ -115,9 +115,9 @@ func TestMain(t *testing.T) { if v, ok := metadict["userinfo.profile"]; ok { if v == nil { + info := QueryDefault(conn, "profile", "logo_selected", "fs_user_info") metadict["userinfo.profile"] = info - // log.Println(metadict) } else { profileDict := v.(map[string]any) if _, ok := profileDict["logo_selected"]; !ok { @@ -131,30 +131,30 @@ func TestMain(t *testing.T) { info := QueryDefault(conn, "profile", "logo_selected", "fs_user_info") metadict["userinfo.profile.logo_selected"] = info } + } else { + var info map[string]any + for k, v := range metadict { + if v == nil { + if strings.HasPrefix(k, "userinfo.profile.logo_selected") { + if info == nil { + info = QueryDefault(conn, "profile", "logo_selected", "fs_user_info") + } + + curValue, err := GetMapValueByKey(info, strings.Split(k, ".")[2:]) + if err != nil { + logx.Error(err, info) + continue + // return resp.SetStatus(basic.CodeOK, metadict) + } + metadict[k] = curValue + // curValue + } + } + } } } -func QueryDefault(conn *gorm.DB, module string, moduleQuery string, tname string) map[string]any { - - qname := strings.Split(moduleQuery, ".") - queryAsName := qname[len(qname)-1] - sqlstr := fmt.Sprintf( - "select JSON_EXTRACT(metadata,'$.%s') as %s from %s where module = '%s' and user_id = 0 and guest_id = 0 order by ctime DESC limit 1", - moduleQuery, // logo_selected - queryAsName, // logo_selected - tname, // fs_user_info - module, // profile - ) - raw := conn.Raw(sqlstr) - var info map[string]any - err := raw.Scan(&info).Error - if err == gorm.ErrRecordNotFound { - logx.Error(err) - } - return info -} - func TestCaseJSON_EXTRACT(t *testing.T) { userProfile := &gmodel.UserProfile{ From ec4fe7685632e1221a6c6f31fa1d1b2bf9fcdfa7 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 13:37:23 +0800 Subject: [PATCH 08/23] info --- run_all_server.sh | 4 ++-- server/info/internal/logic/infologic.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/run_all_server.sh b/run_all_server.sh index 6ee27efe..12b22d1d 100755 --- a/run_all_server.sh +++ b/run_all_server.sh @@ -31,9 +31,9 @@ run_server() { # 导航到相应的目录 cd server/$server_name - go build echo "build $server_name" - + go build + # 如果之前存在相同名字的 screen 会话,先将其终止 # 首先尝试关闭已存在的screen会话 existing_session=$(screen -ls | grep -w "$server_name") diff --git a/server/info/internal/logic/infologic.go b/server/info/internal/logic/infologic.go index 6b168b06..b166c650 100644 --- a/server/info/internal/logic/infologic.go +++ b/server/info/internal/logic/infologic.go @@ -263,7 +263,7 @@ func GetMapValueByKey(info map[string]interface{}, keys []string) (interface{}, if curMap, ok := cur.(map[string]interface{}); ok { info = curMap } else { - logx.Error(cur) + // logx.Error(cur) return cur, nil } } else { From 366a441cf2b7ce64f68104d2af4bcf2e9c321bbd Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:14:04 +0800 Subject: [PATCH 09/23] fix --- server/websocket/internal/logic/ws_render_image.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 5aca8d95..2850af1a 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -202,6 +202,7 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe logx.Error("failed to find render resource:", err) return } + logx.Info("无缓存的渲染图,需要unity") } else { //返回给客户端 w.sendRenderResultData(websocket_data.RenderImageRspMsg{ From e4c165cd181e9139f6530e7043215c3705e7383d Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:29:21 +0800 Subject: [PATCH 10/23] fix --- server/websocket/internal/logic/ws_render_image.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 2850af1a..faf35cf6 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -23,7 +23,7 @@ var ( //每个websocket渲染任务缓冲队列长度默认值 renderChanLen = 500 //每个websocket渲染并发数 - renderChanConcurrency = 15 + renderChanConcurrency = 3 ) // 渲染处理器 @@ -33,6 +33,8 @@ type renderProcessor struct { // 云渲染属性 type extendRenderProperty struct { renderChan chan websocket_data.RenderImageReqMsg //渲染消息入口的缓冲队列 + selectColorIndex int //颜色选中索引 + templateTag string //模板标签 } // 处理分发到这里的数据 @@ -48,6 +50,8 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { case <-w.closeChan: //已经关闭 return case w.extendRenderProperty.renderChan <- renderImageData: //发入到缓冲队列 + w.extendRenderProperty.templateTag = renderImageData.RenderData.TemplateTag + w.extendRenderProperty.selectColorIndex = renderImageData.RenderData.TemplateTagColor.SelectedColorIndex return } } @@ -67,6 +71,14 @@ func (w *wsConnectItem) consumeRenderImageData() { case <-w.closeChan: //已关闭 return case data := <-w.extendRenderProperty.renderChan: //消费数据 + if data.RenderData.TemplateTag != w.extendRenderProperty.templateTag{ + logx.Error("由于模板切换了,丢弃该渲染消息") + continue + } + if data.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex{ + logx.Error("由于模板切换了颜色,丢弃该渲染消息") + continue + } limitChan <- struct{}{} go func(d websocket_data.RenderImageReqMsg) { defer func() { From 20150a81b59389ec779f8fa2c0593dcacecb5235 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:33:16 +0800 Subject: [PATCH 11/23] fix --- server/websocket/internal/logic/ws_render_image.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index faf35cf6..e488c8d1 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -72,11 +72,11 @@ func (w *wsConnectItem) consumeRenderImageData() { return case data := <-w.extendRenderProperty.renderChan: //消费数据 if data.RenderData.TemplateTag != w.extendRenderProperty.templateTag{ - logx.Error("由于模板切换了,丢弃该渲染消息") + logx.Info("由于模板切换了,丢弃该渲染消息") continue } if data.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex{ - logx.Error("由于模板切换了颜色,丢弃该渲染消息") + logx.Info("由于模板切换了颜色,丢弃该渲染消息") continue } limitChan <- struct{}{} From 4005af2040fcab1c965a6b633cbbba397aa2cfbf Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:34:23 +0800 Subject: [PATCH 12/23] info --- model/gmodel/fs_user_logic.go | 31 +++++++++++++------- server/info/internal/logic/infologic_test.go | 14 ++++++--- utils/fssql/metadata_test.go | 9 ++++-- 3 files changed, 37 insertions(+), 17 deletions(-) diff --git a/model/gmodel/fs_user_logic.go b/model/gmodel/fs_user_logic.go index b20a1bb7..a0a46b6d 100644 --- a/model/gmodel/fs_user_logic.go +++ b/model/gmodel/fs_user_logic.go @@ -152,12 +152,17 @@ type SubscriptionStatus struct { } `json:"item_map"` } -// UserProfile 个人信息 -type UserProfile struct { - FirstName string `json:"first_name"` - LastName string `json:"last_name"` - Resetaurant string `json:"resetaurant"` - SubStatus SubscriptionStatus `json:"sub_status"` +type UserAddress struct { +} + +// UserProfileBase 个人信息 +type UserProfileBase struct { + Base struct { + FirstName string `json:"first_name"` + LastName string `json:"last_name"` + Resetaurant string `json:"resetaurant"` + } `json:"base"` + SubStatus SubscriptionStatus `json:"sub_status"` } // 自平台的注册流程 @@ -189,10 +194,16 @@ func (u *FsUserModel) RegisterByFusen(ctx context.Context, token *auth.RegisterT // 继承guest_id的资源表 err = InheritGuestIdResource(tx, user.Id, token.GuestId, func(txResouce, txUserMaterial, txUserInfo *gorm.DB) error { - userProfile := &UserProfile{ - FirstName: FirstName, - LastName: LastName, - Resetaurant: Resetaurant, + userProfile := &UserProfileBase{ + Base: struct { + FirstName string "json:\"first_name\"" + LastName string "json:\"last_name\"" + Resetaurant string "json:\"resetaurant\"" + }{ + FirstName: FirstName, + LastName: LastName, + Resetaurant: Resetaurant, + }, } metadata, err := json.Marshal(userProfile) if err != nil { diff --git a/server/info/internal/logic/infologic_test.go b/server/info/internal/logic/infologic_test.go index 040b4c7f..18a434ca 100644 --- a/server/info/internal/logic/infologic_test.go +++ b/server/info/internal/logic/infologic_test.go @@ -157,10 +157,16 @@ func TestMain(t *testing.T) { func TestCaseJSON_EXTRACT(t *testing.T) { - userProfile := &gmodel.UserProfile{ - FirstName: "FirstName", - LastName: "LastName", - Resetaurant: "Resetaurant", + userProfile := &gmodel.UserProfileBase{ + Base: struct { + FirstName string "json:\"first_name\"" + LastName string "json:\"last_name\"" + Resetaurant string "json:\"resetaurant\"" + }{ + FirstName: "FirstName", + LastName: "LastName", + Resetaurant: "Resetaurant", + }, } metadata, err := json.Marshal(userProfile) if err != nil { diff --git a/utils/fssql/metadata_test.go b/utils/fssql/metadata_test.go index 7cdf3e54..30ed39e4 100644 --- a/utils/fssql/metadata_test.go +++ b/utils/fssql/metadata_test.go @@ -8,9 +8,12 @@ import ( ) func TestCase1(t *testing.T) { - u := gmodel.UserProfile{ - FirstName: "h", - LastName: "sm", + u := gmodel.UserProfileBase{ + Base: struct { + FirstName string "json:\"first_name\"" + LastName string "json:\"last_name\"" + Resetaurant string "json:\"resetaurant\"" + }{}, } conn := initalize.InitMysql("fsreaderwriter:XErSYmLELKMnf3Dh@tcp(fusen.cdmigcvz3rle.us-east-2.rds.amazonaws.com:3306)/fusen") From c36c8ab6f96bf7cabcea8ea404aa12770083ccef Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:38:26 +0800 Subject: [PATCH 13/23] fix --- server/websocket/internal/logic/ws_render_image.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index e488c8d1..361ea0e1 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -46,12 +46,12 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { logx.Error("invalid format of websocket render image message", err) return } + w.extendRenderProperty.templateTag = renderImageData.RenderData.TemplateTag + w.extendRenderProperty.selectColorIndex = renderImageData.RenderData.TemplateTagColor.SelectedColorIndex select { case <-w.closeChan: //已经关闭 return case w.extendRenderProperty.renderChan <- renderImageData: //发入到缓冲队列 - w.extendRenderProperty.templateTag = renderImageData.RenderData.TemplateTag - w.extendRenderProperty.selectColorIndex = renderImageData.RenderData.TemplateTagColor.SelectedColorIndex return } } From c2bb174574126137a92b5c1a9167d9bfb0e0bab4 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:44:55 +0800 Subject: [PATCH 14/23] fix --- server/websocket/internal/logic/ws_render_image.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 361ea0e1..e2307fa9 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -79,6 +79,7 @@ func (w *wsConnectItem) consumeRenderImageData() { logx.Info("由于模板切换了颜色,丢弃该渲染消息") continue } + logx.Info("***************用户id:",w.userId," 游客id:",w.guestId," 当前模板标签:",w.extendRenderProperty.templateTag, " 消息模板标签:",data.RenderData.TemplateTag ," 当前颜色索引:",w.extendRenderProperty.selectColorIndex," 消息颜色索引:",data.RenderData.TemplateTagColor.SelectedColorIndex) limitChan <- struct{}{} go func(d websocket_data.RenderImageReqMsg) { defer func() { From 129583d19aa2470acdcf3006986f166874fc7e41 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 14:57:56 +0800 Subject: [PATCH 15/23] fix --- .../internal/logic/ws_render_image.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index e2307fa9..44e5ae87 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -3,6 +3,7 @@ package logic //处理websocket云渲染任务数据 import ( "bytes" + "context" "encoding/json" "errors" "fmt" @@ -66,6 +67,7 @@ func (w *wsConnectItem) consumeRenderImageData() { //限制并发 limitChan := make(chan struct{}, renderChanConcurrency) defer close(limitChan) + ctlCtx ,cancel:= context.WithCancel(w.logic.ctx) for { select { case <-w.closeChan: //已关闭 @@ -73,15 +75,19 @@ func (w *wsConnectItem) consumeRenderImageData() { case data := <-w.extendRenderProperty.renderChan: //消费数据 if data.RenderData.TemplateTag != w.extendRenderProperty.templateTag{ logx.Info("由于模板切换了,丢弃该渲染消息") + cancel() + ctlCtx ,cancel= context.WithCancel(w.logic.ctx) continue } if data.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex{ logx.Info("由于模板切换了颜色,丢弃该渲染消息") + cancel() + ctlCtx ,cancel= context.WithCancel(w.logic.ctx) continue } - logx.Info("***************用户id:",w.userId," 游客id:",w.guestId," 当前模板标签:",w.extendRenderProperty.templateTag, " 消息模板标签:",data.RenderData.TemplateTag ," 当前颜色索引:",w.extendRenderProperty.selectColorIndex," 消息颜色索引:",data.RenderData.TemplateTagColor.SelectedColorIndex) + logx.Info("用户id:",w.userId," 游客id:",w.guestId," 当前模板标签:",w.extendRenderProperty.templateTag, " 消息模板标签:",data.RenderData.TemplateTag ," 当前颜色索引:",w.extendRenderProperty.selectColorIndex," 消息颜色索引:",data.RenderData.TemplateTagColor.SelectedColorIndex) limitChan <- struct{}{} - go func(d websocket_data.RenderImageReqMsg) { + go func(ctx context.Context,d websocket_data.RenderImageReqMsg) { defer func() { if err := recover(); err != nil { logx.Error("func renderImage err:", err) @@ -90,8 +96,14 @@ func (w *wsConnectItem) consumeRenderImageData() { defer func() { <-limitChan }() + go func() { + select { + case <-ctx.Done() : + panic("渲染截止") + } + }() w.renderImage(d) - }(data) + }(ctlCtx,data) } } } From c8a52321a589b343aa5ad6ea05a77a64948cd12b Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:00:08 +0800 Subject: [PATCH 16/23] fix --- server/websocket/internal/logic/ws_render_image.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 44e5ae87..601b0ab3 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -97,6 +97,11 @@ func (w *wsConnectItem) consumeRenderImageData() { <-limitChan }() go func() { + defer func() { + if err := recover(); err != nil { + logx.Error( err) + } + }() select { case <-ctx.Done() : panic("渲染截止") From bfea40c643efa28bb9bc1e8282f1837a04d18275 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:12:44 +0800 Subject: [PATCH 17/23] fix --- .../internal/logic/ws_render_image.go | 40 +++---------------- service/repositories/image_handle.go | 2 +- 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 601b0ab3..3d29377e 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -3,7 +3,6 @@ package logic //处理websocket云渲染任务数据 import ( "bytes" - "context" "encoding/json" "errors" "fmt" @@ -24,7 +23,7 @@ var ( //每个websocket渲染任务缓冲队列长度默认值 renderChanLen = 500 //每个websocket渲染并发数 - renderChanConcurrency = 3 + renderChanConcurrency = 1 ) // 渲染处理器 @@ -34,8 +33,6 @@ type renderProcessor struct { // 云渲染属性 type extendRenderProperty struct { renderChan chan websocket_data.RenderImageReqMsg //渲染消息入口的缓冲队列 - selectColorIndex int //颜色选中索引 - templateTag string //模板标签 } // 处理分发到这里的数据 @@ -47,8 +44,6 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { logx.Error("invalid format of websocket render image message", err) return } - w.extendRenderProperty.templateTag = renderImageData.RenderData.TemplateTag - w.extendRenderProperty.selectColorIndex = renderImageData.RenderData.TemplateTagColor.SelectedColorIndex select { case <-w.closeChan: //已经关闭 return @@ -61,54 +56,29 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { func (w *wsConnectItem) consumeRenderImageData() { defer func() { if err := recover(); err != nil { - logx.Error("func consumeRenderImageData err:", err) + logx.Error("func consumeRenderImageData panic:", err) } }() //限制并发 limitChan := make(chan struct{}, renderChanConcurrency) defer close(limitChan) - ctlCtx ,cancel:= context.WithCancel(w.logic.ctx) for { select { case <-w.closeChan: //已关闭 return case data := <-w.extendRenderProperty.renderChan: //消费数据 - if data.RenderData.TemplateTag != w.extendRenderProperty.templateTag{ - logx.Info("由于模板切换了,丢弃该渲染消息") - cancel() - ctlCtx ,cancel= context.WithCancel(w.logic.ctx) - continue - } - if data.RenderData.TemplateTagColor.SelectedColorIndex != w.extendRenderProperty.selectColorIndex{ - logx.Info("由于模板切换了颜色,丢弃该渲染消息") - cancel() - ctlCtx ,cancel= context.WithCancel(w.logic.ctx) - continue - } - logx.Info("用户id:",w.userId," 游客id:",w.guestId," 当前模板标签:",w.extendRenderProperty.templateTag, " 消息模板标签:",data.RenderData.TemplateTag ," 当前颜色索引:",w.extendRenderProperty.selectColorIndex," 消息颜色索引:",data.RenderData.TemplateTagColor.SelectedColorIndex) limitChan <- struct{}{} - go func(ctx context.Context,d websocket_data.RenderImageReqMsg) { + go func(d websocket_data.RenderImageReqMsg) { defer func() { if err := recover(); err != nil { - logx.Error("func renderImage err:", err) + logx.Error("func renderImage panic:", err) } }() defer func() { <-limitChan }() - go func() { - defer func() { - if err := recover(); err != nil { - logx.Error( err) - } - }() - select { - case <-ctx.Done() : - panic("渲染截止") - } - }() w.renderImage(d) - }(ctlCtx,data) + }(data) } } } diff --git a/service/repositories/image_handle.go b/service/repositories/image_handle.go index 3c4f565a..7fbe4806 100644 --- a/service/repositories/image_handle.go +++ b/service/repositories/image_handle.go @@ -318,7 +318,7 @@ func (l *defaultImageHandle) LogoCombine(ctx context.Context, in *LogoCombineReq err = curl.NewClient(ctx, &curl.Config{ BaseUrl: *l.BLMServiceUrl, Url: constants.BLMServiceUrlLogoCombine, - RequireTimeout: time.Second * 30, + RequireTimeout: time.Second * 15, }).PostJson(postMap, &resultBLM) logc.Infof(ctx, "合图--算法请求--合图--结束时间:%v", time.Now().UTC()) From b6651c4bdc118c283618704cb458031958d2aea3 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:19:41 +0800 Subject: [PATCH 18/23] fix --- server/websocket/internal/logic/ws_render_image.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 3d29377e..5aa0e109 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -37,7 +37,7 @@ type extendRenderProperty struct { // 处理分发到这里的数据 func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { - //logx.Info("开始处理渲染任务消息:", string(data)) + logx.Info("收到渲染任务消息") var renderImageData websocket_data.RenderImageReqMsg if err := json.Unmarshal(data, &renderImageData); err != nil { w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "数据格式错误", renderImageData.RenderData.ProductId, w.userId, w.guestId, 0, 0, 0, 0) @@ -49,6 +49,9 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { return case w.extendRenderProperty.renderChan <- renderImageData: //发入到缓冲队列 return + case <- time.After(time.Millisecond * 50)://超过50毫秒丢弃 + logx.Info("入渲染队列失败,队列满了,选择丢弃") + return } } From f6e073bb4105a7c4d37fb874f8989c9ce175a320 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:24:16 +0800 Subject: [PATCH 19/23] fix --- server/websocket/internal/logic/datatransferlogic.go | 4 ++-- server/websocket/internal/logic/ws_render_image.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/websocket/internal/logic/datatransferlogic.go b/server/websocket/internal/logic/datatransferlogic.go index 7f434499..e3bb67db 100644 --- a/server/websocket/internal/logic/datatransferlogic.go +++ b/server/websocket/internal/logic/datatransferlogic.go @@ -67,9 +67,9 @@ var ( //websocket连接存储 mapConnPool = sync.Map{} //每个websocket连接入口缓冲队列长度默认值 - websocketInChanLen = 1000 + websocketInChanLen = 2000 //每个websocket连接出口缓冲队列长度默认值 - websocketOutChanLen = 1000 + websocketOutChanLen = 2000 //是否开启debug openDebug = true //允许跨域的origin diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 5aa0e109..30407b78 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -50,7 +50,7 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { case w.extendRenderProperty.renderChan <- renderImageData: //发入到缓冲队列 return case <- time.After(time.Millisecond * 50)://超过50毫秒丢弃 - logx.Info("入渲染队列失败,队列满了,选择丢弃") + w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "渲染队列溢出,请稍后再发", renderImageData.RenderData.ProductId, w.userId, w.guestId, 0, 0, 0, 0) return } } From b3ed5703a8a95832fb58fe67b0219aa2f554073a Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:42:09 +0800 Subject: [PATCH 20/23] info --- model/gmodel/fs_user_logic.go | 33 ++++++++++---------- server/info/internal/logic/infologic_test.go | 12 +------ utils/fssql/metadata_test.go | 8 +---- 3 files changed, 19 insertions(+), 34 deletions(-) diff --git a/model/gmodel/fs_user_logic.go b/model/gmodel/fs_user_logic.go index a0a46b6d..78c77653 100644 --- a/model/gmodel/fs_user_logic.go +++ b/model/gmodel/fs_user_logic.go @@ -155,14 +155,16 @@ type SubscriptionStatus struct { type UserAddress struct { } +type UserProfile struct { + ProfileBase UserProfileBase `json:"base"` + SubStatus SubscriptionStatus `json:"sub_status"` +} + // UserProfileBase 个人信息 type UserProfileBase struct { - Base struct { - FirstName string `json:"first_name"` - LastName string `json:"last_name"` - Resetaurant string `json:"resetaurant"` - } `json:"base"` - SubStatus SubscriptionStatus `json:"sub_status"` + FirstName string `json:"first_name"` + LastName string `json:"last_name"` + Resetaurant string `json:"resetaurant"` } // 自平台的注册流程 @@ -194,17 +196,16 @@ func (u *FsUserModel) RegisterByFusen(ctx context.Context, token *auth.RegisterT // 继承guest_id的资源表 err = InheritGuestIdResource(tx, user.Id, token.GuestId, func(txResouce, txUserMaterial, txUserInfo *gorm.DB) error { - userProfile := &UserProfileBase{ - Base: struct { - FirstName string "json:\"first_name\"" - LastName string "json:\"last_name\"" - Resetaurant string "json:\"resetaurant\"" - }{ - FirstName: FirstName, - LastName: LastName, - Resetaurant: Resetaurant, - }, + userProfileBase := UserProfileBase{ + FirstName: FirstName, + LastName: LastName, + Resetaurant: Resetaurant, } + + userProfile := &UserProfile{ + ProfileBase: userProfileBase, + } + metadata, err := json.Marshal(userProfile) if err != nil { return err diff --git a/server/info/internal/logic/infologic_test.go b/server/info/internal/logic/infologic_test.go index 18a434ca..17a9d104 100644 --- a/server/info/internal/logic/infologic_test.go +++ b/server/info/internal/logic/infologic_test.go @@ -157,17 +157,7 @@ func TestMain(t *testing.T) { func TestCaseJSON_EXTRACT(t *testing.T) { - userProfile := &gmodel.UserProfileBase{ - Base: struct { - FirstName string "json:\"first_name\"" - LastName string "json:\"last_name\"" - Resetaurant string "json:\"resetaurant\"" - }{ - FirstName: "FirstName", - LastName: "LastName", - Resetaurant: "Resetaurant", - }, - } + userProfile := &gmodel.UserProfile{} metadata, err := json.Marshal(userProfile) if err != nil { panic(err) diff --git a/utils/fssql/metadata_test.go b/utils/fssql/metadata_test.go index 30ed39e4..d38fded9 100644 --- a/utils/fssql/metadata_test.go +++ b/utils/fssql/metadata_test.go @@ -8,13 +8,7 @@ import ( ) func TestCase1(t *testing.T) { - u := gmodel.UserProfileBase{ - Base: struct { - FirstName string "json:\"first_name\"" - LastName string "json:\"last_name\"" - Resetaurant string "json:\"resetaurant\"" - }{}, - } + u := gmodel.UserProfile{} conn := initalize.InitMysql("fsreaderwriter:XErSYmLELKMnf3Dh@tcp(fusen.cdmigcvz3rle.us-east-2.rds.amazonaws.com:3306)/fusen") err := fssql.MetadataModulePATCH(conn, "profile", gmodel.FsUserInfo{}, u, "id = ?", 90) From c3011e87eb184afbc6c956337e6e3199230652b7 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:43:42 +0800 Subject: [PATCH 21/23] fix --- .../websocket/internal/logic/ws_render_image.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 30407b78..ebd066d0 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -179,11 +179,17 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe Index: renderImageData.RenderData.TemplateTagColor.SelectedColorIndex, }, } - res, err := w.logic.svcCtx.Repositories.ImageHandle.LogoCombine(w.logic.ctx, &combineReq) - if err != nil { - w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "合成刀版图失败:"+err.Error(), renderImageData.RenderData.ProductId, w.userId, w.guestId, productTemplate.Id, model3dInfo.Id, productSize.Id, *productTemplate.ElementModelId) - logx.Error("合成刀版图失败,合成请求数据:", combineReq, "错误信息:", err) - return + res := &repositories.LogoCombineRes{} + if w.userId == 127{ + u := "https://s3.us-west-1.amazonaws.com/storage.fusenpack.com/1c4549bea75f9247f8aee5f7f6f3909a551cef97dc7acb0d01568b8bad042a01" + res.ResourceUrl = &u + }else{ + res, err = w.logic.svcCtx.Repositories.ImageHandle.LogoCombine(w.logic.ctx, &combineReq) + if err != nil { + w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "合成刀版图失败:"+err.Error(), renderImageData.RenderData.ProductId, w.userId, w.guestId, productTemplate.Id, model3dInfo.Id, productSize.Id, *productTemplate.ElementModelId) + logx.Error("合成刀版图失败,合成请求数据:", combineReq, "错误信息:", err) + return + } } combineImage := "" //刀版图 if res != nil && res.ResourceUrl != nil { From 1bd2b83bca9c117c2b4cbceabe184d130b45d041 Mon Sep 17 00:00:00 2001 From: eson <9673575+githubcontent@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:52:20 +0800 Subject: [PATCH 22/23] info --- model/gmodel/fs_user_logic.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/model/gmodel/fs_user_logic.go b/model/gmodel/fs_user_logic.go index 78c77653..24d0a1a4 100644 --- a/model/gmodel/fs_user_logic.go +++ b/model/gmodel/fs_user_logic.go @@ -9,6 +9,7 @@ import ( "fusenapi/utils/fssql" "time" + "github.com/zeromicro/go-zero/core/logx" "gorm.io/gorm" ) @@ -221,6 +222,8 @@ func (u *FsUserModel) RegisterByFusen(ctx context.Context, token *auth.RegisterT Utime: &now, } + logx.Error(metadata) + err = txUserInfo.Where("module = 'profile' and user_id = ?", *uinfo.UserId).Take(nil).Error if err != nil { if err == gorm.ErrRecordNotFound { From a2b7bfb253d9b8bf86f3bada32b202a423c4e25c Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 22 Sep 2023 15:52:32 +0800 Subject: [PATCH 23/23] fix --- .../internal/logic/ws_render_image.go | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index ebd066d0..7f5f0cfb 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -49,7 +49,7 @@ func (r *renderProcessor) allocationMessage(w *wsConnectItem, data []byte) { return case w.extendRenderProperty.renderChan <- renderImageData: //发入到缓冲队列 return - case <- time.After(time.Millisecond * 50)://超过50毫秒丢弃 + case <-time.After(time.Millisecond * 50): //超过50毫秒丢弃 w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "渲染队列溢出,请稍后再发", renderImageData.RenderData.ProductId, w.userId, w.guestId, 0, 0, 0, 0) return } @@ -70,7 +70,9 @@ func (w *wsConnectItem) consumeRenderImageData() { case <-w.closeChan: //已关闭 return case data := <-w.extendRenderProperty.renderChan: //消费数据 + logx.Info("准备执行任务。。。。。") limitChan <- struct{}{} + logx.Info("执行任务中。。。。。") go func(d websocket_data.RenderImageReqMsg) { defer func() { if err := recover(); err != nil { @@ -179,17 +181,11 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe Index: renderImageData.RenderData.TemplateTagColor.SelectedColorIndex, }, } - res := &repositories.LogoCombineRes{} - if w.userId == 127{ - u := "https://s3.us-west-1.amazonaws.com/storage.fusenpack.com/1c4549bea75f9247f8aee5f7f6f3909a551cef97dc7acb0d01568b8bad042a01" - res.ResourceUrl = &u - }else{ - res, err = w.logic.svcCtx.Repositories.ImageHandle.LogoCombine(w.logic.ctx, &combineReq) - if err != nil { - w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "合成刀版图失败:"+err.Error(), renderImageData.RenderData.ProductId, w.userId, w.guestId, productTemplate.Id, model3dInfo.Id, productSize.Id, *productTemplate.ElementModelId) - logx.Error("合成刀版图失败,合成请求数据:", combineReq, "错误信息:", err) - return - } + res, err := w.logic.svcCtx.Repositories.ImageHandle.LogoCombine(w.logic.ctx, &combineReq) + if err != nil { + w.renderErrResponse(renderImageData.RenderId, renderImageData.RenderData.TemplateTag, "", "合成刀版图失败:"+err.Error(), renderImageData.RenderData.ProductId, w.userId, w.guestId, productTemplate.Id, model3dInfo.Id, productSize.Id, *productTemplate.ElementModelId) + logx.Error("合成刀版图失败,合成请求数据:", combineReq, "错误信息:", err) + return } combineImage := "" //刀版图 if res != nil && res.ResourceUrl != nil {