1、修改基础库版本
This commit is contained in:
		
							parent
							
								
									32bad0506b
								
							
						
					
					
						commit
						a7482bb81a
					
				|  | @ -2,6 +2,8 @@ package cmd | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"context" | 	"context" | ||||||
|  | 	"data_minio/minio" | ||||||
|  | 	"data_minio/mq" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/spf13/cobra" | 	"github.com/spf13/cobra" | ||||||
| 	"os" | 	"os" | ||||||
|  | @ -13,7 +15,6 @@ import ( | ||||||
| 	"data_minio/config" | 	"data_minio/config" | ||||||
| 	"data_minio/global" | 	"data_minio/global" | ||||||
| 	"data_minio/model" | 	"data_minio/model" | ||||||
| 	"data_minio/mq" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
|  | @ -65,12 +66,13 @@ func NewStartCmd() *cobra.Command { | ||||||
| 			} | 			} | ||||||
| 			global.Cfg = cfg | 			global.Cfg = cfg | ||||||
| 			global.Logger = config.LoadLoggerConfig(cfg.Logging) | 			global.Logger = config.LoadLoggerConfig(cfg.Logging) | ||||||
| 
 | 			global.MinioClient, err = minio.NewMinioClient(cfg.Minio.Endpoint, cfg.Minio.AccessKeyId, cfg.Minio.SecretAccessKey) | ||||||
| 			//创建消息连接点
 |  | ||||||
| 			mq.MqList, err = mq.NewMqClient(cfg.Funcs, cfg.Node) |  | ||||||
| 			global.Must(err) | 			global.Must(err) | ||||||
| 			//连接数据库
 | 			//连接数据库
 | ||||||
| 			global.DB = model.New(cfg.Db.DriveName, cfg.Db.Conn, cfg.Mode == "dev") | 			global.DB = model.New(cfg.Db.DriveName, cfg.Db.Conn, cfg.Mode == "dev") | ||||||
|  | 			//创建消息连接点
 | ||||||
|  | 			mq.MqList, err = mq.NewMqClient(cfg.Funcs, cfg.Node) | ||||||
|  | 			global.Must(err) | ||||||
| 			// 退出channel
 | 			// 退出channel
 | ||||||
| 			exitChannel := make(chan os.Signal) | 			exitChannel := make(chan os.Signal) | ||||||
| 			defer close(exitChannel) | 			defer close(exitChannel) | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ package global | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  | 	"github.com/minio/minio-go/v7" | ||||||
| 	"os" | 	"os" | ||||||
| 
 | 
 | ||||||
