Browse Source

小程序图表详情展示增加是否收藏判断

kobe6258 1 month ago
parent
commit
16d59af580
3 changed files with 39 additions and 11 deletions
  1. 17 8
      controllers/chart.go
  2. 17 3
      facade/instance/ht_mini_facade.go
  3. 5 0
      facade/mini_facde.go

+ 17 - 8
controllers/chart.go

@@ -39,6 +39,7 @@ func (this *ChartController) ChartInfoDetail() {
 	uniqueCode := this.GetString("UniqueCode")
 	token := this.GetString("Token")
 	source, _ := this.GetInt("Source")
+	miniSource := this.GetString("MiniSource")
 	if uniqueCode == "" {
 		br.Msg = "参数错误"
 		br.ErrMsg = "参数错误,uniqueCode is empty"
@@ -55,16 +56,24 @@ func (this *ChartController) ChartInfoDetail() {
 		return
 	}
 	var isCollect bool
-	if source == utils.CHART_SOURCE_DW && token != "" {
-		tmpIsCollect, err := dwmini.GetMyChartIsCollect(token, uniqueCode)
-		if err != nil {
-			br.Msg = "获取失败"
-			br.ErrMsg = "获取收藏状态失败,Err:" + err.Error()
-			return
+	if miniSource != "" {
+		auth := this.Ctx.Request.Header.Get("Authorization")
+		param := facade.BaseRequest{
+			Auth:       auth,
+			UniqueCode: uniqueCode,
+		}
+		facade.FacadeClient.Deal(param).IsCollect(facade.GetInstance(miniSource))
+	} else {
+		if source == utils.CHART_SOURCE_DW && token != "" {
+			tmpIsCollect, err := dwmini.GetMyChartIsCollect(token, uniqueCode)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取收藏状态失败,Err:" + err.Error()
+				return
+			}
+			isCollect = tmpIsCollect
 		}
-		isCollect = tmpIsCollect
 	}
-
 	//判断是否有缓存
 	if utils.Re == nil {
 		if utils.Re == nil && utils.Rc.IsExist(key) {

+ 17 - 3
facade/instance/ht_mini_facade.go

@@ -10,9 +10,10 @@ import (
 )
 
 const (
-	bookMarkUrl   = "user/bookMark"
-	unBookMarkUrl = "user/unBookMark"
-	target        = "ht"
+	bookMarkUrl      = "user/bookMark"
+	unBookMarkUrl    = "user/unBookMark"
+	checkBookMarkUrl = "user/checkBookMark"
+	target           = "ht"
 )
 
 type HTCollectionReq struct {
@@ -91,6 +92,19 @@ func (ht *HTMiniFacade) UnCollect(req facade.BaseRequest) (err error) {
 	}
 	return parseResult(resp)
 }
+func (ht *HTMiniFacade) IsCollect(req facade.BaseRequest) bool {
+	param, err := dealChartInfo(req)
+	if err != nil {
+		utils.FileLog.Error("获取是否收藏失败,获取图表信息失败:%v", err.Error())
+		return false
+	}
+	url := fmt.Sprintf("%s%s", utils.GetMiniUrl(target), unBookMarkUrl)
+	resp, err := ht.Post(url, param, req.Auth)
+	if err != nil {
+		utils.FileLog.Error("获取是否收藏失败,err:%v,resp:%v", err, resp)
+	}
+	return false
+}
 func init() {
 	facade.RegisterMiniFacade(target, &HTMiniFacade{
 		BaseMiniFacade: facade.FacadeClient,

+ 5 - 0
facade/mini_facde.go

@@ -34,6 +34,7 @@ func GetInstance(name string) ChartCollect {
 type ChartCollect interface {
 	Collect(data BaseRequest) (err error)
 	UnCollect(data BaseRequest) (err error)
+	IsCollect(data BaseRequest) bool
 }
 
 type BaseRequest struct {
@@ -79,6 +80,10 @@ func (bm *BaseMiniFacade) HandleAction(action string, handler ChartCollect) (act
 	return
 }
 
+func (bm *BaseMiniFacade) IsCollect(handler ChartCollect) bool {
+	return handler.IsCollect(bm.data)
+}
+
 type BaseMiniFacade struct {
 	client *HttpClient
 	data   BaseRequest //返回参数