|
@@ -163,6 +163,109 @@ func AddToMaterial(req material.SaveAsMaterialReq, opUserId int, opUserName stri
|
|
err = fmt.Errorf("不支持的类型")
|
|
err = fmt.Errorf("不支持的类型")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ resourceUrl, err, errMsg := uploadToMaterial(oldRsourceUrl)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 新增素材库
|
|
|
|
+
|
|
|
|
+ sort, err := material.GetMaterialMaxSort()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ //素材主表信息
|
|
|
|
+ materialInfo := &material.Material{
|
|
|
|
+ MaterialName: utils.TrimStr(req.MaterialName),
|
|
|
|
+ MaterialNameEn: utils.TrimStr(req.MaterialName),
|
|
|
|
+ ImgUrl: utils.TrimStr(resourceUrl),
|
|
|
|
+ SysUserId: opUserId,
|
|
|
|
+ SysUserRealName: opUserName,
|
|
|
|
+ ModifyTime: time.Now(),
|
|
|
|
+ CreateTime: time.Now(),
|
|
|
|
+ ClassifyId: req.ClassifyId,
|
|
|
|
+ Sort: sort + 1,
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //新增素材
|
|
|
|
+ id, err := material.AddMaterial(materialInfo)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ materialInfo.MaterialId = int(id)
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// MyChartAddToMaterial 将我的
|
|
|
|
+func MyChartAddToMaterial(req material.MyChartSaveAsMaterialReq, opUserId int, opUserName string) (err error, errMsg string) {
|
|
|
|
+ // 判断出对应的类型,得倒最终的资源地址
|
|
|
|
+ // 获取图表ID
|
|
|
|
+ chartInfoIds := make([]int, 0)
|
|
|
|
+ for _, v := range req.MaterialList {
|
|
|
|
+ chartInfoIds = append(chartInfoIds, v.ChartInfoId)
|
|
|
|
+ }
|
|
|
|
+ // 获取图表信息
|
|
|
|
+ if len(chartInfoIds) <= 0 {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ chartInfoList, e := data_manage.GetChartInfoByIdList(chartInfoIds)
|
|
|
|
+ if e != nil {
|
|
|
|
+ if e.Error() == utils.ErrNoRow() {
|
|
|
|
+ errMsg = "图表不存在"
|
|
|
|
+ err = fmt.Errorf("图表不存在")
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ errMsg = "获取图表信息失败"
|
|
|
|
+ err = e
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ chartInfoMap := make(map[int]string)
|
|
|
|
+ for _, v := range chartInfoList {
|
|
|
|
+ if v.ChartImage == "" {
|
|
|
|
+ errMsg = "图表封面为空"
|
|
|
|
+ err = fmt.Errorf("图表封面为空")
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ chartInfoMap[v.ChartInfoId] = v.ChartImage
|
|
|
|
+ }
|
|
|
|
+ addList := make([]*material.Material, 0)
|
|
|
|
+ sort, err := material.GetMaterialMaxSort()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range req.MaterialList {
|
|
|
|
+ sort = sort + 1
|
|
|
|
+ oldResourceUrl, ok := chartInfoMap[v.ChartInfoId]
|
|
|
|
+ if !ok {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ resourceUrl := ""
|
|
|
|
+ resourceUrl, err, errMsg = uploadToMaterial(oldResourceUrl)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 新增素材库
|
|
|
|
+
|
|
|
|
+ //素材主表信息
|
|
|
|
+ materialInfo := &material.Material{
|
|
|
|
+ MaterialName: utils.TrimStr(v.MaterialName),
|
|
|
|
+ MaterialNameEn: utils.TrimStr(v.MaterialName),
|
|
|
|
+ ImgUrl: utils.TrimStr(resourceUrl),
|
|
|
|
+ SysUserId: opUserId,
|
|
|
|
+ SysUserRealName: opUserName,
|
|
|
|
+ ModifyTime: time.Now(),
|
|
|
|
+ CreateTime: time.Now(),
|
|
|
|
+ ClassifyId: v.ClassifyId,
|
|
|
|
+ Sort: sort,
|
|
|
|
+ }
|
|
|
|
+ addList = append(addList, materialInfo)
|
|
|
|
+ }
|
|
|
|
+ if len(addList) > 0 {
|
|
|
|
+ err = material.AddMultiMaterial(addList)
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
+func uploadToMaterial(oldRsourceUrl string) (resourceUrl string, err error, errMsg string) {
|
|
// 下载资源地址内容,并上传至存储空间得倒最终的素材地址
|
|
// 下载资源地址内容,并上传至存储空间得倒最终的素材地址
|
|
urlFileName := path.Base(oldRsourceUrl)
|
|
urlFileName := path.Base(oldRsourceUrl)
|
|
uploadDir := utils.STATIC_DIR + "hongze/" + time.Now().Format("20060102")
|
|
uploadDir := utils.STATIC_DIR + "hongze/" + time.Now().Format("20060102")
|
|
@@ -205,7 +308,7 @@ func AddToMaterial(req material.SaveAsMaterialReq, opUserId int, opUserName stri
|
|
err = fmt.Errorf("初始化OSS服务失败")
|
|
err = fmt.Errorf("初始化OSS服务失败")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- resourceUrl, err := ossClient.UploadFile(newFileName, filePath, savePath)
|
|
|
|
|
|
+ resourceUrl, err = ossClient.UploadFile(newFileName, filePath, savePath)
|
|
if err != nil {
|
|
if err != nil {
|
|
err = fmt.Errorf("文件上传失败, Err: %s", err.Error())
|
|
err = fmt.Errorf("文件上传失败, Err: %s", err.Error())
|
|
return
|
|
return
|
|
@@ -214,28 +317,6 @@ func AddToMaterial(req material.SaveAsMaterialReq, opUserId int, opUserName stri
|
|
defer func() {
|
|
defer func() {
|
|
os.Remove(filePath)
|
|
os.Remove(filePath)
|
|
}()
|
|
}()
|
|
- // 新增素材库
|
|
|
|
-
|
|
|
|
- sort, err := material.GetMaterialMaxSort()
|
|
|
|
- //素材主表信息
|
|
|
|
- materialInfo := &material.Material{
|
|
|
|
- MaterialName: utils.TrimStr(req.MaterialName),
|
|
|
|
- MaterialNameEn: utils.TrimStr(req.MaterialName),
|
|
|
|
- ImgUrl: utils.TrimStr(resourceUrl),
|
|
|
|
- SysUserId: opUserId,
|
|
|
|
- SysUserRealName: opUserName,
|
|
|
|
- ModifyTime: time.Now(),
|
|
|
|
- CreateTime: time.Now(),
|
|
|
|
- ClassifyId: req.ClassifyId,
|
|
|
|
- Sort: sort + 1,
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //新增素材
|
|
|
|
- id, err := material.AddMaterial(materialInfo)
|
|
|
|
- if err != nil {
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- materialInfo.MaterialId = int(id)
|
|
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|