|
@@ -1,6 +1,7 @@
|
|
|
package models
|
|
|
|
|
|
import (
|
|
|
+ "eta/eta_mini_crm_ht/utils"
|
|
|
"fmt"
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
"strconv"
|
|
@@ -34,6 +35,19 @@ func (m *Media) ToView() *ESMedia {
|
|
|
}
|
|
|
|
|
|
type ESMedia struct {
|
|
|
+ MediaId int `json:"mediaId"`
|
|
|
+ AuthorId int `json:"authorId"`
|
|
|
+ AuthorName string `json:"authorName"`
|
|
|
+ CoverSrc int `json:"coverSrc"`
|
|
|
+ MediaType MediaType `json:"mediaType"`
|
|
|
+ Src string `json:"src"`
|
|
|
+ MediaName string `json:"mediaName"`
|
|
|
+ SourceType string `json:"sourceType"`
|
|
|
+ MediaPlayMilliseconds int `json:"mediaPlayMilliseconds"`
|
|
|
+ PermissionIds string `json:"permissionIds"`
|
|
|
+ PublishedTime string `json:"publishedTime"`
|
|
|
+}
|
|
|
+type MediaView struct {
|
|
|
MediaId int `json:"mediaId"`
|
|
|
AuthorId int `json:"authorId"`
|
|
|
AuthorName string `json:"authorName"`
|
|
@@ -44,11 +58,50 @@ type ESMedia struct {
|
|
|
SourceType string `json:"sourceType"`
|
|
|
MediaPlayMilliseconds int `json:"mediaPlayMilliseconds"`
|
|
|
PermissionIds string `json:"permissionIds"`
|
|
|
+ PermissionNames string `json:"permission_names"`
|
|
|
PublishedTime string `json:"publishedTime"`
|
|
|
}
|
|
|
|
|
|
-func (m *Media) ToMessageView() *MessageMedia {
|
|
|
- return &MessageMedia{
|
|
|
+func (m *Media) ToMediaView() (message *MediaView) {
|
|
|
+ message = &MediaView{
|
|
|
+ MediaId: m.Id,
|
|
|
+ AuthorId: m.AuthorId,
|
|
|
+ AuthorName: m.AuthorName,
|
|
|
+ MediaType: m.MediaType,
|
|
|
+ Src: m.Src,
|
|
|
+ MediaName: m.MediaName,
|
|
|
+ SourceType: m.SourceType,
|
|
|
+ MediaPlayMilliseconds: m.MediaPlayMilliseconds,
|
|
|
+ PermissionIds: m.PermissionIds,
|
|
|
+ PublishedTime: m.PublishedTime.Format(time.DateTime),
|
|
|
+ }
|
|
|
+ image, err := GetImageById(m.CoverSrc)
|
|
|
+ if err != nil || image == nil {
|
|
|
+ message.CoverSrc = ""
|
|
|
+ }
|
|
|
+ message.CoverSrc = image.SrcUrl
|
|
|
+ ids := strings.Split(m.PermissionIds, ",")
|
|
|
+ var idList []int
|
|
|
+ for _, id := range ids {
|
|
|
+ var idInt int
|
|
|
+ idInt, err = strconv.Atoi(id)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("转换品种名称失败:%v", err)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ idList = append(idList, idInt)
|
|
|
+ }
|
|
|
+ if len(idList) > 0 {
|
|
|
+ names, err := GetPermissionNames(idList)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取品种名称失败:%v", err)
|
|
|
+ }
|
|
|
+ message.PermissionNames = strings.Join(names, ",")
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+func (m *Media) ToMessageView() (message *MessageMedia) {
|
|
|
+ message = &MessageMedia{
|
|
|
MediaId: m.Id,
|
|
|
AuthorId: m.AuthorId,
|
|
|
AuthorName: m.AuthorName,
|
|
@@ -61,6 +114,30 @@ func (m *Media) ToMessageView() *MessageMedia {
|
|
|
PermissionIds: m.PermissionIds,
|
|
|
PublishedTime: m.PublishedTime.Format(time.DateTime),
|
|
|
}
|
|
|
+ image, err := GetImageById(m.CoverSrc)
|
|
|
+ if err != nil || image == nil {
|
|
|
+ message.CoverSrc = ""
|
|
|
+ }
|
|
|
+ message.CoverSrc = image.SrcUrl
|
|
|
+ ids := strings.Split(m.PermissionIds, ",")
|
|
|
+ var idList []int
|
|
|
+ for _, id := range ids {
|
|
|
+ var idInt int
|
|
|
+ idInt, err = strconv.Atoi(id)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("转换品种名称失败:%v", err)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ idList = append(idList, idInt)
|
|
|
+ }
|
|
|
+ if len(idList) > 0 {
|
|
|
+ names, err := GetPermissionNames(idList)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Error("获取品种名称失败:%v", err)
|
|
|
+ }
|
|
|
+ message.PermissionNames = strings.Join(names, ",")
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
type MessageMedia struct {
|
|
@@ -75,13 +152,14 @@ type MessageMedia struct {
|
|
|
SendStatus SendStatus `json:"sendStatus"`
|
|
|
MediaPlayMilliseconds int `json:"mediaPlayMilliseconds"`
|
|
|
PermissionIds string `json:"permissionIds"`
|
|
|
+ PermissionNames string `description:"permission_names"`
|
|
|
PublishedTime string `json:"publishedTime"`
|
|
|
}
|
|
|
type Media struct {
|
|
|
Id int `orm:"pk;auto" description:"id"`
|
|
|
AuthorId int `description:"author_id"`
|
|
|
AuthorName string `description:"author_name"`
|
|
|
- CoverSrc string `description:"cover_src"`
|
|
|
+ CoverSrc int `description:"cover_src"`
|
|
|
MediaType MediaType `description:"media_type"`
|
|
|
Src string `description:"src"`
|
|
|
MediaName string `description:"media_name"`
|
|
@@ -97,7 +175,7 @@ type Media struct {
|
|
|
|
|
|
func GetMediaCountByCondition(media MediaType, condition string, pars []interface{}) (count int, err error) {
|
|
|
o := orm.NewOrm()
|
|
|
- sql := `SELECT COUNT(*) AS count FROM media WHERE 1=1 AND media_type=? `
|
|
|
+ sql := `SELECT COUNT(*) AS count FROM media WHERE 1 =1 AND media_type = ? `
|
|
|
if condition != "" {
|
|
|
sql += condition
|
|
|
}
|
|
@@ -107,14 +185,14 @@ func GetMediaCountByCondition(media MediaType, condition string, pars []interfac
|
|
|
|
|
|
func GetMediaByCondition(media MediaType, condition string, sortCondition string, pars []interface{}, startPage, pageSize int) (items []*Media, err error) {
|
|
|
o := orm.NewOrm()
|
|
|
- sql := `SELECT * FROM media WHERE 1=1 AND media_type=?`
|
|
|
+ sql := `SELECT * FROM media WHERE 1 = 1 AND media_type = ? AND deleted=0`
|
|
|
if condition != "" {
|
|
|
sql += condition
|
|
|
}
|
|
|
if sortCondition != "" {
|
|
|
sql += sortCondition // 排序
|
|
|
}
|
|
|
- sql += ` LIMIT ?,?`
|
|
|
+ sql += ` LIMIT ?, ?`
|
|
|
_, err = o.Raw(sql, media, pars, startPage, pageSize).QueryRows(&items)
|
|
|
return
|
|
|
}
|