package models import ( "github.com/beego/beego/v2/client/orm" "time" ) type UserRecord struct { UserRecordId int `orm:"column(user_record_id);pk"` OpenId string `description:"用户openid,最大长度:32"` UnionId string `description:"用户unionid,最大长度:64"` Subscribe int `description:"是否关注"` NickName string `descritpion:"用户昵称,最大长度:32"` RealName string `descritpion:"用户实际名称,最大长度:32"` BindAccount string `descritpion:"绑定时的账号,最大长度:128"` Sex int `descritpion:"普通用户性别,1为男性,2为女性"` Province string `description:"普通用户个人资料填写的省份,最大长度:30"` City string `description:"普通用户个人资料填写的城市,最大长度:30"` Country string `description:"国家,如中国为CN,最大长度:30"` Headimgurl string `description:"用户第三方(微信)头像,最大长度:512"` CreateTime time.Time `description:"创建时间,关系添加时间、用户授权时间"` CreatePlatform int `description:"注册平台,1:日度点评公众号,2:管理后台,3:pc端网站,4:查研观向小程序;默认:1"` SessionKey string `description:"微信小程序会话密钥,最大长度:255"` UserId int `description:"用户id"` } // 根据openid获取用户关系 // 4是查研观向 create_platform func GetUserRecordByUnionId(unionId string) (item *UserRecord, err error) { sql := `SELECT * FROM user_record WHERE union_id=? AND create_platform = 4 ` err = orm.NewOrm().Raw(sql, unionId).QueryRow(&item) return } // 根据BindAccount 获取用户关系 // 4是查研观向 create_platform func GetUserRecordByBindAccount(bindAccount string) (item *UserRecord, err error) { sql := `SELECT * FROM user_record WHERE bind_account=? AND create_platform = 4 ` err = orm.NewOrm().Raw(sql, bindAccount).QueryRow(&item) return } // 根据用户id和平台id获取用户关系 func GetUserRecordByUserOpenId(open_id string) (item *UserRecord, err error) { sql := `SELECT u.* FROM JOIN user_record AS u WHERE u.open_id = ? AND u.create_platform = 4 AND u.bind_account != '' GROUP BY u.union_id` err = orm.NewOrm().Raw(sql, open_id).QueryRow(&item) return } func GetUserRecordList(condition string, pars []interface{}) (items []*UserRecord, err error) { o := orm.NewOrm() sql := ` SELECT * FROM user_record WHERE 1= 1 ` if condition != "" { sql += condition } _, err = o.Raw(sql, pars).QueryRows(&items) return }