1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package instance
- import (
- "encoding/json"
- "errors"
- "eta/eta_chart_lib/facade"
- "eta/eta_chart_lib/models"
- "eta/eta_chart_lib/utils"
- "fmt"
- )
- const (
- bookMarkUrl = "user/bookMark"
- unBookMarkUrl = "user/unBookMark"
- target = "ht"
- )
- type HTCollectionReq struct {
- UniqueCode string `json:"uniqueCode"`
- }
- type HTMiniFacade struct {
- facade.BaseMiniFacade
- }
- type HTResponse struct {
- Ret int
- Msg string
- ErrMsg string
- ErrCode int
- Success bool
- }
- type HTRequest struct {
- facade.BaseRequest
- ChartInfoId int
- ChartName string
- ChartImage string
- SourceType string
- SourceId int
- }
- func dealChartInfo(baseReq facade.BaseRequest) (request HTRequest, err error) {
- chartInfo, err := models.GetChartInfoByUniqueCode(baseReq.UniqueCode)
- if err != nil {
- utils.FileLog.Error("收藏失败,获取图表信息失败:%v", err.Error())
- return
- }
- request = HTRequest{
- BaseRequest: baseReq,
- ChartImage: chartInfo.ChartImage,
- ChartInfoId: chartInfo.ChartInfoId,
- ChartName: chartInfo.ChartName,
- SourceType: "chart",
- SourceId: chartInfo.ChartInfoId,
- }
- return
- }
- func parseResult(resp string) (err error) {
- var response HTResponse
- err = json.Unmarshal([]byte(resp), &response)
- if err != nil {
- utils.FileLog.Error("收藏失败,解析应答失败:%v,应答结果:%s", err.Error(), resp)
- }
- if !response.Success {
- utils.FileLog.Error("收藏失败,应答结果:%d[%s]", response.ErrCode, response.ErrMsg)
- err = errors.New(response.ErrMsg)
- }
- return
- }
- func (ht *HTMiniFacade) Collect(req facade.BaseRequest) (err error) {
- param, err := dealChartInfo(req)
- if err != nil {
- utils.FileLog.Error("收藏失败,获取图表信息失败:%v", err.Error())
- return err
- }
- url := fmt.Sprintf("%s%s", utils.GetMiniUrl(target), bookMarkUrl)
- resp, err := ht.Post(url, param, req.Auth)
- if err != nil {
- utils.FileLog.Error("收藏失败,err:%v,resp:%v", err, resp)
- }
- return parseResult(resp)
- }
- func (ht *HTMiniFacade) UnCollect(req facade.BaseRequest) (err error) {
- param, err := dealChartInfo(req)
- if err != nil {
- utils.FileLog.Error("收藏失败,获取图表信息失败:%v", err.Error())
- return err
- }
- 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 parseResult(resp)
- }
- func init() {
- facade.RegisterMiniFacade(target, &HTMiniFacade{
- BaseMiniFacade: facade.FacadeClient,
- })
- }
|