Bladeren bron

:art: Improve upload assets to cloud

Daniel 1 jaar geleden
bovenliggende
commit
fdb0600dbb
3 gewijzigde bestanden met toevoegingen van 15 en 25 verwijderingen
  1. 13 8
      kernel/model/assets.go
  2. 2 2
      kernel/model/export.go
  3. 0 15
      kernel/sql/asset.go

+ 13 - 8
kernel/model/assets.go

@@ -514,12 +514,17 @@ func UploadAssets2Cloud(rootID string) (count int, err error) {
 		return
 		return
 	}
 	}
 
 
-	sqlAssets := sql.QueryRootBlockAssets(rootID)
-	err = uploadAssets2Cloud(sqlAssets, bizTypeUploadAssets)
+	tree, err := loadTreeByBlockID(rootID)
+	if nil != err {
+		return
+	}
+
+	assets := assetsLinkDestsInTree(tree)
+	err = uploadAssets2Cloud(assets, bizTypeUploadAssets)
 	if nil != err {
 	if nil != err {
 		return
 		return
 	}
 	}
-	count = len(sqlAssets)
+	count = len(assets)
 	return
 	return
 }
 }
 
 
@@ -529,17 +534,17 @@ const (
 )
 )
 
 
 // uploadAssets2Cloud 将资源文件上传到云端图床。
 // uploadAssets2Cloud 将资源文件上传到云端图床。
-func uploadAssets2Cloud(sqlAssets []*sql.Asset, bizType string) (err error) {
+func uploadAssets2Cloud(assetPaths []string, bizType string) (err error) {
 	var uploadAbsAssets []string
 	var uploadAbsAssets []string
-	for _, asset := range sqlAssets {
+	for _, assetPath := range assetPaths {
 		var absPath string
 		var absPath string
-		absPath, err = GetAssetAbsPath(asset.Path)
+		absPath, err = GetAssetAbsPath(assetPath)
 		if nil != err {
 		if nil != err {
-			logging.LogWarnf("get asset [%s] abs path failed: %s", asset, err)
+			logging.LogWarnf("get asset [%s] abs path failed: %s", assetPath, err)
 			return
 			return
 		}
 		}
 		if "" == absPath {
 		if "" == absPath {
-			logging.LogErrorf("not found asset [%s]", asset)
+			logging.LogErrorf("not found asset [%s]", assetPath)
 			continue
 			continue
 		}
 		}
 
 

+ 2 - 2
kernel/model/export.go

@@ -67,8 +67,8 @@ func Export2Liandi(id string) (err error) {
 		return errors.New(Conf.Language(204))
 		return errors.New(Conf.Language(204))
 	}
 	}
 
 
-	sqlAssets := sql.QueryRootBlockAssets(id)
-	err = uploadAssets2Cloud(sqlAssets, bizTypeExport2Liandi)
+	assets := assetsLinkDestsInTree(tree)
+	err = uploadAssets2Cloud(assets, bizTypeExport2Liandi)
 	if nil != err {
 	if nil != err {
 		return
 		return
 	}
 	}

+ 0 - 15
kernel/sql/asset.go

@@ -115,21 +115,6 @@ func QueryAssetByHash(hash string) (ret *Asset) {
 	return
 	return
 }
 }
 
 
-func QueryRootBlockAssets(rootID string) (ret []*Asset) {
-	sqlStmt := "SELECT * FROM assets WHERE root_id = ?"
-	rows, err := query(sqlStmt, rootID)
-	if nil != err {
-		logging.LogErrorf("sql query [%s] failed: %s", sqlStmt, err)
-		return
-	}
-	defer rows.Close()
-	for rows.Next() {
-		asset := scanAssetRows(rows)
-		ret = append(ret, asset)
-	}
-	return
-}
-
 func scanAssetRows(rows *sql.Rows) (ret *Asset) {
 func scanAssetRows(rows *sql.Rows) (ret *Asset) {
 	var asset Asset
 	var asset Asset
 	if err := rows.Scan(&asset.ID, &asset.BlockID, &asset.RootID, &asset.Box, &asset.DocPath, &asset.Path, &asset.Name, &asset.Title, &asset.Hash); nil != err {
 	if err := rows.Scan(&asset.ID, &asset.BlockID, &asset.RootID, &asset.Box, &asset.DocPath, &asset.Path, &asset.Name, &asset.Title, &asset.Hash); nil != err {