|
@@ -197,19 +197,34 @@ func (this *EnglishReportController) AddClassify() {
|
|
|
}()
|
|
|
classifyName := this.GetString("ClassifyName")
|
|
|
parentId, _ := this.GetInt("ParentId")
|
|
|
- classifyType, _ := this.GetInt("ClassifyType", 0)
|
|
|
sort, _ := this.GetInt("Sort")
|
|
|
|
|
|
+ // 查新父级分类是否存在
|
|
|
+ rootId := 0
|
|
|
+ if parentId > 0 {
|
|
|
+ parentClassify, err := models.GetEnglishReportClassifyById(parentId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "上级分类不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "查询上级分类信息失败"
|
|
|
+ br.ErrMsg = "查询上级分类信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rootId = parentClassify.RootId
|
|
|
+ }
|
|
|
+
|
|
|
item := &models.EnglishClassify{
|
|
|
ClassifyName: classifyName,
|
|
|
Sort: sort,
|
|
|
ParentId: parentId,
|
|
|
+ RootId: rootId,
|
|
|
CreateTime: time.Now(),
|
|
|
ModifyTime: time.Now(),
|
|
|
- ClassifyType: classifyType,
|
|
|
IsShow: 1,
|
|
|
}
|
|
|
- counts, err := models.GetEnglishClassifyCountsByName(classifyName, parentId, classifyType)
|
|
|
+ counts, err := models.GetEnglishClassifyCountsByName(classifyName, parentId)
|
|
|
if err != nil {
|
|
|
br.Msg = "查询失败"
|
|
|
br.ErrMsg = "查询失败,Err:" + err.Error()
|
|
@@ -265,26 +280,35 @@ func (this *EnglishReportController) EditClassify() {
|
|
|
}
|
|
|
|
|
|
oldItem, err := models.GetEnglishReportClassifyById(classifyId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- parent, err := models.GetEnglishReportClassifyById(parentId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "当前分类不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
br.Msg = "获取信息失败"
|
|
|
br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
if oldItem.ParentId == 0 && parentId > 0 {
|
|
|
// 一级分类变更为二级分类,禁止
|
|
|
br.Msg = "一级分类不允许更改为二级分类"
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ var parent *models.EnglishClassify
|
|
|
+ if parentId > 0 {
|
|
|
+ parent, err = models.GetEnglishReportClassifyById(parentId)
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "上级分类不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
//判断是否已存在同个名称的分类
|
|
|
- existItem, e := models.GetEnglishClassifyByClassifyNameParentId(classifyName, parentId, oldItem.ClassifyType)
|
|
|
+ existItem, e := models.GetEnglishClassifyByClassifyNameParentId(classifyName, parentId)
|
|
|
if e != nil {
|
|
|
if e.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "查询已存在的分类出错"
|
|
@@ -296,29 +320,23 @@ func (this *EnglishReportController) EditClassify() {
|
|
|
br.Msg = "分类名称:" + classifyName + "已存在"
|
|
|
return
|
|
|
}
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- //oldParentId := item.ParentId
|
|
|
item := &models.EnglishClassify{
|
|
|
Id: oldItem.Id,
|
|
|
ClassifyName: classifyName,
|
|
|
Sort: sort,
|
|
|
ParentId: parentId,
|
|
|
+ RootId: parent.RootId,
|
|
|
ModifyTime: time.Now(),
|
|
|
- ClassifyType: oldItem.ClassifyType,
|
|
|
IsShow: 1,
|
|
|
}
|
|
|
- if oldItem.ClassifyType == 1 {
|
|
|
+ {
|
|
|
+ //更新相关联的路演视频里的分类名称
|
|
|
err = services.UpdateEnglishVideoClassifyId(oldItem, item, parent, classifyId)
|
|
|
if err != nil {
|
|
|
br.Msg = err.Error()
|
|
|
return
|
|
|
}
|
|
|
- } else {
|
|
|
// 更新研报里的分类名称
|
|
|
err = services.UpdateEnglishReportClassifyId(oldItem, item, parent, classifyId)
|
|
|
if err != nil {
|
|
@@ -433,7 +451,6 @@ func (this *EnglishReportController) FistListClassify() {
|
|
|
}()
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
- classifyType, _ := this.GetInt("ClassifyType", 0)
|
|
|
|
|
|
var startSize int
|
|
|
if pageSize <= 0 {
|
|
@@ -444,22 +461,60 @@ func (this *EnglishReportController) FistListClassify() {
|
|
|
}
|
|
|
|
|
|
startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
- list, err := models.GetEnglishFirstClassifyList(classifyType, startSize, pageSize)
|
|
|
+ tmpList, err := models.GetEnglishFirstSecondClassifyList(startSize, pageSize)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- total, err := models.GetEnglishFirstClassifyListCount(classifyType)
|
|
|
+ total, err := models.GetEnglishFirstSecondClassifyListCount()
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
resp := new(models.EnglishClassifyListResp)
|
|
|
- resp.List = list
|
|
|
+
|
|
|
+ if total == 0 {
|
|
|
+ resp.List = make([]*models.EnglishClassifyList, 0)
|
|
|
+ resp.Paging = page
|
|
|
+
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rootMap := make(map[int]struct{}, 0)
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if v.RootId == 0 {
|
|
|
+ rootMap[v.Id] = struct{}{}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ secondListMap := make(map[int][]*models.EnglishClassifyList)
|
|
|
+ //处理二级分类
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if _, ok := rootMap[v.ParentId]; ok {
|
|
|
+ secondListMap[v.ParentId] = append(secondListMap[v.ParentId], v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理一级分类
|
|
|
+ var sortList models.RSClassifyList
|
|
|
+ var sortChildList models.RSChildClassifyList
|
|
|
+ for _, v := range tmpList {
|
|
|
+ if child, ok := secondListMap[v.Id]; ok {
|
|
|
+ sortChildList = child
|
|
|
+ sort.Sort(sortChildList)
|
|
|
+ v.Child = sortChildList
|
|
|
+ }
|
|
|
+ sortList = append(sortList, v)
|
|
|
+ }
|
|
|
+
|
|
|
+ sort.Sort(sortList)
|
|
|
+
|
|
|
+ resp.List = sortList
|
|
|
resp.Paging = page
|
|
|
|
|
|
br.Data = resp
|