|
@@ -8,6 +8,7 @@ import (
|
|
|
"eta/eta_api/services"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
+ "github.com/shopspring/decimal"
|
|
|
"sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
@@ -61,11 +62,21 @@ func AddGroupPptEnglishMapping(pptId int64, groupId int64, adminId int, adminRea
|
|
|
err = errors.New("目录查询出错:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 获取当前目录下最大的排序
|
|
|
+ pptSort, err := ppt_english.GetMaxSortByEnglishGroupId(groupId)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("查询最大排序出错:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newSort, _ := decimal.NewFromFloat(pptSort).Add(decimal.NewFromInt(1)).Float64()
|
|
|
+
|
|
|
bindInfo := &ppt_english.PptEnglishGroupMapping{
|
|
|
GroupId: groupId,
|
|
|
PptId: pptId,
|
|
|
AdminId: adminId,
|
|
|
AdminRealName: adminRealName,
|
|
|
+ PptSort: newSort,
|
|
|
}
|
|
|
|
|
|
newId, err = ppt_english.AddPptGroupMapping(bindInfo)
|
|
@@ -74,13 +85,13 @@ func AddGroupPptEnglishMapping(pptId int64, groupId int64, adminId int, adminRea
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- bindInfo.GroupPptId = newId
|
|
|
- bindInfo.PptSort = newId
|
|
|
- err = bindInfo.Update([]string{"ppt_sort"})
|
|
|
- if err != nil {
|
|
|
- err = errors.New("更新排序失败:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
+ //bindInfo.GroupPptId = newId
|
|
|
+ //bindInfo.PptSort = newId
|
|
|
+ //err = bindInfo.Update([]string{"ppt_sort"})
|
|
|
+ //if err != nil {
|
|
|
+ // err = errors.New("更新排序失败:" + err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -227,12 +238,13 @@ func CopyEnglishGroup(groupId int64, adminId int, adminRealName string) (err err
|
|
|
}
|
|
|
|
|
|
newMappings := make([]*ppt_english.PptEnglishGroupMapping, 0)
|
|
|
- for _, v := range newPptList {
|
|
|
+ for k, v := range newPptList {
|
|
|
tmp := &ppt_english.PptEnglishGroupMapping{
|
|
|
GroupId: newGroupId,
|
|
|
PptId: int64(v.PptId),
|
|
|
CreateTime: time.Now(),
|
|
|
ModifyTime: time.Now(),
|
|
|
+ PptSort: float64(k + 1),
|
|
|
AdminId: adminId,
|
|
|
AdminRealName: adminRealName,
|
|
|
}
|
|
@@ -244,15 +256,15 @@ func CopyEnglishGroup(groupId int64, adminId int, adminRealName string) (err err
|
|
|
return
|
|
|
}
|
|
|
//批量更新排序字段
|
|
|
- var newGroupPptIds []int64
|
|
|
- for _, v := range newMappings {
|
|
|
- newGroupPptIds = append(newGroupPptIds, v.GroupPptId)
|
|
|
- }
|
|
|
- err = ppt_english.UpdatePptGroupMappingSortMulti(newGroupPptIds)
|
|
|
- if err != nil {
|
|
|
- err = errors.New("更新排序标识出错:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
+ //var newGroupPptIds []int64
|
|
|
+ //for _, v := range newMappings {
|
|
|
+ // newGroupPptIds = append(newGroupPptIds, v.GroupPptId)
|
|
|
+ //}
|
|
|
+ //err = ppt_english.UpdatePptGroupMappingSortMulti(newGroupPptIds)
|
|
|
+ //if err != nil {
|
|
|
+ // err = errors.New("更新排序标识出错:" + err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
}
|
|
|
return
|
|
|
}
|
|
@@ -402,6 +414,102 @@ func GetGroupPptEnglishList(groupId int64, adminId int) (ret ppt_english.RespGro
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// MoveGroupPptEnglish 移动ppt操作
|
|
|
+//func MoveGroupPptEnglish(groupId, groupPptId, prevGroupPptId, nextGroupPptId int64, adminId int) (err error) {
|
|
|
+// //查询当前映射是否存在
|
|
|
+// //判断当前登录者是否有共享的权限oo
|
|
|
+// groupPpt, err := ppt_english.GetPptMappingByGroupPptId(groupPptId, adminId)
|
|
|
+// if err != nil {
|
|
|
+// if utils.IsErrNoRow(err) {
|
|
|
+// err = errors.New("当前目录下的ppt不存在")
|
|
|
+// return
|
|
|
+// }
|
|
|
+// err = errors.New("目录下的ppt查询出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// var updateStr []string
|
|
|
+// //如果更换了目录,默认当前排序值为0
|
|
|
+// var currentSort, prevSort, nextSort int64
|
|
|
+// //判断是否更换group
|
|
|
+// if groupPpt.GroupId != groupId {
|
|
|
+// _, err = ppt_english.GetPptGroupByGroupIdAdminId(groupId, adminId)
|
|
|
+// if err != nil {
|
|
|
+// if utils.IsErrNoRow(err) {
|
|
|
+// err = errors.New("目录不存在")
|
|
|
+// return
|
|
|
+// }
|
|
|
+// err = errors.New("目录查询出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// //判断是否需要解除当个ppt共享
|
|
|
+// //解除共享操作
|
|
|
+// err = CancelShareSingleGroupPptEnglish(groupPpt, adminId)
|
|
|
+// if err != nil {
|
|
|
+// err = errors.New(err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// groupPpt.GroupId = groupId
|
|
|
+// updateStr = append(updateStr, "group_id")
|
|
|
+// }
|
|
|
+// currentSort = groupPpt.PptSort
|
|
|
+//
|
|
|
+// var prevGroupPpt *ppt_english.PptEnglishGroupMapping
|
|
|
+// var nextGroupPpt *ppt_english.PptEnglishGroupMapping
|
|
|
+// if prevGroupPptId > 0 {
|
|
|
+// prevGroupPpt, err = ppt_english.GetPptMappingByGroupPptId(prevGroupPptId, adminId)
|
|
|
+// if err != nil {
|
|
|
+// if utils.IsErrNoRow(err) {
|
|
|
+// err = errors.New("目录下的ppt不存在")
|
|
|
+// return
|
|
|
+// }
|
|
|
+// err = errors.New("目录下的ppt查询出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// prevSort = prevGroupPpt.PptSort
|
|
|
+// }
|
|
|
+//
|
|
|
+// if nextGroupPptId > 0 {
|
|
|
+// nextGroupPpt, err = ppt_english.GetPptMappingByGroupPptId(nextGroupPptId, adminId)
|
|
|
+// if err != nil {
|
|
|
+// if utils.IsErrNoRow(err) {
|
|
|
+// err = errors.New("目录下的ppt不存在")
|
|
|
+// return
|
|
|
+// }
|
|
|
+// err = errors.New("目录下的ppt查询出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// nextSort = nextGroupPpt.PptSort
|
|
|
+// }
|
|
|
+//
|
|
|
+// updateStr = append(updateStr, "ppt_sort")
|
|
|
+//
|
|
|
+// //移到两个排序值中间操作
|
|
|
+// if prevSort >= currentSort {
|
|
|
+// //往下移动
|
|
|
+// err = ppt_english.MoveDownGroupPptBySort(groupId, prevSort, currentSort)
|
|
|
+// if err != nil {
|
|
|
+// err = errors.New("向下移动ppt出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// groupPpt.PptSort = prevSort
|
|
|
+// } else if nextSort <= currentSort && nextSort != 0 {
|
|
|
+// //往上移动
|
|
|
+// err = ppt_english.MoveUpGroupPptBySort(groupId, nextSort, currentSort)
|
|
|
+// if err != nil {
|
|
|
+// err = errors.New("向上移动ppt出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// groupPpt.PptSort = nextSort
|
|
|
+// }
|
|
|
+// //更新当前排序
|
|
|
+// err = groupPpt.Update(updateStr)
|
|
|
+// if err != nil {
|
|
|
+// err = errors.New("移动ppt出错:" + err.Error())
|
|
|
+// return
|
|
|
+// }
|
|
|
+// return
|
|
|
+//}
|
|
|
+
|
|
|
// MoveGroupPptEnglish 移动ppt操作
|
|
|
func MoveGroupPptEnglish(groupId, groupPptId, prevGroupPptId, nextGroupPptId int64, adminId int) (err error) {
|
|
|
//查询当前映射是否存在
|
|
@@ -416,8 +524,6 @@ func MoveGroupPptEnglish(groupId, groupPptId, prevGroupPptId, nextGroupPptId int
|
|
|
return
|
|
|
}
|
|
|
var updateStr []string
|
|
|
- //如果更换了目录,默认当前排序值为0
|
|
|
- var currentSort, prevSort, nextSort int64
|
|
|
//判断是否更换group
|
|
|
if groupPpt.GroupId != groupId {
|
|
|
_, err = ppt_english.GetPptGroupByGroupIdAdminId(groupId, adminId)
|
|
@@ -439,7 +545,6 @@ func MoveGroupPptEnglish(groupId, groupPptId, prevGroupPptId, nextGroupPptId int
|
|
|
groupPpt.GroupId = groupId
|
|
|
updateStr = append(updateStr, "group_id")
|
|
|
}
|
|
|
- currentSort = groupPpt.PptSort
|
|
|
|
|
|
var prevGroupPpt *ppt_english.PptEnglishGroupMapping
|
|
|
var nextGroupPpt *ppt_english.PptEnglishGroupMapping
|
|
@@ -453,7 +558,6 @@ func MoveGroupPptEnglish(groupId, groupPptId, prevGroupPptId, nextGroupPptId int
|
|
|
err = errors.New("目录下的ppt查询出错:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- prevSort = prevGroupPpt.PptSort
|
|
|
}
|
|
|
|
|
|
if nextGroupPptId > 0 {
|
|
@@ -466,29 +570,28 @@ func MoveGroupPptEnglish(groupId, groupPptId, prevGroupPptId, nextGroupPptId int
|
|
|
err = errors.New("目录下的ppt查询出错:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- nextSort = nextGroupPpt.PptSort
|
|
|
}
|
|
|
-
|
|
|
- updateStr = append(updateStr, "ppt_sort")
|
|
|
-
|
|
|
- //移到两个排序值中间操作
|
|
|
- if prevSort >= currentSort {
|
|
|
- //往下移动
|
|
|
- err = ppt_english.MoveDownGroupPptBySort(groupId, prevSort, currentSort)
|
|
|
- if err != nil {
|
|
|
- err = errors.New("向下移动ppt出错:" + err.Error())
|
|
|
+ pptSort := groupPpt.PptSort
|
|
|
+ if prevGroupPpt != nil && prevGroupPpt.PptId > 0 && nextGroupPpt != nil && nextGroupPpt.PptId > 0 { // 两个之间
|
|
|
+ pptSort, _ = decimal.NewFromFloat(prevGroupPpt.PptSort).Add(decimal.NewFromFloat(nextGroupPpt.PptSort)).Div(decimal.NewFromInt(2)).Float64()
|
|
|
+ } else if prevGroupPpt != nil && prevGroupPpt.PptId > 0 {
|
|
|
+ minSort, tmpErr := ppt_english.GetMinSortByEnglishGroupId(prevGroupPpt.GroupId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = errors.New("获取最小排序失败:" + tmpErr.Error())
|
|
|
return
|
|
|
}
|
|
|
- groupPpt.PptSort = prevSort
|
|
|
- } else if nextSort <= currentSort && nextSort != 0 {
|
|
|
- //往上移动
|
|
|
- err = ppt_english.MoveUpGroupPptBySort(groupId, nextSort, currentSort)
|
|
|
- if err != nil {
|
|
|
- err = errors.New("向上移动ppt出错:" + err.Error())
|
|
|
+ pptSort, _ = decimal.NewFromFloat(minSort).Add(decimal.NewFromInt(1)).Float64()
|
|
|
+ } else if nextGroupPpt != nil && nextGroupPpt.PptId > 0 {
|
|
|
+ maxSort, tmpErr := ppt_english.GetMaxSortByEnglishGroupId(prevGroupPpt.GroupId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = errors.New("获取最小排序失败:" + tmpErr.Error())
|
|
|
return
|
|
|
}
|
|
|
- groupPpt.PptSort = nextSort
|
|
|
+ pptSort, _ = decimal.NewFromFloat(maxSort).Sub(decimal.NewFromInt(1)).Float64()
|
|
|
}
|
|
|
+
|
|
|
+ groupPpt.PptSort = pptSort
|
|
|
+ updateStr = append(updateStr, "ppt_sort")
|
|
|
//更新当前排序
|
|
|
err = groupPpt.Update(updateStr)
|
|
|
if err != nil {
|
|
@@ -700,6 +803,15 @@ func CopyPptEnglish(pptId int, groupId int64, adminId int, adminRealName string)
|
|
|
err = errors.New("复制目录里的ppt出错:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 获取当前目录下最大的排序
|
|
|
+ pptSort, err := ppt_english.GetMaxSortByEnglishGroupId(groupId)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("查询最大排序出错:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newSort, _ := decimal.NewFromFloat(pptSort).Add(decimal.NewFromInt(1)).Float64()
|
|
|
+
|
|
|
var newMappings []*ppt_english.PptEnglishGroupMapping
|
|
|
newGroupPpt := &ppt_english.PptEnglishGroupMapping{
|
|
|
GroupId: groupId,
|
|
@@ -708,6 +820,7 @@ func CopyPptEnglish(pptId int, groupId int64, adminId int, adminRealName string)
|
|
|
ModifyTime: time.Now(),
|
|
|
AdminId: adminId,
|
|
|
AdminRealName: adminRealName,
|
|
|
+ PptSort: newSort,
|
|
|
}
|
|
|
newMappings = append(newMappings, newGroupPpt)
|
|
|
|
|
@@ -716,12 +829,12 @@ func CopyPptEnglish(pptId int, groupId int64, adminId int, adminRealName string)
|
|
|
err = errors.New("复制目录里的ppt出错:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- //批量更新排序字段
|
|
|
- err = ppt_english.UpdatePptGroupMappingSortMulti([]int64{newGroupPpt.GroupPptId})
|
|
|
- if err != nil {
|
|
|
- err = errors.New("更新排序标识出错:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
+ ////批量更新排序字段
|
|
|
+ //err = ppt_english.UpdatePptGroupMappingSortMulti([]int64{newGroupPpt.GroupPptId})
|
|
|
+ //if err != nil {
|
|
|
+ // err = errors.New("更新排序标识出错:" + err.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
var pptPage int
|
|
|
if newPpt.Content != "" {
|
|
|
contents := make([]PageContent, 0)
|