From 1bb2d1d1f4ed5cd0409d17180844b445bf63f213 Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期六, 26 八月 2023 15:27:18 +0800 Subject: [PATCH] add --- log/2023-08-26/info.log | 4 router/test/product.go | 5 config.yaml | 381 +++++++++++++++--------------- main.go | 4 docs/swagger.yaml | 72 ++++++ api/v1/test/product.go | 19 config/system.go | 1 docs/docs.go | 117 +++++++++ docs/swagger.json | 117 +++++++++ 9 files changed, 519 insertions(+), 201 deletions(-) diff --git a/api/v1/test/product.go b/api/v1/test/product.go index fcec2e1..da50427 100644 --- a/api/v1/test/product.go +++ b/api/v1/test/product.go @@ -5,6 +5,7 @@ "github.com/spf13/cast" "go.uber.org/zap" "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" "srm/global" "srm/model/common/request" "srm/model/common/response" @@ -172,14 +173,14 @@ productServiceConn *grpc.ClientConn ) -//func InitProductServiceConn() { -// var err error -// productServiceConn, err = grpc.Dial(conf.Conf.GrpcServiceAddr.Aps, grpc.WithTransportCredentials(insecure.NewCredentials())) -// if err != nil { -// logx.Errorf("grpc dial product service error: %v", err.Error()) -// return -// } -//} +func InitProductServiceConn() { + var err error + productServiceConn, err = grpc.Dial(global.GVA_CONFIG.System.GrpcUrl, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + //logx.Errorf("grpc dial product service error: %v", err.Error()) + return + } +} func CloseProductServiceConn() { if productServiceConn != nil { @@ -233,7 +234,7 @@ response.OkWithDetailed(response.PageResult{ List: productList, - Total: 0, + Total: int64(len(productList)), Page: pageInfo.Page, PageSize: pageInfo.PageSize, }, "鑾峰彇鎴愬姛", c) diff --git a/config.yaml b/config.yaml index 2a23c43..56e2f29 100644 --- a/config.yaml +++ b/config.yaml @@ -1,212 +1,213 @@ aliyun-oss: - endpoint: yourEndpoint - access-key-id: yourAccessKeyId - access-key-secret: yourAccessKeySecret - bucket-name: yourBucketName - bucket-url: yourBucketUrl - base-path: yourBasePath + endpoint: yourEndpoint + access-key-id: yourAccessKeyId + access-key-secret: yourAccessKeySecret + bucket-name: yourBucketName + bucket-url: yourBucketUrl + base-path: yourBasePath autocode: - server-model: /model/%s - server-router: /router/%s - server: /server - server-api: /api/v1/%s - server-plug: /plugin/%s - server-initialize: /initialize - root: D:\basic.com\gin-vue-admin - web-table: /view - web: /web/src - server-service: /service/%s - server-request: /model/%s/request/ - web-api: /api - web-form: /view - transfer-restart: true + server-model: /model/%s + server-router: /router/%s + server: /server + server-api: /api/v1/%s + server-plug: /plugin/%s + server-initialize: /initialize + root: D:\basic.com\gin-vue-admin + web-table: /view + web: /web/src + server-service: /service/%s + server-request: /model/%s/request/ + web-api: /api + web-form: /view + transfer-restart: true aws-s3: - bucket: xxxxx-10005608 - region: ap-shanghai - endpoint: "" - secret-id: your-secret-id - secret-key: your-secret-key - base-url: https://gin.vue.admin - path-prefix: srm - s3-force-path-style: false - disable-ssl: false + bucket: xxxxx-10005608 + region: ap-shanghai + endpoint: "" + secret-id: your-secret-id + secret-key: your-secret-key + base-url: https://gin.vue.admin + path-prefix: srm + s3-force-path-style: false + disable-ssl: false captcha: - key-long: 6 - img-width: 240 - img-height: 80 - open-captcha: 0 - open-captcha-timeout: 3600 + key-long: 6 + img-width: 240 + img-height: 80 + open-captcha: 0 + open-captcha-timeout: 3600 cors: - mode: strict-whitelist - whitelist: - - allow-origin: example1.com - allow-methods: POST, GET - allow-headers: Content-Type,AccessToken,X-CSRF-Token, Authorization, Token,X-Token,X-User-Id - expose-headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type - allow-credentials: true - - allow-origin: example2.com - allow-methods: GET, POST - allow-headers: content-type - expose-headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type - allow-credentials: true + mode: strict-whitelist + whitelist: + - allow-origin: example1.com + allow-methods: POST, GET + allow-headers: Content-Type,AccessToken,X-CSRF-Token, Authorization, Token,X-Token,X-User-Id + expose-headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type + allow-credentials: true + - allow-origin: example2.com + allow-methods: GET, POST + allow-headers: content-type + expose-headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type + allow-credentials: true db-list: - - type: "" - alias-name: "" - prefix: "" - port: "" - config: "" - db-name: "" - username: "" - password: "" - path: "" - engine: "" - log-mode: "" - max-idle-conns: 10 - max-open-conns: 100 - singular: false - log-zap: false - disable: true + - type: "" + alias-name: "" + prefix: "" + port: "" + config: "" + db-name: "" + username: "" + password: "" + path: "" + engine: "" + log-mode: "" + max-idle-conns: 10 + max-open-conns: 100 + singular: false + log-zap: false + disable: true email: - to: xxx@qq.com - from: xxx@163.com - host: smtp.163.com - secret: xxx - nickname: test - port: 465 - is-ssl: true + to: xxx@qq.com + from: xxx@163.com + host: smtp.163.com + secret: xxx + nickname: test + port: 465 + is-ssl: true excel: - dir: ./resource/excel/ + dir: ./resource/excel/ hua-wei-obs: - path: you-path - bucket: you-bucket - endpoint: you-endpoint - access-key: you-access-key - secret-key: you-secret-key + path: you-path + bucket: you-bucket + endpoint: you-endpoint + access-key: you-access-key + secret-key: you-secret-key jwt: - signing-key: 3791a68f-f9e6-40db-8095-31877f22c9c7 - expires-time: 7d - buffer-time: 1d - issuer: qmPlus + signing-key: 3791a68f-f9e6-40db-8095-31877f22c9c7 + expires-time: 7d + buffer-time: 1d + issuer: qmPlus local: - path: uploads/file - store-path: uploads/file + path: uploads/file + store-path: uploads/file mssql: - prefix: "" - port: "" - config: "" - db-name: "" - username: "" - password: "" - path: "" - engine: "" - log-mode: "" - max-idle-conns: 10 - max-open-conns: 100 - singular: false - log-zap: false + prefix: "" + port: "" + config: "" + db-name: "" + username: "" + password: "" + path: "" + engine: "" + log-mode: "" + max-idle-conns: 10 + max-open-conns: 100 + singular: false + log-zap: false mysql: - prefix: "" - port: "3306" - config: charset=utf8mb4&parseTime=True&loc=Local - db-name: aps_srm - username: root - password: c++java123 - path: 192.168.20.119 - engine: "" - log-mode: error - max-idle-conns: 10 - max-open-conns: 100 - singular: false - log-zap: false + prefix: "" + port: "3306" + config: charset=utf8mb4&parseTime=True&loc=Local + db-name: aps_srm + username: root + password: c++java123 + path: 192.168.20.119 + engine: "" + log-mode: error + max-idle-conns: 10 + max-open-conns: 100 + singular: false + log-zap: false oracle: - prefix: "" - port: "" - config: "" - db-name: "" - username: "" - password: "" - path: "" - engine: "" - log-mode: "" - max-idle-conns: 10 - max-open-conns: 100 - singular: false - log-zap: false + prefix: "" + port: "" + config: "" + db-name: "" + username: "" + password: "" + path: "" + engine: "" + log-mode: "" + max-idle-conns: 10 + max-open-conns: 100 + singular: false + log-zap: false pgsql: - prefix: "" - port: "" - config: "" - db-name: "" - username: "" - password: "" - path: "" - engine: "" - log-mode: "" - max-idle-conns: 10 - max-open-conns: 100 - singular: false - log-zap: false + prefix: "" + port: "" + config: "" + db-name: "" + username: "" + password: "" + path: "" + engine: "" + log-mode: "" + max-idle-conns: 10 + max-open-conns: 100 + singular: false + log-zap: false qiniu: - zone: ZoneHuaDong - bucket: "" - img-path: "" - access-key: "" - secret-key: "" - use-https: false - use-cdn-domains: false + zone: ZoneHuaDong + bucket: "" + img-path: "" + access-key: "" + secret-key: "" + use-https: false + use-cdn-domains: false redis: - addr: 127.0.0.1:6379 - password: "" - db: 0 + addr: 127.0.0.1:6379 + password: "" + db: 0 sqlite: - prefix: "" - port: "" - config: "" - db-name: "" - username: "" - password: "" - path: "" - engine: "" - log-mode: "" - max-idle-conns: 10 - max-open-conns: 100 - singular: false - log-zap: false + prefix: "" + port: "" + config: "" + db-name: "" + username: "" + password: "" + path: "" + engine: "" + log-mode: "" + max-idle-conns: 10 + max-open-conns: 100 + singular: false + log-zap: false system: - env: public - db-type: mysql - oss-type: local - router-prefix: "/api" - addr: 8889 - iplimit-count: 15000 - iplimit-time: 3600 - use-multipoint: false - use-redis: false + env: public + db-type: mysql + oss-type: local + router-prefix: "/api" + addr: 8889 + iplimit-count: 15000 + iplimit-time: 3600 + use-multipoint: false + use-redis: false + grpc-url: 192.168.20.119:9091 tencent-cos: - bucket: xxxxx-10005608 - region: ap-shanghai - secret-id: your-secret-id - secret-key: your-secret-key - base-url: https://gin.vue.admin - path-prefix: srm + bucket: xxxxx-10005608 + region: ap-shanghai + secret-id: your-secret-id + secret-key: your-secret-key + base-url: https://gin.vue.admin + path-prefix: srm timer: - spec: '@daily' - detail: - - tableName: sys_operation_records - compareField: created_at - interval: 2160h - - tableName: jwt_blacklists - compareField: created_at - interval: 168h - start: true - with_seconds: false + spec: '@daily' + detail: + - tableName: sys_operation_records + compareField: created_at + interval: 2160h + - tableName: jwt_blacklists + compareField: created_at + interval: 168h + start: true + with_seconds: false zap: - level: info - prefix: '[srm]' - format: console - director: log - encode-level: LowercaseColorLevelEncoder - stacktrace-key: stacktrace - max-age: 0 - show-line: true - log-in-console: true + level: info + prefix: '[srm]' + format: console + director: log + encode-level: LowercaseColorLevelEncoder + stacktrace-key: stacktrace + max-age: 0 + show-line: true + log-in-console: true diff --git a/config/system.go b/config/system.go index bb1cfce..6f35d0a 100644 --- a/config/system.go +++ b/config/system.go @@ -10,4 +10,5 @@ LimitTimeIP int `mapstructure:"iplimit-time" json:"iplimit-time" yaml:"iplimit-time"` UseMultipoint bool `mapstructure:"use-multipoint" json:"use-multipoint" yaml:"use-multipoint"` // 澶氱偣鐧诲綍鎷︽埅 UseRedis bool `mapstructure:"use-redis" json:"use-redis" yaml:"use-redis"` // 浣跨敤redis + GrpcUrl string `mapstructure:"grpc-url" json:"grpc-url" yaml:"grpc-url"` // grpc鏈嶅姟鍦板潃 } diff --git a/docs/docs.go b/docs/docs.go index 6290ec0..3475348 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -3912,6 +3912,119 @@ } } }, + "/p/getProductListFromGrpc": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Product" + ], + "summary": "鍒嗛〉鑾峰彇Product鍒楄〃", + "parameters": [ + { + "type": "integer", + "name": "deliveryTime", + "in": "query" + }, + { + "type": "string", + "name": "endCreatedAt", + "in": "query" + }, + { + "type": "integer", + "description": "涓婚敭ID", + "name": "id", + "in": "query" + }, + { + "type": "string", + "description": "鍏抽敭瀛�", + "name": "keyword", + "in": "query" + }, + { + "type": "integer", + "name": "maximumStock", + "in": "query" + }, + { + "type": "integer", + "name": "minimumStock", + "in": "query" + }, + { + "type": "string", + "name": "name", + "in": "query" + }, + { + "type": "string", + "name": "number", + "in": "query" + }, + { + "type": "integer", + "description": "椤电爜", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "姣忛〉澶у皬", + "name": "pageSize", + "in": "query" + }, + { + "type": "string", + "name": "productType", + "in": "query" + }, + { + "type": "number", + "name": "purchasePrice", + "in": "query" + }, + { + "type": "string", + "name": "remark", + "in": "query" + }, + { + "type": "integer", + "name": "shippingDuration", + "in": "query" + }, + { + "type": "string", + "name": "startCreatedAt", + "in": "query" + }, + { + "type": "string", + "name": "unit", + "in": "query" + } + ], + "responses": { + "200": { + "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}", + "schema": { + "type": "string" + } + } + } + } + }, "/p/updateProduct": { "put": { "security": [ @@ -7078,6 +7191,10 @@ "description": "鐜鍊�", "type": "string" }, + "grpc-url": { + "description": "grpc鏈嶅姟鍦板潃", + "type": "string" + }, "iplimit-count": { "type": "integer" }, diff --git a/docs/swagger.json b/docs/swagger.json index b0e64f4..dbe95a6 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -3903,6 +3903,119 @@ } } }, + "/p/getProductListFromGrpc": { + "get": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Product" + ], + "summary": "鍒嗛〉鑾峰彇Product鍒楄〃", + "parameters": [ + { + "type": "integer", + "name": "deliveryTime", + "in": "query" + }, + { + "type": "string", + "name": "endCreatedAt", + "in": "query" + }, + { + "type": "integer", + "description": "涓婚敭ID", + "name": "id", + "in": "query" + }, + { + "type": "string", + "description": "鍏抽敭瀛�", + "name": "keyword", + "in": "query" + }, + { + "type": "integer", + "name": "maximumStock", + "in": "query" + }, + { + "type": "integer", + "name": "minimumStock", + "in": "query" + }, + { + "type": "string", + "name": "name", + "in": "query" + }, + { + "type": "string", + "name": "number", + "in": "query" + }, + { + "type": "integer", + "description": "椤电爜", + "name": "page", + "in": "query" + }, + { + "type": "integer", + "description": "姣忛〉澶у皬", + "name": "pageSize", + "in": "query" + }, + { + "type": "string", + "name": "productType", + "in": "query" + }, + { + "type": "number", + "name": "purchasePrice", + "in": "query" + }, + { + "type": "string", + "name": "remark", + "in": "query" + }, + { + "type": "integer", + "name": "shippingDuration", + "in": "query" + }, + { + "type": "string", + "name": "startCreatedAt", + "in": "query" + }, + { + "type": "string", + "name": "unit", + "in": "query" + } + ], + "responses": { + "200": { + "description": "{\"success\":true,\"data\":{},\"msg\":\"鑾峰彇鎴愬姛\"}", + "schema": { + "type": "string" + } + } + } + } + }, "/p/updateProduct": { "put": { "security": [ @@ -7069,6 +7182,10 @@ "description": "鐜鍊�", "type": "string" }, + "grpc-url": { + "description": "grpc鏈嶅姟鍦板潃", + "type": "string" + }, "iplimit-count": { "type": "integer" }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 477fa41..6f41570 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -510,6 +510,9 @@ env: description: 鐜鍊� type: string + grpc-url: + description: grpc鏈嶅姟鍦板潃 + type: string iplimit-count: type: integer iplimit-time: @@ -3829,6 +3832,75 @@ summary: 鍒嗛〉鑾峰彇Product鍒楄〃 tags: - Product + /p/getProductListFromGrpc: + get: + consumes: + - application/json + parameters: + - in: query + name: deliveryTime + type: integer + - in: query + name: endCreatedAt + type: string + - description: 涓婚敭ID + in: query + name: id + type: integer + - description: 鍏抽敭瀛� + in: query + name: keyword + type: string + - in: query + name: maximumStock + type: integer + - in: query + name: minimumStock + type: integer + - in: query + name: name + type: string + - in: query + name: number + type: string + - description: 椤电爜 + in: query + name: page + type: integer + - description: 姣忛〉澶у皬 + in: query + name: pageSize + type: integer + - in: query + name: productType + type: string + - in: query + name: purchasePrice + type: number + - in: query + name: remark + type: string + - in: query + name: shippingDuration + type: integer + - in: query + name: startCreatedAt + type: string + - in: query + name: unit + type: string + produces: + - application/json + responses: + "200": + description: '{"success":true,"data":{},"msg":"鑾峰彇鎴愬姛"}' + schema: + type: string + security: + - ApiKeyAuth: [] + summary: 鍒嗛〉鑾峰彇Product鍒楄〃 + tags: + - Product /p/updateProduct: put: consumes: diff --git a/log/2023-08-26/info.log b/log/2023-08-26/info.log index fb3d226..56fb7bc 100644 --- a/log/2023-08-26/info.log +++ b/log/2023-08-26/info.log @@ -10,3 +10,7 @@ [srm]2023/08/26 - 13:44:25.708 [34minfo[0m D:/basic.com/srm/initialize/router.go:37 register swagger handler [srm]2023/08/26 - 13:44:25.729 [34minfo[0m D:/basic.com/srm/initialize/router.go:83 router register success [srm]2023/08/26 - 13:44:25.742 [34minfo[0m D:/basic.com/srm/core/server.go:36 server run success on {"address": ":8889"} +[srm]2023/08/26 - 15:04:13.291 [34minfo[0m D:/basic.com/srm/initialize/gorm.go:60 register table success +[srm]2023/08/26 - 15:04:13.295 [34minfo[0m D:/basic.com/srm/initialize/router.go:37 register swagger handler +[srm]2023/08/26 - 15:04:13.312 [34minfo[0m D:/basic.com/srm/initialize/router.go:83 router register success +[srm]2023/08/26 - 15:04:13.324 [34minfo[0m D:/basic.com/srm/core/server.go:36 server run success on {"address": ":8889"} diff --git a/main.go b/main.go index d3816ec..266e282 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ import ( "go.uber.org/zap" + "srm/api/v1/test" "srm/core" "srm/global" @@ -34,5 +35,8 @@ db, _ := global.GVA_DB.DB() defer db.Close() } + + go test.InitProductServiceConn() + core.RunWindowsServer() } diff --git a/router/test/product.go b/router/test/product.go index 4a98419..d3658b6 100644 --- a/router/test/product.go +++ b/router/test/product.go @@ -21,7 +21,8 @@ pRouter.PUT("updateProduct", pApi.UpdateProduct) // 鏇存柊Product } { - pRouterWithoutRecord.GET("findProduct", pApi.FindProduct) // 鏍规嵁ID鑾峰彇Product - pRouterWithoutRecord.GET("getProductList", pApi.GetProductList) // 鑾峰彇Product鍒楄〃 + pRouterWithoutRecord.GET("findProduct", pApi.FindProduct) // 鏍规嵁ID鑾峰彇Product + pRouterWithoutRecord.GET("getProductList", pApi.GetProductList) // 鑾峰彇Product鍒楄〃 + pRouterWithoutRecord.GET("getProductListFromGrpc", pApi.GetProductListFromGrpc) // 閫氳繃grpc鑾峰彇Product鍒楄〃 } } -- Gitblit v1.8.0