Merge remote-tracking branch 'origin/v2.3.0release' into v2.3.0release

pull/261/head
Gordon 2 years ago
commit 526aa15ff6

@ -119,6 +119,7 @@ credential: #腾讯cos发送图片、视频、文件时需要请自行申
accessKeyID: user12345 accessKeyID: user12345
secretAccessKey: key12345 secretAccessKey: key12345
storageTime: 50 #文件在minio中保存的时间 storageTime: 50 #文件在minio中保存的时间
isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false
ali: # ali oss ali: # ali oss
regionID: "oss-cn-beijing" regionID: "oss-cn-beijing"
accessKeyID: "" accessKeyID: ""

@ -32,6 +32,7 @@ func MinioInit() {
} }
opts := &minio.Options{ opts := &minio.Options{
Creds: credentials.NewStaticV4(config.Config.Credential.Minio.AccessKeyID, config.Config.Credential.Minio.SecretAccessKey, ""), Creds: credentials.NewStaticV4(config.Config.Credential.Minio.AccessKeyID, config.Config.Credential.Minio.SecretAccessKey, ""),
//Region: config.Config.Credential.Minio.Location,
} }
if minioUrl.Scheme == "http" { if minioUrl.Scheme == "http" {
opts.Secure = false opts.Secure = false
@ -47,7 +48,9 @@ func MinioInit() {
} }
opt := minio.MakeBucketOptions{ opt := minio.MakeBucketOptions{
Region: config.Config.Credential.Minio.Location, Region: config.Config.Credential.Minio.Location,
ObjectLocking: false, }
if config.Config.Credential.Minio.IsDistributedMod == true {
opt.ObjectLocking = true
} }
err = MinioClient.MakeBucket(context.Background(), config.Config.Credential.Minio.Bucket, opt) err = MinioClient.MakeBucket(context.Background(), config.Config.Credential.Minio.Bucket, opt)
if err != nil { if err != nil {
@ -78,6 +81,9 @@ func MinioInit() {
return return
} }
} }
policy, err := MinioClient.GetBucketPolicy(context.Background(), config.Config.Credential.Minio.Bucket)
log.NewInfo("", utils.GetSelfFuncName(), policy)
// 自动化桶public的代码 // 自动化桶public的代码
policyJsonString := fmt.Sprintf(`{"Version": "2012-10-17","Statement": [{"Action": ["s3:GetObject","s3:PutObject"], policyJsonString := fmt.Sprintf(`{"Version": "2012-10-17","Statement": [{"Action": ["s3:GetObject","s3:PutObject"],
"Effect": "Allow","Principal": {"AWS": ["*"]},"Resource": ["arn:aws:s3:::%s/*"],"Sid": ""}]}`, config.Config.Credential.Minio.Bucket) "Effect": "Allow","Principal": {"AWS": ["*"]},"Resource": ["arn:aws:s3:::%s/*"],"Sid": ""}]}`, config.Config.Credential.Minio.Bucket)

@ -161,6 +161,7 @@ func MinioStorageCredential(c *gin.Context) {
resp.BucketName = config.Config.Credential.Minio.Bucket resp.BucketName = config.Config.Credential.Minio.Bucket
resp.StsEndpointURL = config.Config.Credential.Minio.Endpoint resp.StsEndpointURL = config.Config.Credential.Minio.Endpoint
resp.StorageTime = config.Config.Credential.Minio.StorageTime resp.StorageTime = config.Config.Credential.Minio.StorageTime
resp.IsDistributedMod = config.Config.Credential.Minio.IsDistributedMod
c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp})
} }

