package models import ( "github.com/beego/beego/v2/client/orm" "time" ) type CygxArticleDepartmentFollow struct { Id int `orm:"column(id);pk"` DepartmentId int `description:"作者ID"` UserId int `description:"用户ID"` Mobile string `description:"手机号"` Email string `description:"邮箱"` CompanyId int `description:"公司id"` CompanyName string `description:"公司名称"` Type int `description:"操作方式,1报名,2取消报名"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"更新时间"` RealName string `description:"用户实际名称"` } type ArticleDepartmentIdRep struct { DepartmentId int `description:"作者ID"` } // 添加 func AddArticleDepartmentFollow(item *CygxArticleDepartmentFollow) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } type CygxArticleDepartmentFollowResp struct { Status int `description:"1:关注,2:取消关注"` GoFollow bool `description:"是否去关注"` } func RemoveArticleDepartmentFollow(userId, industrialManagementId, doType int) (err error) { o := orm.NewOrm() sql := `DELETE FROM cygx_article_department_follow WHERE user_id=? AND department_id=? ` _, err = o.Raw(sql, userId, industrialManagementId).Exec() return } // 获取数量 func GetArticleDepartmentFollow(userId, departmentId int, condition string) (count int, err error) { sql := `SELECT COUNT(1) AS count FROM cygx_article_department_follow WHERE user_id=? AND department_id=? ` + condition err = orm.NewOrm().Raw(sql, userId, departmentId).QueryRow(&count) return } // 获取数量 func GetArticleDepartmentFollowByUid(userId int) (count int, err error) { sql := `SELECT COUNT(1) AS count FROM cygx_article_department_follow WHERE user_id=? ` err = orm.NewOrm().Raw(sql, userId).QueryRow(&count) return } // 获取列表信息根据手机号分组 func GetArticleDepartmentFollowByMobileList(condition string) (items []*CygxArticleDepartmentFollow, err error) { o := orm.NewOrm() sql := `SELECT * FROM cygx_article_department_follow WHERE 1 =1 ` + condition + ` GROUP BY user_id ` _, err = o.Raw(sql).QueryRows(&items) return } // 修改用户关注作者的相关信息 func UpdateCygxArticleDepartmentFollow(wxUser *WxUserItem) (err error) { o := orm.NewOrm() var sql string if wxUser.Mobile != "" { sql = `UPDATE cygx_article_department_follow SET email=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE mobile=? ` _, err = o.Raw(sql, wxUser.Email, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Mobile).Exec() } else if wxUser.Email != "" { sql = `UPDATE cygx_article_department_follow SET mobile=?,company_id=?,company_name=?,user_id=?,real_name=? WHERE email=? ` _, err = o.Raw(sql, wxUser.Mobile, wxUser.CompanyId, wxUser.CompanyName, wxUser.UserId, wxUser.RealName, wxUser.Email).Exec() } return }