فهرست منبع

feat:新增活动等表

Roc 3 سال پیش
والد
کامیت
01d0692461
5فایلهای تغییر یافته به همراه370 افزوده شده و 0 حذف شده
  1. 123 0
      models/yb/activity.go
  2. 112 0
      models/yb/activity_register.go
  3. 47 0
      models/yb/activity_type.go
  4. 54 0
      models/yb/activity_voice.go
  5. 34 0
      models/yb/yb_speaker.go

+ 123 - 0
models/yb/activity.go

@@ -0,0 +1,123 @@
+package yb
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+// Activity 活动表
+type Activity struct {
+	ActivityId           int       `orm:"column(activity_id);pk" description:"活动ID"`
+	ActivityTypeId       int       `description:"活动类型ID"`
+	ActivityTypeName     string    `description:"活动类型名称"`
+	ChartPermissionId    int       `description:"对应的权限id,表chart_permission中id"`
+	ChartPermissionName  string    `description:"对应的权限名称,表chart_permission中name"`
+	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:"限制人数数量"`
+	ReportLink           string    `description:"报告链接"`
+	City                 string    `description:"城市"`
+	Address              string    `description:"活动地址"`
+	PosterUrl            string    `description:"活动海报地址"`
+	Remarks              string    `description:"备注"`
+	UserId               int       `description:"创建者id"`
+	PublishStatus        int8      `description:"发布状态,0未发布,1已发布"`
+	IsSendWxMsg          int8      `description:"是否推送过微信消息,未推送:0,已推送:1"`
+	IsDelete             int8      `description:"是否删除,0:未删除,1:已删除"`
+	ArticleId            int       `description:"报告链接所关联的文章ID"`
+	ModifyTime           time.Time `description:"修改时间"`
+	CreateTime           time.Time `description:"创建时间"`
+}
+
+// TableName 表名变更
+func (activity *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"`
+	ActivityTypeId      int              `description:"活动类型ID"`
+	ActivityTypeName    string           `description:"活动类型名称"`
+	ChartPermissionId   int              `description:"对应的权限id,表chart_permission中id"`
+	ChartPermissionName string           `description:"对应的权限名称,表chart_permission中name"`
+	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:"限制人数数量"`
+	ReportLink          string           `description:"报告链接"`
+	City                string           `description:"城市"`
+	Address             string           `description:"活动地址"`
+	PosterUrl           string           `description:"活动海报地址"`
+	Remarks             string           `description:"备注"`
+	UserId              int              `description:"创建者id"`
+	PublishStatus       int8             `description:"发布状态,0未发布,1已发布"`
+	IsSendWxMsg         int8             `description:"是否推送过微信消息,未推送:0,已推送:1"`
+	ArticleId           int              `description:"报告链接所关联的文章ID"`
+	ModifyTime          time.Time        `description:"修改时间"`
+	CreateTime          time.Time        `description:"创建时间"`
+	VoiceList           []*ActivityVoice `description:"音频文件列表"`
+}
+
+// GetList 获取活动列表数据
+func GetList(condition 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 modify_time desc `
+
+	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 (activity *Activity) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(activity, 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
+}

+ 112 - 0
models/yb/activity_register.go

@@ -0,0 +1,112 @@
+package yb
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+// ActivityRegister 活动报名表
+type ActivityRegister struct {
+	Id            int       `orm:"column(id);pk" description:"活动报名ID"`
+	ActivityId    int       `description:"活动ID"`
+	UserId        int       `description:"微信用户表ID"`
+	CompanyId     int       `description:"客户id"`
+	CompanyName   string    `description:"客户名称"`
+	SellerName    string    `description:"所属销售名称"`
+	RealName      string    `description:"用户实际名称"`
+	Mobile        string    `description:"用户手机号"`
+	RegisterState int8      `description:"报名状态 0-取消报名 1-已报名"`
+	CreateTime    time.Time `description:"创建时间"`
+}
+
+// TableName 表名变更
+func (activity *ActivityRegister) TableName() string {
+	return "yb_activity_register"
+}
+
+type ActivityRegisterList struct {
+	ActivityId        int       `orm:"column(activity_id);pk" description:"活动ID"`
+	ActivityTypeId    int       `description:"活动类型ID"`
+	ActivityTypeName  string    `description:"活动类型名称"`
+	ActivityName      string    `description:"活动标题"`
+	StartTime         time.Time `description:"活动开始时间"`
+	EndTime           time.Time `description:"活动结束时间"`
+	IsLimitPeople     int8      `description:"是否限制人数 1是,0否"`
+	LimitPeopleNum    int       `description:"限制人数数量"`
+	RegisterPeopleNum int       `description:"已报名人数数量"`
+}
+
+// GetActivityRegisterList 获取活动报名列表数据
+func GetActivityRegisterList(condition string, pars []interface{}, startSize, pageSize int) (total int, list []*ActivityRegisterList, err error) {
+	o := orm.NewOrm()
+	sql := "select * from yb_activity where 1=1 AND is_delete = 0 "
+	sql += condition
+	sql += ` order by start_time asc ` //按照开始时间正序
+
+	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 (activityRegister *ActivityRegister) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(activityRegister, cols...)
+	return
+}
+
+// AddActivityRegister 新增活动报名
+func AddActivityRegister(activityRegister *ActivityRegister) (err error) {
+	o := orm.NewOrm()
+	id, err := o.Insert(activityRegister)
+	if err != nil {
+		return
+	}
+	activityRegister.Id = int(id)
+	return
+}
+
+type ActivityRegisterTotal struct {
+	Total      int `description:"报名总人数"`
+	ActivityId int `description:"活动id"`
+}
+
+// GetActivityRegisterTotalListByActivityIds 根据活动id集合获取报名总人数列表
+func GetActivityRegisterTotalListByActivityIds(activityIds string) (list []*ActivityRegisterTotal, err error) {
+	if activityIds == "" {
+		return
+	}
+	o := orm.NewOrm()
+	sql := `select count(*) total,activity_id from yb_activity_register where activity_id in (` + activityIds + `) where register_state = 1  group by activity_id`
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
+// GetActivityRegisterListByActivityId 获取已经报名活动的用户列表数据
+func GetActivityRegisterListByActivityId(activityId, startSize, pageSize int) (total int, list []*ActivityRegister, err error) {
+	o := orm.NewOrm()
+	sql := "select * from yb_activity_register  where register_state = 1 and activity_id = ? "
+	sql += ` order by create_time desc `
+
+	totalSql := `select count(1) total from (` + sql + `) z `
+	err = o.Raw(totalSql, activityId).QueryRow(&total)
+	if err != nil {
+		return
+	}
+	sql += ` LIMIT ?,? `
+	_, err = o.Raw(sql, activityId, startSize, pageSize).QueryRows(&list)
+	return
+}
+
+// GetActivityRegister 获取活动报名用户详情
+func GetActivityRegister(activityId, userId int) (item *ActivityRegister, err error) {
+	o := orm.NewOrm()
+	sql := "select * from yb_activity_register where activity_id = ? and user_id = ? order by id desc"
+	err = o.Raw(sql, activityId, userId).QueryRow(&item)
+	return
+}

+ 47 - 0
models/yb/activity_type.go

@@ -0,0 +1,47 @@
+package yb
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+// ActivityType 活动分类表
+type ActivityType struct {
+	ActivityTypeId   int       `orm:"column(activity_type_id);pk" description:"活动类型ID"`
+	ActivityTypeName string    `description:"活动类型名称"`
+	Pid              int       `description:"父级id,默认是:0"`
+	Sort             int       `description:"排序字段"`
+	FrontIsShow      int8      `description:"是否在前台展示,0:不展示,1:展示"`
+	CreateTime       time.Time `description:"创建时间"`
+}
+
+// TableName 表名变更
+func (activityType *ActivityType) TableName() string {
+	return "yb_activity_type"
+}
+
+type ActivityTypeList struct {
+	ActivityTypeId   int                 `description:"活动类型ID"`
+	ActivityTypeName string              `description:"活动类型名称"`
+	Pid              int                 `description:"父级id,默认是:0"`
+	Sort             int                 `description:"排序字段"`
+	FrontIsShow      int8                `description:"是否在前台展示,0:不展示,1:展示"`
+	CreateTime       time.Time           `description:"创建时间"`
+	ChildList        []*ActivityTypeList `description:"下级活动类型列表"`
+}
+
+// GetActivityTypeListByPid 获取最高级的活动分类
+func GetActivityTypeListByPid(pid int) (list []*ActivityType, err error) {
+	o := orm.NewOrm()
+	sql := `select * from yb_activity_type where pid=? order by sort asc ,activity_type_id asc`
+	_, err = o.Raw(sql, pid).QueryRows(&list)
+	return
+}
+
+// GetActivityTypeByActivityTypeId 根据id获取活动分类详情
+func GetActivityTypeByActivityTypeId(pid int) (list []*ActivityTypeList, err error) {
+	o := orm.NewOrm()
+	sql := `select * from yb_activity_type where pid=? order by sort asc ,activity_type_id asc`
+	_, err = o.Raw(sql, pid).QueryRows(&list)
+	return
+}

+ 54 - 0
models/yb/activity_voice.go

@@ -0,0 +1,54 @@
+package yb
+
+import (
+	"rdluck_tools/orm"
+	"time"
+)
+
+// ActivityVoice 活动语音表结构体
+type ActivityVoice struct {
+	ActivityVoiceId  int       `orm:"column(activity_voice_id);pk" description:"活动音频ID"`
+	ActivityId       int       ` description:"活动ID"`
+	VoiceUrl         string    `description:"音频地址"`
+	VoiceName        string    `description:"音频名称"`
+	VoicePlaySeconds string    `description:"音频时长"`
+	CreateTime       time.Time `description:"创建时间"`
+}
+
+// TableName 表名变更
+func (activityVoice *ActivityVoice) TableName() string {
+	return "yb_activity_voice"
+}
+
+// DelByActivityId 根据活动id删除所有音频
+func DelByActivityId(activityId int) (err error) {
+	o := orm.NewOrm()
+	sql := "delete from yb_activity_voice where activity_id=?"
+	_, err = o.Raw(sql, activityId).Exec()
+	return
+}
+
+// AddActivityVoice 新增活动音频
+func AddActivityVoice(activityVoiceInfo *ActivityVoice) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(activityVoiceInfo)
+	return
+}
+
+// AddActivityVoiceMulti 批量新增活动音频
+func AddActivityVoiceMulti(activityVoiceList []*ActivityVoice) (err error) {
+	o := orm.NewOrm()
+	_, err = o.InsertMulti(len(activityVoiceList), activityVoiceList)
+	return
+}
+
+// GetVoiceListByActivityIds 根据活动id集合获取音频列表
+func GetVoiceListByActivityIds(activityIds string) (list []*ActivityVoice, err error) {
+	if activityIds == "" {
+		return
+	}
+	o := orm.NewOrm()
+	sql := `select * from yb_activity_voice where activity_id in (` + activityIds + `) `
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}

+ 34 - 0
models/yb/yb_speaker.go

@@ -0,0 +1,34 @@
+package yb
+
+import (
+	"rdluck_tools/orm"
+)
+
+// Speaker 活动表
+type Speaker struct {
+	SpeakerId            int    `orm:"column(speaker_id);pk" description:"主讲人ID"`
+	SpeakerName          string `description:"主讲人"`
+	SpeakerHeadPic       string `description:"主讲人头像"`
+	SpeakerBackgroundPic string `description:"主讲人背景图"`
+}
+
+// TableName 表名变更
+func (speaker *Speaker) TableName() string {
+	return "yb_speaker"
+}
+
+// GetSpeakerById 根据id获取主讲人详情
+func GetSpeakerById(id int) (item *Speaker, err error) {
+	o := orm.NewOrm()
+	sql := "select * from yb_speaker where speaker_id=? "
+	err = o.Raw(sql, id).QueryRow(&item)
+	return
+}
+
+// GetAllSpeakerList 获取所有主讲人列表数据
+func GetAllSpeakerList() (list []*Speaker, err error) {
+	o := orm.NewOrm()
+	sql := "select * from yb_speaker order by speaker_id desc "
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}