diff --git a/main.go b/main.go index f6ba6fb..7c8e68e 100644 --- a/main.go +++ b/main.go @@ -8,7 +8,7 @@ import ( "gitlink.org.cn/cloudream/coordinator/config" "gitlink.org.cn/cloudream/coordinator/services" mydb "gitlink.org.cn/cloudream/db" - rasvr "gitlink.org.cn/cloudream/rabbitmq/server" + rasvr "gitlink.org.cn/cloudream/rabbitmq/server/coordinator" "gitlink.org.cn/cloudream/utils/logger" ) diff --git a/services/bucket.go b/services/bucket.go index 659c2c0..b7f6cf1 100644 --- a/services/bucket.go +++ b/services/bucket.go @@ -3,7 +3,7 @@ package services import ( log "github.com/sirupsen/logrus" "gitlink.org.cn/cloudream/db/model" - ramsg "gitlink.org.cn/cloudream/rabbitmq/message" + ramsg "gitlink.org.cn/cloudream/rabbitmq/message/coordinator" "gitlink.org.cn/cloudream/utils/consts/errorcode" ) @@ -12,7 +12,7 @@ func (svc *Service) GetBucket(userID int, bucketID int) (model.Bucket, error) { panic("not implement yet") } -func (svc *Service) GetUserBuckets(msg *ramsg.GetUserBucketsCommand) ramsg.GetUserBucketsResp { +func (svc *Service) GetUserBuckets(msg *ramsg.GetUserBucketsCommand) *ramsg.GetUserBucketsResp { buckets, err := svc.db.GetUserBuckets(msg.UserID) if err != nil { @@ -24,7 +24,7 @@ func (svc *Service) GetUserBuckets(msg *ramsg.GetUserBucketsCommand) ramsg.GetUs return ramsg.NewGetUserBucketsRespOK(buckets) } -func (svc *Service) GetBucketObjects(msg *ramsg.GetBucketObjectsCommand) ramsg.GetBucketObjectsResp { +func (svc *Service) GetBucketObjects(msg *ramsg.GetBucketObjectsCommand) *ramsg.GetBucketObjectsResp { objects, err := svc.db.GetBucketObjects(msg.UserID, msg.BucketID) if err != nil { @@ -37,9 +37,17 @@ func (svc *Service) GetBucketObjects(msg *ramsg.GetBucketObjectsCommand) ramsg.G return ramsg.NewGetBucketObjectsRespOK(objects) } -func (svc *Service) CreateBucket(userID int, bucketName string) (model.Bucket, error) { - // TODO - panic("not implement yet") +func (svc *Service) CreateBucket(msg *ramsg.CreateBucketCommand) *ramsg.CreateBucketResp { + bucketID, err := svc.db.CreateBucket(msg.UserID, msg.BucketName) + + if err != nil { + log.WithField("UserID", msg.UserID). + WithField("BucketName", msg.BucketName). + Warnf("create bucket failed, err: %s", err.Error()) + return ramsg.NewCreateBucketRespFailed(errorcode.OPERATION_FAILED, "create bucket failed") + } + + return ramsg.NewCreateBucketRespOK(bucketID) } func (src *Service) DeleteBucket(userID int, bucketID int) error { diff --git a/services/command_service.go b/services/command_service.go index ce19cf8..0533ca9 100644 --- a/services/command_service.go +++ b/services/command_service.go @@ -150,6 +150,8 @@ func (service *Service) Move(msg *ramsg.MoveCommand) ramsg.MoveResp { //--查询节点延迟表,得到command.destination与各个nodeIps的的延迟,存到一个map类型中(Delay) //--kx:根据查出来的hash/hashs、nodeIps、TempOrPins、Times(移动/读取策略)、Delay确定hashs、ids + // TODO 需要在StorageData中增加记录 + // 查询用户关联的存储服务 stg, err := service.db.QueryUserStorage(msg.UserID, msg.StorageID) if err != nil {