123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- package user
- import (
- "eta/eta_mini_ht_api/common/component/cache"
- "eta/eta_mini_ht_api/common/exception"
- "eta/eta_mini_ht_api/controllers"
- chartService "eta/eta_mini_ht_api/service/media"
- "eta/eta_mini_ht_api/service/user"
- userService "eta/eta_mini_ht_api/service/user"
- )
- // BookMarkController Operations about bookmark
- type BookMarkController struct {
- controllers.BaseController
- redis *cache.RedisCache
- }
- const (
- Chart = "chart"
- Report = "report"
- )
- func (u *BookMarkController) Prepare() {
- u.redis = cache.GetInstance()
- }
- type BookMarkReq struct {
- SourceType string `json:"sourceType"`
- SourceId int `json:"sourceId"`
- ChartImage string `json:"chartImage"`
- ChartInfoId int `json:"chartInfoId"`
- ChartName string `json:"chartName"`
- UniqueCode string `json:"uniqueCode"`
- }
- // BookMark 收藏
- // @Summary 收藏
- // @Description 收藏
- // @Success 200 {object} controllers.BaseResponse
- // @router /bookMark [post]
- func (u *BookMarkController) BookMark() {
- controllers.Wrap(&u.BaseController, func() (result *controllers.WrapData, err error) {
- result = u.InitWrapData("收藏失败")
- bookMark := new(BookMarkReq)
- u.GetPostParams(bookMark)
- var userInfo user.User
- userInfo = u.Data["user"].(user.User)
- if bookMark.SourceType == "" {
- u.FailedResult("收藏失败", result)
- err = exception.New(exception.IllegalSourceType)
- return
- }
- if bookMark.SourceId == 0 {
- u.FailedResult("收藏失败", result)
- err = exception.New(exception.IllegalSourceId)
- return
- }
- err = userService.BookMark(userInfo.Id, bookMark.SourceId, bookMark.SourceType)
- if err != nil {
- err = exception.NewWithException(exception.FeedBackError, err.Error())
- u.FailedResult("收藏失败", result)
- return
- }
- //将图表加入es
- if bookMark.SourceType == Chart {
- chartService.AddChartToEs(chartService.ChartInfo{
- ChartImage: bookMark.ChartImage,
- ChartInfoId: bookMark.ChartInfoId,
- ChartName: bookMark.ChartName,
- UniqueCode: bookMark.UniqueCode,
- })
- }
- u.SuccessResult("收藏成功", nil, result)
- return
- })
- }
- // UnBookMark 取消收藏
- // @Summary 取消收藏
- // @Description 取消收藏
- // @Success 200 {object} controllers.BaseResponse
- // @router /unBookMark [post]
- func (u *BookMarkController) UnBookMark() {
- controllers.Wrap(&u.BaseController, func() (result *controllers.WrapData, err error) {
- result = u.InitWrapData("取消收藏失败")
- bookMark := new(BookMarkReq)
- u.GetPostParams(bookMark)
- var userInfo user.User
- userInfo = u.Data["user"].(user.User)
- if bookMark.SourceType == "" {
- u.FailedResult("取消收藏失败", result)
- err = exception.New(exception.IllegalSourceType)
- return
- }
- if bookMark.SourceId == 0 {
- u.FailedResult("取消收藏失败", result)
- err = exception.New(exception.IllegalSourceId)
- return
- }
- err = userService.UnBookMark(userInfo.Id, bookMark.SourceId, bookMark.SourceType)
- if err != nil {
- err = exception.NewWithException(exception.FeedBackError, err.Error())
- u.FailedResult("取消收藏失败", result)
- return
- }
- u.SuccessResult("收藏成功", nil, result)
- return
- })
- }
- type CheckBookMarkResp struct {
- IsBookMarked bool `json:"isBookMarked"`
- }
- // CheckBookMark 取消收藏
- // @Summary 取消收藏
- // @Description 取消收藏
- // @Success 200 {object} controllers.BaseResponse
- // @router /checkBookMark [post]
- func (u *BookMarkController) CheckBookMark() {
- controllers.Wrap(&u.BaseController, func() (result *controllers.WrapData, err error) {
- result = u.InitWrapData("取消收藏失败")
- bookMark := new(BookMarkReq)
- u.GetPostParams(bookMark)
- var userInfo user.User
- userInfo = u.Data["user"].(user.User)
- if bookMark.SourceType == "" {
- u.FailedResult("获取是否收藏失败", result)
- err = exception.New(exception.IllegalSourceType)
- return
- }
- if bookMark.SourceId == 0 {
- u.FailedResult("获取是否收藏失败", result)
- err = exception.New(exception.IllegalSourceId)
- return
- }
- isBookMarked, err := userService.CheckBookMarkStatus(userInfo.Id, bookMark.SourceId, bookMark.SourceType)
- if err != nil {
- err = exception.NewWithException(exception.FeedBackError, err.Error())
- u.FailedResult("获取是否收藏失败", result)
- return
- }
- u.SuccessResult("获取是否收藏成功", &CheckBookMarkResp{
- IsBookMarked: isBookMarked,
- }, result)
- return
- })
- }
|