|
@@ -2,10 +2,13 @@ package controllers
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"hongze/hongze_cygx/models"
|
|
|
"hongze/hongze_cygx/services"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -58,6 +61,7 @@ func (this *ChartController) Collection() {
|
|
|
return
|
|
|
}
|
|
|
mobile := user.Mobile
|
|
|
+ uid := user.UserId
|
|
|
resp := new(models.HomeChartListItem)
|
|
|
if mobile == "" {
|
|
|
br.Ret = 200
|
|
@@ -71,21 +75,60 @@ func (this *ChartController) Collection() {
|
|
|
}
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ var startSize int
|
|
|
if pageSize <= 0 {
|
|
|
pageSize = utils.PageSize20
|
|
|
}
|
|
|
if currentIndex <= 0 {
|
|
|
currentIndex = 1
|
|
|
- pageSize = 0
|
|
|
}
|
|
|
- list, err, total := services.GetChartCollectionByApi(mobile, pageSize, (currentIndex-1)*pageSize)
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+ //list, err, total := services.GetChartCollectionByApi(mobile, pageSize, (currentIndex-1)*pageSize)
|
|
|
+ //if err != nil {
|
|
|
+ // br.Msg = "获取图表分类失败!"
|
|
|
+ // br.ErrMsg = "获取图表分类失败"
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ list, err, _ := services.GetChartCollectionByApi(mobile, 9999, 0)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取图表分类失败!"
|
|
|
br.ErrMsg = "获取图表分类失败"
|
|
|
return
|
|
|
}
|
|
|
+ var chartIds string
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ if len(list) > 0 {
|
|
|
+ for _, v := range list {
|
|
|
+ chartIds += strconv.Itoa(v.ChartId) + ","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ chartIds = strings.TrimRight(chartIds, ",")
|
|
|
+ if chartIds == "" {
|
|
|
+ chartIds = "0"
|
|
|
+ }
|
|
|
+ condition = ` AND a.chart_id IN (` + chartIds + `) `
|
|
|
+ total, err := models.GetChartCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子总数失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ startSize = paging.StartIndex(currentIndex, pageSize)
|
|
|
+ listCollection, err := models.GetChartListCollection(chartIds, uid, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.Msg = "获取帖子总数失败,GetChartListCollection Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range listCollection {
|
|
|
+ if v.NumTop > 0 {
|
|
|
+ listCollection[k].IsTop = true
|
|
|
+ }
|
|
|
+ }
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
- resp.List = list
|
|
|
+ resp.List = listCollection
|
|
|
resp.Paging = page
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -126,6 +169,13 @@ func (this *ChartController) Detail() {
|
|
|
br.ErrMsg = "获取信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ GetIsCollectionChart, err := services.GetIsCollectionChart(mobile, chartId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取三方关注信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ detail.IsCollection = GetIsCollectionChart
|
|
|
if detail.CollectionNum > 0 {
|
|
|
detail.IsCollection = true
|
|
|
}
|
|
@@ -153,6 +203,7 @@ func (this *ChartController) ChartCollect() {
|
|
|
return
|
|
|
}
|
|
|
uid := user.UserId
|
|
|
+ mobile := user.Mobile
|
|
|
var req models.ChartCollectReq
|
|
|
err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
@@ -195,6 +246,20 @@ func (this *ChartController) ChartCollect() {
|
|
|
br.Msg = "已取消收藏"
|
|
|
resp.Status = 2
|
|
|
}
|
|
|
+
|
|
|
+ GetIsCollectionChart, err := services.GetIsCollectionChart(mobile, req.ChartId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取三方关注信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println("GetIsCollectionChart", GetIsCollectionChart)
|
|
|
+ //如果存在就取消收藏、反之添加收藏
|
|
|
+ if GetIsCollectionChart {
|
|
|
+ go services.DeleteCollectionChart(mobile, req.ChartId)
|
|
|
+ } else {
|
|
|
+ go services.AddCollectionChart(mobile, req.ChartId)
|
|
|
+ }
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Data = resp
|