123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- package yb
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- // Activity 活动表
- type Activity struct {
- ActivityId int `orm:"column(activity_id);pk" description:"活动ID"`
- FirstActivityTypeId int `description:"第一级的活动类型ID"`
- FirstActivityTypeName string `description:"第一级的活动类型名称"`
- ActivityTypeId int `description:"活动类型ID"`
- ActivityTypeName string `description:"活动类型名称"`
- ActivityName string `description:"活动标题"`
- StartTime time.Time `description:"活动开始时间"`
- EndTime time.Time `description:"活动结束时间"`
- Speaker string `description:"主讲人"`
- SpeakerHeadPic string `description:"主讲人头像"`
- SpeakerBackgroundPic string `description:"主讲人背景图"`
- MainlandTel string `description:"大陆拨入"`
- HongKongTel string `description:"香港拨入"`
- TaiwanTel string `description:"台湾拨入"`
- AmericaTel string `description:"美国拨入"`
- SingaporeTel string `description:"新加坡拨入"`
- ParticipationCode string `description:"参会密码"`
- LinkParticipants string `description:"参会链接"`
- IsLimitPeople int8 `description:"是否限制人数 1是,0否"`
- LimitPeopleNum int `description:"限制人数数量"`
- ReportId int `description:"报告链接所关联的文章ID"`
- ReportLink string `description:"报告链接"`
- ReportName string `description:"报告标题"`
- City string `description:"城市"`
- Address string `description:"活动地址"`
- Remarks string `description:"备注"`
- UserId int `description:"创建者id"`
- PublishStatus int8 `description:"发布状态,0未发布,1已发布"`
- IsSendWxMsg int8 `description:"是否推送过会议提醒微信消息,未推送:0,已推送:1"`
- IsSendSalonWxMsg int8 `description:"是否推送过沙龙提醒微信消息,未推送:0,已推送:1"`
- IsDelete int8 `description:"是否删除,0:未删除,1:已删除"`
- ModifyTime time.Time `description:"修改时间"`
- CreateTime time.Time `description:"创建时间"`
- QsId int `description:"全时会议关系id"`
- HostCode string `description:"主持人入会密码"`
- IsNewReport int `description:"是否关联新报告 0-否 1-是"`
- }
- // TableName 表名变更
- func (activityInfo *Activity) TableName() string {
- return "yb_activity"
- }
- // GetById 根据id获取活动详情
- func GetById(activityId int) (item *Activity, err error) {
- o := orm.NewOrm()
- sql := "select * from yb_activity where activity_id=? AND is_delete = 0 "
- err = o.Raw(sql, activityId).QueryRow(&item)
- return
- }
- type ActivityList struct {
- ActivityId int `orm:"column(activity_id);pk" description:"活动ID"`
- FirstActivityTypeId int `description:"第一级的活动类型ID"`
- FirstActivityTypeName string `description:"第一级的活动类型名称"`
- ActivityTypeId int `description:"活动类型ID"`
- ActivityTypeName string `description:"活动类型名称"`
- ActivityName string `description:"活动标题"`
- StartTime time.Time `description:"活动开始时间"`
- EndTime time.Time `description:"活动结束时间"`
- Speaker string `description:"主讲人"`
- MainlandTel string `description:"大陆拨入"`
- HongKongTel string `description:"香港拨入"`
- TaiwanTel string `description:"台湾拨入"`
- AmericaTel string `description:"美国拨入"`
- SingaporeTel string `description:"新加坡拨入"`
- ParticipationCode string `description:"参会密码"`
- LinkParticipants string `description:"参会链接"`
- IsLimitPeople int8 `description:"是否限制人数 1是,0否"`
- LimitPeopleNum int `description:"限制人数数量"`
- ReportId int `description:"报告链接所关联的文章ID"`
- ReportLink string `description:"报告链接"`
- ReportName string `description:"报告标题"`
- City string `description:"城市"`
- Address string `description:"活动地址"`
- Remarks string `description:"备注"`
- UserId int `description:"创建者id"`
- PublishStatus int8 `description:"发布状态,0未发布,1已发布"`
- IsSendWxMsg int8 `description:"是否推送过会议提醒微信消息,未推送:0,已推送:1"`
- IsSendSalonWxMsg int8 `description:"是否推送过沙龙提醒微信消息,未推送:0,已推送:1"`
- ModifyTime time.Time `description:"修改时间"`
- CreateTime time.Time `description:"创建时间"`
- VoiceList []*ActivityVoice `description:"音频文件列表"`
- PosterList []*ActivityPoster `description:"海报文件列表"`
- PermissionList []*ActivityPermission `description:"权限列表"`
- QsId int `description:"全时关联会议id"`
- HostCode string `description:"主持人入会密码"`
- IsNewReport int `description:"是否关联新报告 0-否 1-是"`
- }
- // GetList 获取活动列表数据
- func GetList(condition, order string, pars []interface{}, startSize, pageSize int) (total int, list []*ActivityList, err error) {
- o := orm.NewOrm()
- sql := "select * from yb_activity where 1=1 AND is_delete = 0 "
- sql += condition
- sql += ` order by`
- if order == "" {
- order = " start_time ASC"
- }
- sql += order
- totalSql := `select count(1) total from (` + sql + `) z `
- err = o.Raw(totalSql, pars).QueryRow(&total)
- if err != nil {
- return
- }
- sql += ` LIMIT ?,? `
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
- return
- }
- // Update 更新活动
- func (activityInfo *Activity) Update(cols []string) (err error) {
- o := orm.NewOrm()
- _, err = o.Update(activityInfo, cols...)
- return
- }
- // AddActivity 新增活动
- func AddActivity(activity *Activity) (err error) {
- o := orm.NewOrm()
- id, err := o.Insert(activity)
- if err != nil {
- return
- }
- activity.ActivityId = int(id)
- return
- }
- // AddNewActivity 添加一个新的活动
- func AddNewActivity(activity *Activity, activityPosterList []*ActivityPoster, activityPermissionList []*ActivityPermission) (err error) {
- o := orm.NewOrm()
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- id, err := to.Insert(activity)
- if err != nil {
- return
- }
- activity.ActivityId = int(id)
- // 新增海报
- if len(activityPosterList) > 0 {
- for _, activityPoster := range activityPosterList {
- activityPoster.ActivityId = activity.ActivityId
- }
- _, tmpErr := to.InsertMulti(len(activityPosterList), activityPosterList)
- if tmpErr != nil {
- err = tmpErr
- return
- }
- }
- // 新增权限
- if len(activityPermissionList) > 0 {
- for _, activityPermission := range activityPermissionList {
- activityPermission.ActivityId = activity.ActivityId
- }
- _, tmpErr := to.InsertMulti(len(activityPermissionList), activityPermissionList)
- if tmpErr != nil {
- err = tmpErr
- return
- }
- }
- return
- }
- // UpdateActivity 更新活动
- func (activityInfo *Activity) UpdateActivity(cols []string, activityPosterList []*ActivityPoster, activityVoiceList []*ActivityVoice, activityPermissionList []*ActivityPermission) (err error) {
- o := orm.NewOrm()
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- _, err = to.Update(activityInfo, cols...)
- if err != nil {
- return
- }
- //海报处理
- //删除旧的海报
- sql := "delete from yb_activity_poster where activity_id=?"
- _, err = to.Raw(sql, activityInfo.ActivityId).Exec()
- if err != nil {
- return
- }
- //插入新的海报
- if len(activityPosterList) > 0 {
- _, tmpErr := to.InsertMulti(len(activityPosterList), activityPosterList)
- if tmpErr != nil {
- err = tmpErr
- return
- }
- }
- //权限处理
- //删除旧的权限
- sql = "delete from yb_activity_permission where activity_id=?"
- _, err = to.Raw(sql, activityInfo.ActivityId).Exec()
- //插入新的权限
- if len(activityPermissionList) > 0 {
- _, tmpErr := to.InsertMulti(len(activityPermissionList), activityPermissionList)
- if tmpErr != nil {
- err = tmpErr
- return
- }
- }
- //音频处理
- //删除旧的音频
- sql = "delete from yb_activity_voice where activity_id=?"
- _, err = to.Raw(sql, activityInfo.ActivityId).Exec()
- //插入新的音频
- if len(activityVoiceList) > 0 {
- _, tmpErr := to.InsertMulti(len(activityVoiceList), activityVoiceList)
- if tmpErr != nil {
- err = tmpErr
- return
- }
- }
- return
- }
- // GetCountBySpeaker 获取主讲人活动次数
- func GetCountBySpeaker(speakerName string) (total int, err error) {
- o := orm.NewOrm()
- sql := `SELECT COUNT(1) FROM yb_activity WHERE speaker = ? AND is_delete = 0 `
- err = o.Raw(sql, speakerName).QueryRow(&total)
- return
- }
- // UpdateActivitySpeaker 更新主讲人冗余字段
- func UpdateActivitySpeaker(name, headPic, originName string) (err error) {
- o := orm.NewOrm()
- sql := `UPDATE yb_activity SET speaker = ?, speaker_head_pic = ? WHERE speaker = ? `
- _, err = o.Raw(sql, name, headPic, originName).Exec()
- return
- }
|