Browse Source

conversrc->converUrl

kobe6258 4 months ago
parent
commit
9e0adb65a6

+ 10 - 1
controllers/media/media_controller.go

@@ -177,7 +177,7 @@ func (m *MediaController) Count() {
 // @Description 获取媒体详情
 // @Success 200 {object}
 // @router /media [get]
-func (m *MediaController) GetMedia(mediaType string, mediaId int) {
+func (m *MediaController) GetMedia(mediaType string, mediaId int, productId int) {
 	controllers.Wrap(&m.BaseController, func() (result *controllers.WrapData, err error) {
 		result = m.InitWrapData("获取媒体详情失败")
 		if mediaType == "" || !m.CheckMediaType(mediaType) {
@@ -187,11 +187,20 @@ func (m *MediaController) GetMedia(mediaType string, mediaId int) {
 		}
 		userInfo := m.Data["user"].(user.User)
 		detailType := m.Data["detailType"].(string)
+		var subscribeStatus string
+		if productId > 0 {
+			go func() {
+				subscribeStatus = user.GetUserScribeStatus(productId, userInfo.Id)
+			}()
+		} else {
+			subscribeStatus = user.UnSubscribe
+		}
 		mediaDetail, err := media.GetMediaById(mediaType, mediaId, isLogin(detailType), userInfo.Id)
 		if err != nil {
 			m.FailedResult("获取媒体详情失败", result)
 			return
 		}
+		mediaDetail.SubscribeStatus = subscribeStatus
 		m.SuccessResult("获取媒体详情成功", mediaDetail, result)
 		return
 	})

+ 15 - 6
controllers/report/report_controller.go

@@ -6,7 +6,7 @@ import (
 	"eta/eta_mini_ht_api/common/exception"
 	"eta/eta_mini_ht_api/common/utils/page"
 	"eta/eta_mini_ht_api/controllers"
-	reportService "eta/eta_mini_ht_api/domian/report"
+	reportDomian "eta/eta_mini_ht_api/domian/report"
 	"eta/eta_mini_ht_api/service/report"
 	"eta/eta_mini_ht_api/service/user"
 )
@@ -46,7 +46,7 @@ func (r *ReportController) Search(key string) {
 		}
 		if len(reportIds) == 0 {
 			reports := new(page.PageResult)
-			reports.Data = []reportService.ReportDTO{}
+			reports.Data = []reportDomian.ReportDTO{}
 			reports.Page = pageRes
 			logger.Info("没有可以查询的报告列表")
 			r.SuccessResult("分页搜索报告列表成功", reports, result)
@@ -62,7 +62,7 @@ func (r *ReportController) Search(key string) {
 			pageRes.Total = r.PageInfo.Total
 		}
 		pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
-		list := make([]reportService.ReportDTO, 0)
+		list := make([]reportDomian.ReportDTO, 0)
 		if pageRes.LatestId > 0 {
 			list, err = report.SearchReportList(key, reportIds, r.PageInfo, isLogin(detailType), userInfo.Id, mappingRiskLevel, userRiskStatus)
 			if err != nil {
@@ -105,7 +105,7 @@ func (r *ReportController) List(permissionIds string) {
 		pageRes.Total, pageRes.LatestId, reportOrgIds, discardIds, mappingRiskLevel, UserRiskStatus = report.GetTotalPageCountByPermissionIds(permissionIdList, isLogin(detailType), userInfo.Id)
 		if pageRes.Total == 0 {
 			reports := new(page.PageResult)
-			reports.Data = []reportService.ReportDTO{}
+			reports.Data = []reportDomian.ReportDTO{}
 			reports.Page = pageRes
 			r.SuccessResult("查询报告列表成功", reports, result)
 		}
@@ -119,7 +119,7 @@ func (r *ReportController) List(permissionIds string) {
 		if len(reportOrgIds) == 0 {
 			logger.Info("没有搜索到相关品种的报告,返回空列表")
 			reports := new(page.PageResult)
-			reports.Data = []reportService.ReportDTO{}
+			reports.Data = []reportDomian.ReportDTO{}
 			reports.Page = pageRes
 			r.SuccessResult("查询报告列表成功", reports, result)
 			return
@@ -358,7 +358,7 @@ func (r *ReportController) Count() {
 // @Description 获取研报详情
 // @Success 200 {object}
 // @router /report [get]
-func (r *ReportController) GetReport(reportId int) {
+func (r *ReportController) GetReport(reportId int, productId int) {
 	controllers.Wrap(&r.BaseController, func() (result *controllers.WrapData, err error) {
 		result = r.InitWrapData("获取研报详情失败")
 		userInfo := r.Data["user"].(user.User)
@@ -366,12 +366,21 @@ func (r *ReportController) GetReport(reportId int) {
 		if !isLogin(detailType) {
 			logger.Info("当前用户未登录,展示部分详情")
 		}
+		var subscribeStatus string
+		if productId > 0 {
+			go func() {
+				subscribeStatus = user.GetUserScribeStatus(productId, userInfo.Id)
+			}()
+		} else {
+			subscribeStatus = user.UnSubscribe
+		}
 		reportDetail, err := report.GetReportById(reportId, isLogin(detailType), userInfo.Id)
 		if err != nil {
 			r.FailedResult("获取研报详情失败", result)
 			err = exception.New(exception.GetReportFailed)
 			return
 		}
+		reportDetail.SubscribeStatus = subscribeStatus
 		r.SuccessResult("获取研报详情成功", reportDetail, result)
 		return
 	})

+ 1 - 0
domian/media/media_service.go

@@ -67,6 +67,7 @@ type MediaDTO struct {
 	IsFree                bool     `json:"isFree"`
 	Price                 string   `json:"price"`
 	IsSubscribe           bool     `json:"isSubscribe"`
+	SubscribeStatus       string   `json:"subscribeStatus"`
 	IsPackage             bool     `json:"isPackage"`
 	RiskLevel             string   `json:"riskLevel"`
 	ProductId             int      `json:"productId"`

+ 1 - 0
domian/report/report_service.go

@@ -89,6 +89,7 @@ type ReportDTO struct {
 	RiskLevelStatus string          `json:"riskLevelStatus"`
 	IsFree          bool            `json:"isFree"`
 	IsSubscribe     bool            `json:"isSubscribe"`
+	SubscribeStatus string          `json:"subscribeStatus"`
 	Price           string          `json:"price"`
 	ProductId       int             `json:"productId"`
 	IsPackage       bool            `json:"isPackage"`

+ 2 - 0
routers/commentsRouter.go

@@ -47,6 +47,7 @@ func init() {
             MethodParams: param.Make(
 				param.New("mediaType"),
 				param.New("mediaId"),
+				param.New("productId"),
 			),
             Filters: nil,
             Params: nil})
@@ -250,6 +251,7 @@ func init() {
             AllowHTTPMethods: []string{"get"},
             MethodParams: param.Make(
 				param.New("reportId"),
+				param.New("productId"),
 			),
             Filters: nil,
             Params: nil})

+ 32 - 0
service/user/user_service.go

@@ -7,6 +7,7 @@ import (
 	permissionService "eta/eta_mini_ht_api/domian/config"
 	analystService "eta/eta_mini_ht_api/domian/financial_analyst"
 	userService "eta/eta_mini_ht_api/domian/user"
+	merchantDao "eta/eta_mini_ht_api/models/merchant"
 	"eta/eta_mini_ht_api/service/config"
 	"gorm.io/gorm"
 	"sort"
@@ -18,6 +19,10 @@ const (
 	RiskValid   = "valid"
 	RiskExpired = "expired"
 	RiskUnTest  = "unTest"
+
+	SubscribeExpired = "expired"
+	UnSubscribe      = "unSubscribe"
+	Subscribing      = "Subscribing"
 )
 
 type User struct {
@@ -447,3 +452,30 @@ func GetUserByTemplateUserId(templateUserId int) (officialUser userService.Offic
 	}
 	return
 }
+
+func GetUserScribeStatus(productId int, templateUserId int) (subscribe string) {
+	userSubscribe, err := userService.GetUserSubscribe([]int{productId}, templateUserId)
+	if err != nil {
+		logger.Error("获取用户订阅状态失败:%v", err)
+		return UnSubscribe
+	}
+
+	if len(userSubscribe) == 0 {
+		return UnSubscribe
+	}
+	if userSubscribe[0].ProductType != merchantDao.Package && userSubscribe[0].Status == merchantDao.SubscribeExpired {
+		logger.Error("用户订阅状态异常:%v,单品状态为过期,productId:%d", productId)
+		return UnSubscribe
+	}
+	switch userSubscribe[0].Status {
+	case
+		merchantDao.SubscribeClose:
+		return UnSubscribe
+	case merchantDao.SubscribeExpired:
+		return SubscribeExpired
+	case merchantDao.SubscribeValid:
+		return Subscribing
+	default:
+		return UnSubscribe
+	}
+}