package models

import (
	"github.com/beego/beego/v2/client/orm"
	"time"
)

type CygxXzsChooseCategory struct {
	Id          int       `orm:"column(id);pk"`
	UserId      int       `description:"用户ID"`
	Mobile      string    `description:"手机号"`
	Email       string    `description:"邮箱"`
	CompanyId   int       `description:"公司id"`
	CompanyName string    `description:"公司名称"`
	RealName    string    `description:"用户实际名称"`
	CategoryId  int       `description:"权益文章对应分类,cygx_article"`
	CreateTime  time.Time `description:"创建时间"`
	ModifyTime  time.Time `description:"更新时间"`
}

//根据手机号获取用户关注的产业
func GetCygxXzsChooseCategoryList(mobile string) (items []*CygxXzsChooseCategory, err error) {
	o := orm.NewOrm()
	sql := `SELECT * FROM cygx_xzs_choose_category WHERE mobile = ?`
	_, err = o.Raw(sql, mobile).QueryRows(&items)
	return
}

//添加
func AddCygxCategoryFllow(item *CygxXzsChooseCategory) (lastId int64, err error) {
	o := orm.NewOrm()
	lastId, err = o.Insert(item)
	return
}

//删除
func RemoveCygxCategoryFllow(mobile string, CategoryId int) (err error) {
	o := orm.NewOrm()
	sql := `DELETE FROM cygx_xzs_choose_category WHERE mobile=? AND category_id=? `
	_, err = o.Raw(sql, mobile, CategoryId).Exec()
	return
}

//获取产业数量
func GetCategoryCount(categoryId int) (count int, err error) {
	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_xzs_choose_category WHERE category_id=? `
	o := orm.NewOrm()
	err = o.Raw(sqlCount, categoryId).QueryRow(&count)
	return
}

//获取关注数量
func GetCountCategoryFllow(categoryId int, mobile, condition string) (count int, err error) {
	sql := `SELECT COUNT(1) AS count FROM cygx_xzs_choose_category WHERE mobile=? AND category_id=? ` + condition
	err = orm.NewOrm().Raw(sql, mobile, categoryId).QueryRow(&count)
	return
}