|
@@ -4,9 +4,18 @@ import (
|
|
|
"errors"
|
|
|
"eta/eta_mini_crm_ht/models"
|
|
|
"eta/eta_mini_crm_ht/utils"
|
|
|
+ "fmt"
|
|
|
+ "strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
+var (
|
|
|
+ tranMediaMap = map[models.MediaType]string{
|
|
|
+ models.Video: "视频",
|
|
|
+ models.Audio: "音频",
|
|
|
+ }
|
|
|
+)
|
|
|
+
|
|
|
func GetUnsetProductCountByCondition(productType string, permissionIds []int, condition string, pars []interface{}) (total int, ids []int, err error) {
|
|
|
setIds, err := models.GetProductSourceIdsByProductType(productType)
|
|
|
if err != nil {
|
|
@@ -138,7 +147,7 @@ func GetUnsetProductByCondition(productType string, ids []int, sortCondition str
|
|
|
products = append(products, &ProductView{
|
|
|
ProductName: media.MediaName,
|
|
|
SourceId: media.Id,
|
|
|
- ProductType: media.SourceType,
|
|
|
+ ProductType: string(media.MediaType),
|
|
|
PublishedTime: media.PublishedTime.Format(time.DateTime),
|
|
|
})
|
|
|
}
|
|
@@ -156,3 +165,93 @@ type ProductView struct {
|
|
|
RiskLevel string
|
|
|
PublishedTime string
|
|
|
}
|
|
|
+
|
|
|
+func (v ProductView) GetRiskLevel(productType string, id int) (risklevel string) {
|
|
|
+ switch productType {
|
|
|
+ case "report":
|
|
|
+ report, err := models.GetReportById(id)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取报告失败,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ switch report.Source {
|
|
|
+ case models.SourceHT:
|
|
|
+ var permission models.Permission
|
|
|
+ permission, err = models.GetPermissionByName(report.PlateName)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取品种信息,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return permission.RiskLevel
|
|
|
+ case models.SourceETA:
|
|
|
+ var permissionIds []int
|
|
|
+ permissionIds, err = models.GetByPermissionIdsByClassifyId(report.ClassifyId)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取品种信息,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var permissions []models.Permission
|
|
|
+ permissions, err = models.GetPermissionsWithRiskLevel(permissionIds)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取品种信息,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var riskNum int
|
|
|
+ for _, permission := range permissions {
|
|
|
+ if permission.RiskLevel == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ var parseErr error
|
|
|
+ currentNum, parseErr := strconv.Atoi(permission.RiskLevel[1:])
|
|
|
+ if parseErr != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if currentNum > riskNum {
|
|
|
+ riskNum = currentNum
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if riskNum > 0 {
|
|
|
+ return fmt.Sprintf("R%d", riskNum)
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ case "media":
|
|
|
+ media, err := models.GetMediaById("", id)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取媒体信息,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionsIds, err := models.GetPermissionIdsByMediaId(media.MediaType, id)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取媒体信息,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissions, err := models.GetPermissionsWithRiskLevel(permissionsIds)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取媒体信息,无法确认风险等级", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var riskNum int
|
|
|
+ for _, permission := range permissions {
|
|
|
+
|
|
|
+ if permission.RiskLevel == "" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ var parseErr error
|
|
|
+ currentNum, parseErr := strconv.Atoi(permission.RiskLevel[1:])
|
|
|
+ if parseErr != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if currentNum > riskNum {
|
|
|
+ riskNum = currentNum
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if riskNum > 0 {
|
|
|
+ return fmt.Sprintf("R%d", riskNum)
|
|
|
+ }
|
|
|
+ return
|
|
|
+ default:
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|