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