|
@@ -447,6 +447,7 @@ func GetMediaPageByIds(mediaType string, pageInfo page.PageInfo, mediaIds []int,
|
|
|
productType = ""
|
|
|
}
|
|
|
product, pdErr := productService.GetProductBySourceId(media.MediaId, productType)
|
|
|
+ isFree := true
|
|
|
if pdErr != nil {
|
|
|
if errors.Is(pdErr, gorm.ErrRecordNotFound) {
|
|
|
media.Price = defaultProductPrice
|
|
@@ -460,6 +461,7 @@ func GetMediaPageByIds(mediaType string, pageInfo page.PageInfo, mediaIds []int,
|
|
|
} else {
|
|
|
media.Price = product.Price.String()
|
|
|
media.IsFree = false
|
|
|
+ isFree = false
|
|
|
}
|
|
|
if isLogin {
|
|
|
subscribe, subscribeErr := userService.GetUserSubscribe(product.Id, userId)
|
|
@@ -470,31 +472,45 @@ func GetMediaPageByIds(mediaType string, pageInfo page.PageInfo, mediaIds []int,
|
|
|
}
|
|
|
}
|
|
|
media.RiskLevelStatus = RiskLevelMatch
|
|
|
- pdRiskNum, parseErr := parseRiskLevel(product.RiskLevel)
|
|
|
- if parseErr != nil {
|
|
|
- media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
- return
|
|
|
- }
|
|
|
- rpRiskNum, parseErr := parseRiskLevel(media.RiskLevel)
|
|
|
- if parseErr != nil {
|
|
|
- media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
- return
|
|
|
- }
|
|
|
mappingRiskNum, parseErr := parseRiskLevel(mappingRiskLevel)
|
|
|
if parseErr != nil {
|
|
|
media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
return
|
|
|
}
|
|
|
- if rpRiskNum <= pdRiskNum {
|
|
|
- media.RiskLevel = product.RiskLevel
|
|
|
- if mappingRiskNum < pdRiskNum {
|
|
|
+ if !isFree {
|
|
|
+ var rpRiskNum, pdRiskNum int
|
|
|
+ rpRiskNum, parseErr = parseRiskLevel(media.RiskLevel)
|
|
|
+ if parseErr != nil {
|
|
|
+ media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
+ return
|
|
|
+ }
|
|
|
+ pdRiskNum, parseErr = parseRiskLevel(product.RiskLevel)
|
|
|
+ if parseErr != nil {
|
|
|
media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if rpRiskNum <= pdRiskNum {
|
|
|
+ media.RiskLevel = product.RiskLevel
|
|
|
+ if mappingRiskNum < pdRiskNum {
|
|
|
+ media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if mappingRiskNum < rpRiskNum {
|
|
|
+ media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
+ var rpRiskNum int
|
|
|
+ rpRiskNum, parseErr = parseRiskLevel(media.RiskLevel)
|
|
|
+ if parseErr != nil {
|
|
|
+ media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
+ return
|
|
|
+ }
|
|
|
if mappingRiskNum < rpRiskNum {
|
|
|
media.RiskLevelStatus = RiskLevelUnMatch
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}(&list[i])
|
|
|
}
|
|
|
wg.Wait()
|