123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- package models
- import (
- "github.com/beego/beego/v2/client/orm"
- "hongze/hongze_mfyx/utils"
- "time"
- )
- // ActivityVoice 活动语音表结构体
- type CygxActivityVoice struct {
- ActivityVoiceId int `orm:"column(activity_voice_id);pk" description:"活动音频ID"`
- ActivityId int ` description:"活动ID"`
- VoiceUrl string `description:"音频地址"`
- VoiceName string `description:"音频名称"`
- VoicePlaySeconds string `description:"音频时长"`
- VoiceCounts int `description:"播放量"`
- ModifyTime string `description:"更新时间"`
- CreateTime time.Time `description:"创建时间"`
- BackgroundImg string `description:"封面图片"`
- ShareImg string `description:"分享图片"`
- }
- // ActivityVoice 活动语音表结构体
- type CygxActivityVoiceResp struct {
- ActivityVoiceId int `orm:"column(activity_voice_id);pk" description:"活动音频ID"`
- ActivityId int ` description:"活动ID"`
- VoiceUrl string `description:"音频地址"`
- VoiceName string `description:"音频名称"`
- VoicePlaySeconds string `description:"音频时长"`
- VoiceCounts int `description:"播放量"`
- ModifyTime string `description:"更新时间"`
- CreateTime string `description:"创建时间"`
- ChartPermissionId int `description:"权限id"`
- ChartPermissionName string `description:"行业名称"`
- ActivityTime string `description:"活动时间"`
- BackgroundImg string `description:"封面图片"`
- ShareImg string `description:"分享图片"`
- }
- // ActivityVoiceReq 音频数据
- type CygxActivityVoiceReq struct {
- ActivityId int ` description:"活动ID"`
- ActivityVoiceId int ` description:"音频ID"`
- Url string `description:"音频资源url地址"`
- Name string `description:"音频名称"`
- PlaySeconds int `description:"音频时长"`
- }
- // GetCygxActivityVoiceReqList 获取活动ID的音频
- func GetCygxActivityVoiceReqList(activityIds []int) (items []*CygxActivityVoiceReq, err error) {
- lenactivityIds := len(activityIds)
- if lenactivityIds == 0 {
- return
- }
- //活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
- //endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
- sql := `SELECT
- v.activity_id,
- v.activity_voice_id,
- v.voice_url AS url,
- v.voice_name AS name,
- v.voice_play_seconds AS play_seconds
- FROM
- cygx_activity_voice AS v
- INNER JOIN cygx_activity AS a ON a.activity_id = v.activity_id
- WHERE
- 1 = 1 AND v.activity_id IN (` + utils.GetOrmInReplace(lenactivityIds) + `) `
- o := orm.NewOrm()
- _, err = o.Raw(sql, activityIds).QueryRows(&items)
- return
- }
- func UpdateCygxActivityVoiceCounts(activityId int) (err error) {
- sql := `UPDATE cygx_activity_voice SET voice_counts = voice_counts+1 WHERE activity_id = ? `
- o := orm.NewOrm()
- _, err = o.Raw(sql, activityId).Exec()
- return
- }
- // GetCygxActivityVoiceById 主键获取活动音频
- func GetCygxActivityVoiceById(videoId int) (item *CygxActivityVoice, err error) {
- sql := `SELECT * FROM cygx_activity_voice WHERE activity_voice_id = ? LIMIT 1`
- err = orm.NewOrm().Raw(sql, videoId).QueryRow(&item)
- return
- }
- // 获取数量
- func GetCygxActivityVoiceCount(activityId int) (count int, err error) {
- sqlCount := ` SELECT COUNT(1) AS count FROM cygx_activity_voice WHERE activity_id = ? `
- o := orm.NewOrm()
- err = o.Raw(sqlCount, activityId).QueryRow(&count)
- return
- }
- // 列表
- func GetActivityVoiceListAll(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxActivityVideoListResp, err error) {
- o := orm.NewOrm()
- sql := `SELECT art.* FROM cygx_activity as art INNER JOIN cygx_activity_voice AS v ON v.activity_id = art.activity_id WHERE 1= 1 `
- if condition != "" {
- sql += condition
- }
- sql += ` LIMIT ?,?`
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- return
- }
- // GetCygxActivityVoiceByActivityId 主键获取活动音频
- func GetCygxActivityVoiceByActivityId(activityId int) (item *CygxActivityVoice, err error) {
- sql := `SELECT * FROM cygx_activity_voice WHERE activity_id = ? LIMIT 1`
- err = orm.NewOrm().Raw(sql, activityId).QueryRow(&item)
- return
- }
- // 列表
- func GetActivityVoiceList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxActivityVoiceResp, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- v.*,art.chart_permission_id,art.activity_time
- FROM
- cygx_activity_voice AS v
- INNER JOIN cygx_activity as art ON art.activity_id = v.activity_id WHERE 1= 1 `
- if condition != "" {
- sql += condition
- }
- sql += ` LIMIT ?,?`
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- return
- }
- // 获取所有活动音频ID
- func GetActivityVoiceActivityIds() (activityIds string, err error) {
- sql := `SELECT
- GROUP_CONCAT( DISTINCT a.activity_id SEPARATOR ',' ) AS activityids
- FROM
- cygx_activity_voice AS a `
- o := orm.NewOrm()
- err = o.Raw(sql).QueryRow(&activityIds)
- return
- }
- func UpdateActivityVoiceCommentNum(activityId int) (err error) {
- sql := `UPDATE cygx_activity_voice SET comment_num = comment_num+1 WHERE activity_id = ? `
- o := orm.NewOrm()
- _, err = o.Raw(sql, activityId).Exec()
- return
- }
- // 修改
- func UpdateCygxActivityVoice(item *CygxActivityVoice) (err error) {
- to := orm.NewOrm()
- updateParams := make(map[string]interface{})
- updateParams["BackgroundImg"] = item.BackgroundImg
- updateParams["ShareImg"] = item.ShareImg
- ptrStructOrTableName := "cygx_activity_voice"
- whereParam := map[string]interface{}{"activity_id": item.ActivityId}
- qs := to.QueryTable(ptrStructOrTableName)
- for expr, exprV := range whereParam {
- qs = qs.Filter(expr, exprV)
- }
- _, err = qs.Update(updateParams)
- return
- }
|