package services import ( "gitlink.org.cn/cloudream/common/consts/errorcode" "gitlink.org.cn/cloudream/common/pkgs/logger" "gitlink.org.cn/cloudream/common/pkgs/mq" coormq "gitlink.org.cn/cloudream/storage-common/pkgs/mq/coordinator" ) func (svc *Service) CachePackageMoved(msg *coormq.CachePackageMoved) (*coormq.CachePackageMovedResp, *mq.CodeMessage) { pkg, err := svc.db.Package().GetByID(svc.db.SQLCtx(), msg.PackageID) if err != nil { logger.WithField("PackageID", msg.PackageID). Warnf("getting package: %s", err.Error()) return nil, mq.Failed(errorcode.OperationFailed, "get package failed") } if pkg.Redundancy.IsRepInfo() { // TODO 优先级 if err := svc.db.Cache().BatchCreatePinned(svc.db.SQLCtx(), msg.FileHashes, msg.NodeID, 0); err != nil { logger.Warnf("batch creating pinned cache: %s", err.Error()) return nil, mq.Failed(errorcode.OperationFailed, "batch create pinned cache failed") } } // TODO EC的逻辑 return mq.ReplyOK(coormq.NewCachePackageMovedResp()) }