| 	"git.hpds.cc/Component/logging" | 	"git.hpds.cc/Component/logging" | ||||||
|  | @ -12,9 +13,10 @@ import ( | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
| 	DB     *xorm.Engine | 	DB          *xorm.Engine | ||||||
| 	Cfg    *config.DataMinioConfig | 	Cfg         *config.DataMinioConfig | ||||||
| 	Logger *logging.Logger | 	Logger      *logging.Logger | ||||||
|  | 	MinioClient *minio.Client | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func Must(err error) { | func Must(err error) { | ||||||
|  | @ -23,6 +25,6 @@ func Must(err error) { | ||||||
| 		Logger.With( | 		Logger.With( | ||||||
| 			zap.String("应用名称", Cfg.Name), | 			zap.String("应用名称", Cfg.Name), | ||||||
| 		).Error(err.Error()) | 		).Error(err.Error()) | ||||||
| 		os.Exit(1) | 		//os.Exit(1)
 | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										4
									
								
								go.mod
								
								
								
								
							|  | @ -4,7 +4,7 @@ go 1.19 | ||||||
| 
 | 
 | ||||||
| require ( | require ( | ||||||
| 	git.hpds.cc/Component/logging v0.0.0-20230106105738-e378e873921b | 	git.hpds.cc/Component/logging v0.0.0-20230106105738-e378e873921b | ||||||
| 	git.hpds.cc/pavement/hpds_node v0.0.0-20230326152949-a1c0ad2f7052 | 	git.hpds.cc/pavement/hpds_node v0.0.0-20230402152619-41414aafa930 | ||||||
| 	github.com/go-sql-driver/mysql v1.7.0 | 	github.com/go-sql-driver/mysql v1.7.0 | ||||||
| 	github.com/hashicorp/consul/api v1.20.0 | 	github.com/hashicorp/consul/api v1.20.0 | ||||||
| 	github.com/klauspost/compress v1.16.3 | 	github.com/klauspost/compress v1.16.3 | ||||||
|  | @ -23,7 +23,7 @@ require ( | ||||||
| 	cloud.google.com/go/firestore v1.9.0 // indirect | 	cloud.google.com/go/firestore v1.9.0 // indirect | ||||||
| 	cloud.google.com/go/longrunning v0.3.0 // indirect | 	cloud.google.com/go/longrunning v0.3.0 // indirect | ||||||
| 	git.hpds.cc/Component/mq_coder v0.0.0-20221010064749-174ae7ae3340 // indirect | 	git.hpds.cc/Component/mq_coder v0.0.0-20221010064749-174ae7ae3340 // indirect | ||||||
| 	git.hpds.cc/Component/network v0.0.0-20230326151855-3c157f531d86 // indirect | 	git.hpds.cc/Component/network v0.0.0-20230402152327-d10a80765e7c // indirect | ||||||
| 	github.com/armon/go-metrics v0.4.0 // indirect | 	github.com/armon/go-metrics v0.4.0 // indirect | ||||||
| 	github.com/coreos/go-semver v0.3.0 // indirect | 	github.com/coreos/go-semver v0.3.0 // indirect | ||||||
| 	github.com/coreos/go-systemd/v22 v22.3.2 // indirect | 	github.com/coreos/go-systemd/v22 v22.3.2 // indirect | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										8
									
								
								go.sum
								
								
								
								
							|  | @ -50,10 +50,10 @@ git.hpds.cc/Component/logging v0.0.0-20230106105738-e378e873921b h1:YyC4oRJbB+bU | ||||||
| git.hpds.cc/Component/logging v0.0.0-20230106105738-e378e873921b/go.mod h1:FUm2QSkHtinWaXyLdrzvIO9Wl4zNF+riur8wQ9xbEJY= | git.hpds.cc/Component/logging v0.0.0-20230106105738-e378e873921b/go.mod h1:FUm2QSkHtinWaXyLdrzvIO9Wl4zNF+riur8wQ9xbEJY= | ||||||
| git.hpds.cc/Component/mq_coder v0.0.0-20221010064749-174ae7ae3340 h1:A5cB4upzFkatySn2uT7hKdDXoZkr7AKIKahzjVD55bQ= | git.hpds.cc/Component/mq_coder v0.0.0-20221010064749-174ae7ae3340 h1:A5cB4upzFkatySn2uT7hKdDXoZkr7AKIKahzjVD55bQ= | ||||||
| git.hpds.cc/Component/mq_coder v0.0.0-20221010064749-174ae7ae3340/go.mod h1:NSyd8CKLY6HFXf/7qUUvPKOjvIeRNEqp8TwpZ8rpEsg= | git.hpds.cc/Component/mq_coder v0.0.0-20221010064749-174ae7ae3340/go.mod h1:NSyd8CKLY6HFXf/7qUUvPKOjvIeRNEqp8TwpZ8rpEsg= | ||||||
| git.hpds.cc/Component/network v0.0.0-20230326151855-3c157f531d86 h1:ST2VBwjQlbPBpX8VnF/Y7zMONX2bEGFvqbCLQJ11BVE= | git.hpds.cc/Component/network v0.0.0-20230402152327-d10a80765e7c h1:8cm6OnOtiTFJ3LPr9nNXO3fy7yDL1W4/HJRCIvO6PHk= | ||||||
| git.hpds.cc/Component/network v0.0.0-20230326151855-3c157f531d86/go.mod h1:OnMupEWYrkS/WR19m0+iA7lVCaEkbG4WPb2XKCOvhIg= | git.hpds.cc/Component/network v0.0.0-20230402152327-d10a80765e7c/go.mod h1:OnMupEWYrkS/WR19m0+iA7lVCaEkbG4WPb2XKCOvhIg= | ||||||
| git.hpds.cc/pavement/hpds_node v0.0.0-20230326152949-a1c0ad2f7052 h1:uvV16dXYjffd9/T/esyS5w+WLqF7rSXU3VmuGckIxmg= | git.hpds.cc/pavement/hpds_node v0.0.0-20230402152619-41414aafa930 h1:XJkWwOtBCIN5bBViAxv8MNhzodd6eBBfDt5Vs1J1XU0= | ||||||
| git.hpds.cc/pavement/hpds_node v0.0.0-20230326152949-a1c0ad2f7052/go.mod h1:oXZYfH6kVVuIEBukzodUeEDsYoREUzMJ1Wc4a4yRftE= | git.hpds.cc/pavement/hpds_node v0.0.0-20230402152619-41414aafa930/go.mod h1:E1NJu3aBpwLgYaZiCvaIwQ8V+8xgoaVzTN9hlvRlHbw= | ||||||
| gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= | gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= | ||||||
| gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= | gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= | ||||||
| gitee.com/travelliu/dm v1.8.11192/go.mod h1:DHTzyhCrM843x9VdKVbZ+GKXGRbKM2sJ4LxihRxShkE= | gitee.com/travelliu/dm v1.8.11192/go.mod h1:DHTzyhCrM843x9VdKVbZ+GKXGRbKM2sJ4LxihRxShkE= | ||||||
|  |  | ||||||
|  | @ -1,23 +1,15 @@ | ||||||
| package minio | package minio | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	minio "github.com/minio/minio-go/v7" | 	"github.com/minio/minio-go/v7" | ||||||
| 	"github.com/minio/minio-go/v7/pkg/credentials" | 	"github.com/minio/minio-go/v7/pkg/credentials" | ||||||
| 
 |  | ||||||
| 	"data_minio/global" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func NewMinioClient(endpoint, successKeyId, secretAccessKey string) *minio.Client { | func NewMinioClient(endpoint, successKeyId, secretAccessKey string) (*minio.Client, error) { | ||||||
| 	opt := &minio.Options{ | 	opt := &minio.Options{ | ||||||
| 		Creds:  credentials.NewStaticV4(successKeyId, secretAccessKey, ""), | 		Creds:  credentials.NewStaticV4(successKeyId, secretAccessKey, ""), | ||||||
| 		Secure: false, | 		Secure: false, | ||||||
| 	} | 	} | ||||||
| 	minioClient, err := minio.New(endpoint, opt) | 	minioClient, err := minio.New(endpoint, opt) | ||||||
| 	if err != nil { | 	return minioClient, err | ||||||
| 		global.Logger.With( |  | ||||||
| 			zap.String("应用名称", Cfg.Name), |  | ||||||
| 		).Error(err.Error()) |  | ||||||
| 		return nil |  | ||||||
| 	} |  | ||||||
| 	return minioClient |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -30,3 +30,18 @@ func GetDatasetById(id int64) (data *Dataset, err error) { | ||||||
| 	} | 	} | ||||||
| 	return data, nil | 	return data, nil | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | func GetDatasetScene(categoryId int) string { | ||||||
|  | 	switch categoryId { | ||||||
|  | 	case 1: | ||||||
|  | 		return "road" | ||||||
|  | 	case 2: | ||||||
|  | 		return "bridge" | ||||||
|  | 	case 3: | ||||||
|  | 		return "tunnel" | ||||||
|  | 	case 4: | ||||||
|  | 		return "sideSlope" | ||||||
|  | 	default: | ||||||
|  | 		return "other" | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										55
									
								
								mq/index.go
								
								
								
								
							
							
						
						
									
										55
									
								
								mq/index.go
								
								
								
								
							|  | @ -1,8 +1,12 @@ | ||||||
| package mq | package mq | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | 	"bytes" | ||||||
|  | 	"context" | ||||||
|  | 	"encoding/base64" | ||||||
| 	"encoding/json" | 	"encoding/json" | ||||||
| 	"fmt" | 	"fmt" | ||||||
|  | 	"github.com/minio/minio-go/v7" | ||||||
| 	"os" | 	"os" | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
|  | @ -101,22 +105,43 @@ func handler(data []byte) (byte, []byte) { | ||||||
| 		switch req.Command { | 		switch req.Command { | ||||||
| 		case DatasetRequest: | 		case DatasetRequest: | ||||||
| 			payload := req.Payload.(map[string]interface{}) | 			payload := req.Payload.(map[string]interface{}) | ||||||
| 			dt, err := model.GetDatasetById(int64(payload["datasetId"].(float64))) | 			if int64(payload["fileSize"].(float64)) > 0 { | ||||||
| 			global.Must(err) | 				dt, err := model.GetDatasetById(int64(payload["datasetId"].(float64))) | ||||||
| 			fileContent, _ := UnCompress([]byte(payload["file"].(string))) | 				global.Must(err) | ||||||
|  | 				var fileContent []byte | ||||||
|  | 				if payload["isCompress"].(bool) { | ||||||
|  | 					decodeBytes, _ := base64.StdEncoding.DecodeString(payload["file"].(string)) | ||||||
|  | 					fileContent, err = UnCompress(decodeBytes) | ||||||
|  | 				} else { | ||||||
|  | 					fileContent = []byte(payload["file"].(string)) | ||||||
|  | 				} | ||||||
|  | 				if err != nil { | ||||||
|  | 					global.Logger.With(zap.String("文件名称", payload["filePath"].(string))).With(zap.Int64("文件大小", int64(payload["fileSize"].(float64)))). | ||||||
|  | 						Error("错误信息", zap.Error(err)) | ||||||
|  | 				} | ||||||
|  | 				fileReader := bytes.NewReader(fileContent) | ||||||
|  | 				info, err := global.MinioClient.PutObject(context.Background(), global.Cfg.Minio.Bucket, fmt.Sprintf("%s%s", model.GetDatasetScene(dt.CategoryId), payload["filePath"].(string)), fileReader, int64(payload["fileSize"].(float64)), minio.PutObjectOptions{ContentType: "application/octet-stream"}) | ||||||
|  | 				if err != nil { | ||||||
|  | 					global.Logger.With(zap.String("文件名称", payload["filePath"].(string))).With(zap.Int64("文件大小", int64(payload["fileSize"].(float64)))). | ||||||
|  | 						Error("错误信息", zap.Error(err)) | ||||||
|  | 				} | ||||||
|  | 				accessUrl := fmt.Sprintf("%s://%s/%s/%s%s", global.Cfg.Minio.Protocol, global.Cfg.Minio.Endpoint, global.Cfg.Minio.Bucket, model.GetDatasetScene(dt.CategoryId), payload["filePath"].(string)) | ||||||
| 
 | 
 | ||||||
| 			fm := new(model.FileManager) | 				global.Logger.With(zap.String("文件名称", payload["filePath"].(string))).With(zap.String("访问路径", accessUrl)). | ||||||
| 			fm.FileName = payload["fileName"].(string) | 					With(zap.Any("返回数据", info)).Info("文件上传到minio") | ||||||
| 			//fm.AccessUrl = payload["filePath"].(string)
 | 				fm := new(model.FileManager) | ||||||
| 			fm.Scene = fmt.Sprintf("%d", dt.CategoryId) | 				fm.FileName = payload["fileName"].(string) | ||||||
| 			fm.DatasetId = dt.DatasetId | 				fm.AccessUrl = accessUrl | ||||||
| 			fm.FileSize = int64(payload["fileSize"].(float64)) | 				fm.Scene = fmt.Sprintf("%d", dt.CategoryId) | ||||||
| 			fm.FileMd5 = payload["fileMd5"].(string) | 				fm.DatasetId = dt.DatasetId | ||||||
| 			fm.Creator = 0 | 				fm.FileSize = int64(payload["fileSize"].(float64)) | ||||||
| 			fm.CreateAt = time.Now().Unix() | 				fm.FileMd5 = payload["fileMd5"].(string) | ||||||
| 			fm.UpdateAt = time.Now().Unix() | 				fm.Creator = 0 | ||||||
| 			_, err = global.DB.Insert(fm) | 				fm.CreateAt = time.Now().Unix() | ||||||
| 			global.Must(err) | 				fm.UpdateAt = time.Now().Unix() | ||||||
|  | 				_, err = global.DB.Insert(fm) | ||||||
|  | 				global.Must(err) | ||||||
|  | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	return 0x12, nil | 	return 0x12, nil | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue