|
@@ -374,6 +374,11 @@ func CopyGroup(groupId int64, adminId int, adminRealName string) (err error) {
|
|
|
err = errors.New("查询ppt列表出错:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
+ pptMap := make(map[int]*models.PptV2)
|
|
|
+ for _, pptItem := range pptList {
|
|
|
+ pptMap[pptItem.PptId] = pptItem
|
|
|
+ }
|
|
|
+
|
|
|
pptNames, err := models.GetAllPptTitle()
|
|
|
if err != nil {
|
|
|
err = errors.New("查询ppt标题出错:" + err.Error())
|
|
@@ -381,30 +386,37 @@ func CopyGroup(groupId int64, adminId int, adminRealName string) (err error) {
|
|
|
}
|
|
|
//批量复制ppt,更新作者为当前账号,并返回新的pptID
|
|
|
newPptList := make([]*models.PptV2, 0)
|
|
|
- for _, v := range pptList {
|
|
|
- if v.PptVersion != 2 { //只复制新版的ppt,旧版本的ppt忽略
|
|
|
+ for _, mapping := range mappingList {
|
|
|
+ pptItem, ok := pptMap[int(mapping.PptId)]
|
|
|
+ // 不存在该ppt,那么就过滤
|
|
|
+ if !ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ if pptItem.PptVersion != 2 { //只复制新版的ppt,旧版本的ppt忽略
|
|
|
continue
|
|
|
}
|
|
|
tmp := &models.PptV2{
|
|
|
- TemplateType: v.TemplateType,
|
|
|
- BackgroundImg: v.BackgroundImg,
|
|
|
- Title: generateCopyName(v.Title, 1, pptNames),
|
|
|
- ReportType: v.ReportType,
|
|
|
- PptDate: v.PptDate,
|
|
|
- Content: v.Content,
|
|
|
- CoverContent: v.CoverContent,
|
|
|
- PptUrl: v.PptUrl,
|
|
|
- PptxUrl: v.PptxUrl,
|
|
|
+ TemplateType: pptItem.TemplateType,
|
|
|
+ BackgroundImg: pptItem.BackgroundImg,
|
|
|
+ Title: generateCopyName(pptItem.Title, 1, pptNames),
|
|
|
+ ReportType: pptItem.ReportType,
|
|
|
+ PptDate: pptItem.PptDate,
|
|
|
+ Content: pptItem.Content,
|
|
|
+ CoverContent: pptItem.CoverContent,
|
|
|
+ PptUrl: pptItem.PptUrl,
|
|
|
+ PptxUrl: pptItem.PptxUrl,
|
|
|
CreateTime: time.Now(),
|
|
|
ModifyTime: time.Now(),
|
|
|
AdminId: adminId,
|
|
|
AdminRealName: adminRealName,
|
|
|
- PptVersion: v.PptVersion,
|
|
|
- TitleSetting: v.TitleSetting,
|
|
|
+ PptVersion: pptItem.PptVersion,
|
|
|
+ TitleSetting: pptItem.TitleSetting,
|
|
|
}
|
|
|
newPptList = append(newPptList, tmp)
|
|
|
}
|
|
|
- if len(newPptList) > 0 {
|
|
|
+ pptNum := len(newPptList)
|
|
|
+ if pptNum > 0 {
|
|
|
err = models.AddPptV2Multi(newPptList)
|
|
|
if err != nil {
|
|
|
err = errors.New("复制目录里的ppt出错:" + err.Error())
|
|
@@ -412,7 +424,7 @@ func CopyGroup(groupId int64, adminId int, adminRealName string) (err error) {
|
|
|
}
|
|
|
|
|
|
newMappings := make([]*models.PptV2GroupMapping, 0)
|
|
|
- for i, v := range newPptList {
|
|
|
+ for k, v := range newPptList {
|
|
|
tmp := &models.PptV2GroupMapping{
|
|
|
GroupId: newGroupId,
|
|
|
PptId: int64(v.PptId),
|
|
@@ -420,7 +432,7 @@ func CopyGroup(groupId int64, adminId int, adminRealName string) (err error) {
|
|
|
ModifyTime: time.Now(),
|
|
|
AdminId: adminId,
|
|
|
AdminRealName: adminRealName,
|
|
|
- PptSort: float64(i + 1),
|
|
|
+ PptSort: float64(pptNum - k),
|
|
|
}
|
|
|
newMappings = append(newMappings, tmp)
|
|
|
}
|