ソースを参照

我的图库批量上传至素材库,提示文案处理

xyxie 4 ヶ月 前
コミット
f0c88f9f31

+ 9 - 8
controllers/material/material.go

@@ -925,6 +925,7 @@ func (this *MaterialController) MyChartSaveAsMaterial() {
 		return
 	}
 	existList := make([]*material.Material, 0)
+	existNameMap := make(map[string]struct{})
 	switch this.Lang {
 	case utils.LANG_EN:
 		existList, err = material.GetMaterialByNameEns(materialNames)
@@ -934,12 +935,9 @@ func (this *MaterialController) MyChartSaveAsMaterial() {
 			return
 		}
 		if len(existList) > 0 {
-			msg := "图片名称:"
 			for _, v := range existList {
-				msg += v.MaterialNameEn + " "
+				existNameMap[v.MaterialNameEn] = struct{}{}
 			}
-			br.Msg = fmt.Sprintf("%s 已存在", msg)
-			return
 		}
 	default:
 		// 判断文件名是否已存在
@@ -950,14 +948,17 @@ func (this *MaterialController) MyChartSaveAsMaterial() {
 			return
 		}
 		if len(existList) > 0 {
-			msg := "图片名称:"
 			for _, v := range existList {
-				msg += v.MaterialName + " "
+				existNameMap[v.MaterialName] = struct{}{}
 			}
-			br.Msg = fmt.Sprintf("%s 已存在", msg)
-			return
 		}
 	}
+	if len(existList) > 0 {
+		br.Msg = "图片名称已存在"
+		respData := materialService.GetMyChartExistMaterialNameListMsg(existNameMap, req.MaterialList)
+		br.Data = respData
+		return
+	}
 	if len(req.MaterialList) > 30 {
 		br.Msg = "最多支持选择30个图表"
 		return

+ 5 - 0
models/material/material.go

@@ -243,3 +243,8 @@ func GetMaterialMaxSort() (sort int, err error) {
 	err = o.Raw(sql).QueryRow(&sort)
 	return
 }
+
+// MyChartSaveAsMaterialResp 添加素材的
+type MyChartSaveAsMaterialResp struct {
+	ExistList []*MyChartSaveAsMaterialItem
+}

+ 13 - 0
services/material/material.go

@@ -580,3 +580,16 @@ func GetBatchSelectedMaterialList(classifyId int, keyword string, isShowMe bool,
 	}
 	return
 }
+
+func GetMyChartExistMaterialNameListMsg(nameList map[string]struct{}, reqList []*material.MyChartSaveAsMaterialItem) (nameResp material.MyChartSaveAsMaterialResp) {
+	existNameList := make([]*material.MyChartSaveAsMaterialItem, 0)
+	for _, v := range reqList {
+		if _, ok := nameList[v.MaterialName]; ok {
+			existNameList = append(existNameList, v)
+		}
+	}
+	nameResp = material.MyChartSaveAsMaterialResp{
+		ExistList: existNameList,
+	}
+	return
+}