package models

import (
	"github.com/rdlucklib/rdluck_tools/orm"
	"time"
)

//报名
type CygxActivityMeetDetailLog struct {
	AttendanceId int       `orm:"column(attendance_id);pk;"description:"主键ID"`
	ActivityId   int       `description:"活动ID"`
	RealName     string    `description:"姓名"`
	Mobile       string    `description:"手机号"`
	CompanyName  string    `description:"公司名称"`
	CompanyId    int       `description:"公司id 不在数据库的用户为0"`
	CreateTime   time.Time `description:"创建时间"`
}

func GetOfflineMeetingDetailList() (item []*CygxActivityMeetDetailLog, err error) {
	o := orm.NewOrm()
	sql := `SELECT * FROM cygx_activity_offline_meeting_detail WHERE is_meeting = 1`
	_, err = o.Raw(sql).QueryRows(&item)
	return
}

//添加优化建议
func AddCygxActivityMeetDetailLog(item *CygxActivityMeetDetailLog) (lastId int64, err error) {
	o := orm.NewOrm()
	lastId, err = o.Insert(item)
	return
}

func GetActivityMeetDetailLog() (item []*CygxActivityMeetDetailLog, err error) {
	o := orm.NewOrm()
	sql := `SELECT * FROM  cygx_activity_meet_detail_log WHERE company_name !='' GROUP BY company_name `
	_, err = o.Raw(sql).QueryRows(&item)
	return
}

func GetActivityMeetDetailLogByMobile() (item []*CygxActivityMeetDetailLog, err error) {
	o := orm.NewOrm()
	sql := `SELECT * FROM  cygx_activity_meet_detail_log WHERE mobile !='' GROUP BY mobile `
	_, err = o.Raw(sql).QueryRows(&item)
	return
}

//获取数量
func GetActivityMeetDetailLogCount(condition string) (count int, err error) {
	o := orm.NewOrm()
	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_activity_meet_detail_log WHERE 1=1 `
	if condition != "" {
		sqlCount += condition
	}
	err = o.Raw(sqlCount).QueryRow(&count)
	return
}

//修改公司参会数量
func UpdateActivityMeetDetailLog(companyName string, num int) (err error) {
	sql := ` UPDATE cygx_activity_meet_detail_log SET  company_meet_num= ?  WHERE company_name = ?`
	o := orm.NewOrm()
	_, err = o.Raw(sql, num, companyName).Exec()
	return
}

//修改个人参会数量
func UpdateActivityMeetDetailLogByUser(mobile string, num int) (err error) {
	sql := ` UPDATE cygx_activity_meet_detail_log SET  user_meet_num= ?  WHERE mobile = ?`
	o := orm.NewOrm()
	_, err = o.Raw(sql, num, mobile).Exec()
	return
}