@ -61,7 +61,13 @@ func (s *groupServer) Run() {
log.NewInfo("", "listen network success, ", address, listener) log.NewInfo("", "listen network success, ", address, listener)
defer listener.Close() defer listener.Close()
//grpc server //grpc server
srv := grpc.NewServer() recvSize := 1024 * 1024 * 30
sendSize := 1024 * 1024 * 30
var options = []grpc.ServerOption{
grpc.MaxRecvMsgSize(recvSize),
grpc.MaxSendMsgSize(sendSize),
}
srv := grpc.NewServer(options...)
defer srv.GracefulStop() defer srv.GracefulStop()
//Service registers with etcd //Service registers with etcd
pbGroup.RegisterGroupServer(srv, s) pbGroup.RegisterGroupServer(srv, s)

@ -1,7 +1,6 @@
package group package group
import ( import (
"Open_IM/pkg/common/constant"
rocksCache "Open_IM/pkg/common/db/rocks_cache" rocksCache "Open_IM/pkg/common/db/rocks_cache"
"Open_IM/pkg/common/log" "Open_IM/pkg/common/log"
cp "Open_IM/pkg/common/utils" cp "Open_IM/pkg/common/utils"
@ -15,7 +14,6 @@ import (
func (s *groupServer) GetJoinedSuperGroupList(ctx context.Context, req *pbGroup.GetJoinedSuperGroupListReq) (*pbGroup.GetJoinedSuperGroupListResp, error) { func (s *groupServer) GetJoinedSuperGroupList(ctx context.Context, req *pbGroup.GetJoinedSuperGroupListReq) (*pbGroup.GetJoinedSuperGroupListResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp := &pbGroup.GetJoinedSuperGroupListResp{CommonResp: &pbGroup.CommonResp{}} resp := &pbGroup.GetJoinedSuperGroupListResp{CommonResp: &pbGroup.CommonResp{}}
//userToSuperGroup, err := db.DB.GetSuperGroupByUserID(req.UserID)
groupIDList, err := rocksCache.GetJoinedSuperGroupListFromCache(req.UserID) groupIDList, err := rocksCache.GetJoinedSuperGroupListFromCache(req.UserID)
if err != nil { if err != nil {
if err == redis.Nil { if err == redis.Nil {
@ -23,8 +21,8 @@ func (s *groupServer) GetJoinedSuperGroupList(ctx context.Context, req *pbGroup.
return resp, nil return resp, nil
} }
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetSuperGroupByUserID failed ", err.Error(), req.UserID) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetSuperGroupByUserID failed ", err.Error(), req.UserID)
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode //resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg //resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
return resp, nil return resp, nil
} }
for _, groupID := range groupIDList { for _, groupID := range groupIDList {

@ -13,6 +13,7 @@ type MiniostorageCredentialResp struct {
BucketName string `json:"bucketName"` BucketName string `json:"bucketName"`
StsEndpointURL string `json:"stsEndpointURL"` StsEndpointURL string `json:"stsEndpointURL"`
StorageTime int `json:"storageTime"` StorageTime int `json:"storageTime"`
IsDistributedMod bool `json:"isDistributedMod"`
} }
type MinioUploadFileReq struct { type MinioUploadFileReq struct {

@ -72,6 +72,7 @@ type config struct {
EndpointInner string `yaml:"endpointInner"` EndpointInner string `yaml:"endpointInner"`
EndpointInnerEnable bool `yaml:"endpointInnerEnable"` EndpointInnerEnable bool `yaml:"endpointInnerEnable"`
StorageTime int `yaml:"storageTime"` StorageTime int `yaml:"storageTime"`
IsDistributedMod bool `yaml:"isDistributedMod"`
} `yaml:"minio"` } `yaml:"minio"`
} }

@ -8,6 +8,7 @@ import (
"Open_IM/pkg/utils" "Open_IM/pkg/utils"
"context" "context"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"time" "time"
) )
@ -323,6 +324,9 @@ func GetJoinedSuperGroupListFromCache(userID string) ([]string, error) {
if err != nil { if err != nil {
return "", utils.Wrap(err, "") return "", utils.Wrap(err, "")
} }
if len(userToSuperGroup.GroupIDList) == 0 {
return "", errors.New("GroupIDList == 0")
}
bytes, err := json.Marshal(userToSuperGroup.GroupIDList) bytes, err := json.Marshal(userToSuperGroup.GroupIDList)
return string(bytes), utils.Wrap(err, "") return string(bytes), utils.Wrap(err, "")
} }

Loading…
Cancel
Save