|
@@ -36,6 +36,7 @@ func (er *EnglishReportController) List(c *gin.Context) {
|
|
|
page.SetPageSize(req.PageSize)
|
|
|
page.SetCurrent(req.Current)
|
|
|
item := new(english_report.Report)
|
|
|
+ enClassify := new(english_classify.Classify)
|
|
|
|
|
|
condition := " state=2"
|
|
|
var pars []interface{}
|
|
@@ -51,6 +52,21 @@ func (er *EnglishReportController) List(c *gin.Context) {
|
|
|
condition += " and classify_id_second = ?"
|
|
|
pars = append(pars, req.ClassifyIdSecond)
|
|
|
}
|
|
|
+ if req.ClassifyIdRoot > 0 && req.ClassifyIdFirst == 0 && req.ClassifyIdSecond == 0 {
|
|
|
+ //查询顶级分类下的所有二级分类
|
|
|
+ secondClassify, err := enClassify.GetSecondChild(req.ClassifyIdRoot)
|
|
|
+ if err != nil {
|
|
|
+ resp.FailMsg("获取分类失败", "获取分类信息失败,Err:"+err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var classifyIdFirstSlice []int
|
|
|
+ for _, v := range secondClassify {
|
|
|
+ classifyIdFirstSlice = append(classifyIdFirstSlice, v.Id)
|
|
|
+ }
|
|
|
+
|
|
|
+ condition += " and classify_id_first in (?)"
|
|
|
+ pars = append(pars, classifyIdFirstSlice)
|
|
|
+ }
|
|
|
page.AddOrderItem(base.OrderItem{Column: "publish_time", Asc: false})
|
|
|
page.AddOrderItem(base.OrderItem{Column: "id", Asc: false})
|
|
|
total, tmpList, err = item.SelectPage(page, condition, pars)
|
|
@@ -59,7 +75,25 @@ func (er *EnglishReportController) List(c *gin.Context) {
|
|
|
return
|
|
|
}
|
|
|
if len(tmpList) > 0 {
|
|
|
+ var thirdIds []int
|
|
|
+ for _, v := range tmpList {
|
|
|
+ thirdIds = append(thirdIds, v.ClassifyIdSecond)
|
|
|
+ }
|
|
|
+ //查询分类详情
|
|
|
+ nameList, err := enClassify.GetEnglishClassifyFullNameByIds(thirdIds)
|
|
|
+ if err != nil {
|
|
|
+ resp.FailMsg("获取分类失败", "获取分类信息失败,Err:"+err.Error(), c)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyMap := make(map[int]*english_classify.EnglishClassifyFullName)
|
|
|
+ for _, v := range nameList {
|
|
|
+ classifyMap[v.Id] = v
|
|
|
+ }
|
|
|
for _, v := range tmpList {
|
|
|
+ classifyInfo := new(english_classify.EnglishClassifyFullName)
|
|
|
+ if cv, ok := classifyMap[v.ClassifyIdSecond]; ok {
|
|
|
+ classifyInfo = cv
|
|
|
+ }
|
|
|
tmp := &english_report.ReportListItem{
|
|
|
Id: v.Id,
|
|
|
AddType: v.AddType,
|
|
@@ -73,6 +107,7 @@ func (er *EnglishReportController) List(c *gin.Context) {
|
|
|
Frequency: v.Frequency,
|
|
|
PublishTime: utils.TimeTransferString(utils.FormatDateTime, v.PublishTime),
|
|
|
Stage: v.Stage,
|
|
|
+ Overview: v.Overview,
|
|
|
VideoUrl: v.VideoUrl,
|
|
|
VideoName: v.VideoName,
|
|
|
VideoPlaySeconds: v.VideoPlaySeconds,
|
|
@@ -80,6 +115,8 @@ func (er *EnglishReportController) List(c *gin.Context) {
|
|
|
ShareUrl: "https://share.hzinsights.com/reportEn?code=" + v.ReportCode,
|
|
|
CreateTime: utils.TimeTransferString(utils.FormatDateTime, v.CreateTime),
|
|
|
ModifyTime: utils.TimeTransferString(utils.FormatDateTime, v.ModifyTime),
|
|
|
+ ClassifyIdRoot: classifyInfo.RootId,
|
|
|
+ ClassifyNameRoot: classifyInfo.RootName,
|
|
|
}
|
|
|
list = append(list, tmp)
|
|
|
}
|
|
@@ -92,7 +129,7 @@ func (er *EnglishReportController) List(c *gin.Context) {
|
|
|
}
|
|
|
|
|
|
func (er *EnglishReportController) Classify(c *gin.Context) {
|
|
|
- req := new(english_classify.ClassifyReq)
|
|
|
+ /*req := new(english_classify.ClassifyReq)
|
|
|
err := c.BindQuery(&req)
|
|
|
if err != nil {
|
|
|
errs, ok := err.(validator.ValidationErrors)
|
|
@@ -102,34 +139,64 @@ func (er *EnglishReportController) Classify(c *gin.Context) {
|
|
|
}
|
|
|
resp.FailData("参数解析失败", errs.Translate(global.Trans), c)
|
|
|
return
|
|
|
- }
|
|
|
+ }*/
|
|
|
item := new(english_classify.Classify)
|
|
|
- parentList, err := item.GetParent(req.ClassifyType)
|
|
|
+ parentList, err := item.GetParent()
|
|
|
if err != nil {
|
|
|
resp.FailMsg("获取失败", "获取失败,Err:"+err.Error(), c)
|
|
|
return
|
|
|
}
|
|
|
- childList, err := item.GetChild(req.ClassifyType)
|
|
|
+ childList, err := item.GetChild()
|
|
|
if err != nil {
|
|
|
resp.FailMsg("获取失败", "获取失败,Err:"+err.Error(), c)
|
|
|
return
|
|
|
}
|
|
|
- parentMap := make(map[int][]*english_classify.ClassifyItem, 0)
|
|
|
+ rootMap := make(map[int][]*english_classify.ClassifyListItem, 0)
|
|
|
+ secondMap := make(map[int][]*english_classify.ClassifyListItem, 0)
|
|
|
+
|
|
|
for _, v := range childList {
|
|
|
- tmp := &english_classify.ClassifyItem{
|
|
|
- Id: v.Id,
|
|
|
- ClassifyName: v.ClassifyName,
|
|
|
- Sort: v.Sort,
|
|
|
- ParentId: v.ParentId,
|
|
|
- ClassifyLabel: v.ClassifyLabel,
|
|
|
- ShowType: v.ShowType,
|
|
|
- ClassifyType: v.ClassifyType,
|
|
|
- IsShow: v.IsShow,
|
|
|
- CreateTime: utils.TimeTransferString(utils.FormatDateTime, v.CreateTime),
|
|
|
- ModifyTime: utils.TimeTransferString(utils.FormatDateTime, v.ModifyTime),
|
|
|
+ if v.ParentId != v.RootId { //三级分类
|
|
|
+ tmp := &english_classify.ClassifyListItem{
|
|
|
+ Id: v.Id,
|
|
|
+ ClassifyName: v.ClassifyName,
|
|
|
+ Sort: v.Sort,
|
|
|
+ ParentId: v.ParentId,
|
|
|
+ RootId: v.RootId,
|
|
|
+ ClassifyLabel: v.ClassifyLabel,
|
|
|
+ ShowType: v.ShowType,
|
|
|
+ ClassifyType: v.ClassifyType,
|
|
|
+ IsShow: v.IsShow,
|
|
|
+ CreateTime: utils.TimeTransferString(utils.FormatDateTime, v.CreateTime),
|
|
|
+ ModifyTime: utils.TimeTransferString(utils.FormatDateTime, v.ModifyTime),
|
|
|
+ }
|
|
|
+ secondMap[v.ParentId] = append(secondMap[v.ParentId], tmp)
|
|
|
}
|
|
|
- parentMap[v.ParentId] = append(parentMap[v.ParentId], tmp)
|
|
|
}
|
|
|
+
|
|
|
+ for _, v := range childList {
|
|
|
+ if v.ParentId == v.RootId { //二级分类
|
|
|
+ tmp := &english_classify.ClassifyListItem{
|
|
|
+ Id: v.Id,
|
|
|
+ ClassifyName: v.ClassifyName,
|
|
|
+ Sort: v.Sort,
|
|
|
+ ParentId: v.ParentId,
|
|
|
+ RootId: v.RootId,
|
|
|
+ ClassifyLabel: v.ClassifyLabel,
|
|
|
+ ShowType: v.ShowType,
|
|
|
+ ClassifyType: v.ClassifyType,
|
|
|
+ IsShow: v.IsShow,
|
|
|
+ CreateTime: utils.TimeTransferString(utils.FormatDateTime, v.CreateTime),
|
|
|
+ ModifyTime: utils.TimeTransferString(utils.FormatDateTime, v.ModifyTime),
|
|
|
+ }
|
|
|
+ if child, ok := secondMap[v.Id]; ok {
|
|
|
+ tmp.Child = child
|
|
|
+ } else {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ rootMap[v.ParentId] = append(rootMap[v.ParentId], tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
list := make([]*english_classify.ClassifyListItem, 0)
|
|
|
for _, v := range parentList {
|
|
|
tmp := &english_classify.ClassifyListItem{
|
|
@@ -137,6 +204,7 @@ func (er *EnglishReportController) Classify(c *gin.Context) {
|
|
|
ClassifyName: v.ClassifyName,
|
|
|
Sort: v.Sort,
|
|
|
ParentId: v.ParentId,
|
|
|
+ RootId: v.RootId,
|
|
|
ClassifyLabel: v.ClassifyLabel,
|
|
|
ShowType: v.ShowType,
|
|
|
ClassifyType: v.ClassifyType,
|
|
@@ -144,7 +212,7 @@ func (er *EnglishReportController) Classify(c *gin.Context) {
|
|
|
CreateTime: utils.TimeTransferString(utils.FormatDateTime, v.CreateTime),
|
|
|
ModifyTime: utils.TimeTransferString(utils.FormatDateTime, v.ModifyTime),
|
|
|
}
|
|
|
- if child, ok := parentMap[v.Id]; ok {
|
|
|
+ if child, ok := rootMap[v.Id]; ok {
|
|
|
tmp.Child = child
|
|
|
} else {
|
|
|
continue
|