|
@@ -0,0 +1,88 @@
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "github.com/beego/beego/v2/client/orm"
|
|
|
+ "hongze/hongze_clpt/utils"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+type CygxClptUserRecord 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获取用户关系
|
|
|
+func GetCygxClptUserRecordByOpenId(openId string) (item *CygxClptUserRecord, err error) {
|
|
|
+ sql := `SELECT * FROM user_record WHERE open_id=? `
|
|
|
+ err = orm.NewOrm().Raw(sql, openId).QueryRow(&item)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//根据openid获取用户关系
|
|
|
+func GetCygxClptUserRecordByUnionId(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
|
|
|
+}
|
|
|
+
|
|
|
+//根据openid解除绑定用户关系
|
|
|
+func UnBindCygxClptUserRecordByOpenid(openId string) (err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ msql := ` UPDATE user_record SET user_id = 0,bind_account="" WHERE open_id = ? `
|
|
|
+ _, err = o.Raw(msql, openId).Exec()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//根据用户id和平台id获取用户关系
|
|
|
+func GetCygxClptUserRecordByMobile(platform int, bindAccount string) (item *OpenIdList, err error) {
|
|
|
+
|
|
|
+ var sql string
|
|
|
+ if utils.RunMode == "release" {
|
|
|
+ sql = `SELECT cr.open_id,user_id FROM user_record as u
|
|
|
+ INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
|
|
|
+ WHERE create_platform=? AND bind_account = ?`
|
|
|
+ } else {
|
|
|
+ platform = 1
|
|
|
+ sql = `SELECT open_id,user_id FROM user_record WHERE create_platform =? AND bind_account = ?`
|
|
|
+ }
|
|
|
+
|
|
|
+ err = orm.NewOrm().Raw(sql, platform, bindAccount).QueryRow(&item)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//根据openid绑定用户关系
|
|
|
+func BindCygxClptUserRecordByOpenid(userId int, openId, bindAccount string) (err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ msql := " UPDATE user_record SET user_id = ?,bind_account=? WHERE open_id = ? "
|
|
|
+ _, err = o.Raw(msql, userId, bindAccount, openId).Exec()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//修改用户微信信息
|
|
|
+func ModifyCygxClptUserRecordByDetail(openId, unionId, nickName, headimgUrl, city, province, country string, sex, userId int) (err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `UPDATE user_record SET union_id=?, nick_name=?,headimgurl=?,sex=?,city=?,province=?,country=? WHERE user_id=? and open_id=? `
|
|
|
+ _, err = o.Raw(sql, unionId, nickName, headimgUrl, sex, city, province, country, userId, openId).Exec()
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//添加用户关系
|
|
|
+func AddCygxClptUserRecord(record *CygxClptUserRecord) (recordId int64, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ recordId, err = o.Insert(record)
|
|
|
+ return
|
|
|
+}
|