|
@@ -3,6 +3,7 @@ package models
|
|
|
import (
|
|
|
"github.com/beego/beego/v2/client/orm"
|
|
|
"hongze/hongze_clpt/utils"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -27,29 +28,31 @@ type UserRecord struct {
|
|
|
|
|
|
// 添加
|
|
|
func AddUserRecord(item *UserRecord) (lastId int64, err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
lastId, err = o.Insert(item)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 根据openid获取用户关系
|
|
|
func GetUserRecordByOpenId(openId string) (item *UserRecord, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
sql := `SELECT * FROM user_record WHERE open_id=? `
|
|
|
- err = orm.NewOrm().Raw(sql, openId).QueryRow(&item)
|
|
|
+ err = o.Raw(sql, openId).QueryRow(&item)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 根据openid获取用户关系
|
|
|
// 4是查研观向 create_platform
|
|
|
func GetUserRecordByUnionId(unionId string) (item *UserRecord, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
sql := `SELECT * FROM user_record WHERE union_id=? AND create_platform = 4 `
|
|
|
- err = orm.NewOrm().Raw(sql, unionId).QueryRow(&item)
|
|
|
+ err = o.Raw(sql, unionId).QueryRow(&item)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 根据openid解除绑定用户关系
|
|
|
func UnBindUserRecordByOpenid(openId string) (err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
msql := ` UPDATE user_record SET user_id = 0,bind_account="" WHERE open_id = ? `
|
|
|
_, err = o.Raw(msql, openId).Exec()
|
|
|
return
|
|
@@ -62,40 +65,49 @@ type OpenIdList struct {
|
|
|
|
|
|
// 根据用户id和平台id获取用户关系
|
|
|
func GetUserRecordByMobile(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)
|
|
|
+ sql = `SELECT union_id,cygx_user_id AS user_id FROM cygx_user_record WHERE 1 = 1 AND cygx_bind_account = ?`
|
|
|
+ err = orm.NewOrm().Raw(sql, bindAccount).QueryRow(&item)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
func GetWxOpenIdByMobileList(mobile string) (items []*OpenIdList, err error) {
|
|
|
- //sql := `SELECT * FROM user_record WHERE bind_account IN (` + utils.WxMsgTemplateIdAskMsgMobile + `) AND create_platform = 1`
|
|
|
- sql := `SELECT cr.*,user_id FROM user_record as c
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
|
|
|
- WHERE bind_account IN (` + mobile + `) AND create_platform = 4`
|
|
|
- _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
|
|
|
+ sliceMobile := strings.Split(mobile, ",")
|
|
|
+ var mobiles []string
|
|
|
+ for _, v := range sliceMobile {
|
|
|
+ mobiles = append(mobiles, v)
|
|
|
+ }
|
|
|
+ o := orm.NewOrm()
|
|
|
+ lenarr := len(mobiles)
|
|
|
+ if lenarr == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition = ` AND u.cygx_bind_account IN (` + utils.GetOrmInReplace(lenarr) + `)`
|
|
|
+ pars = append(pars, mobiles)
|
|
|
+ sql := `SELECT
|
|
|
+ u.open_id,
|
|
|
+ u.cygx_user_id AS user_id
|
|
|
+ FROM
|
|
|
+ cygx_user_record AS u
|
|
|
+ WHERE
|
|
|
+ 1 = 1 ` + condition
|
|
|
+ _, err = o.Raw(sql, pars).QueryRows(&items)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 获取该用户第一个的 三方信息(微信头像信息)
|
|
|
func GetUserThirdRecordByUserId(userId int) (item *UserRecord, err error) {
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
sql := `SELECT * FROM user_record WHERE user_id = ? order by user_record_id asc`
|
|
|
- err = orm.NewOrm().Raw(sql, userId).QueryRow(&item)
|
|
|
+ err = o.Raw(sql, userId).QueryRow(&item)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 根据openid绑定用户关系
|
|
|
func BindUserRecordByOpenid(userId int, openId, bindAccount string) (err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
msql := " UPDATE user_record SET user_id = ?,bind_account=? WHERE open_id = ? "
|
|
|
_, err = o.Raw(msql, userId, bindAccount, openId).Exec()
|
|
|
return
|
|
@@ -103,39 +115,29 @@ func BindUserRecordByOpenid(userId int, openId, bindAccount string) (err error)
|
|
|
|
|
|
// 修改用户微信信息
|
|
|
func ModifyUserRecordByDetail(openId, unionId, nickName, headimgUrl, city, province, country string, sex, userId int) (err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
+ o := orm.NewOrmUsingDB("weekly_report")
|
|
|
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 ModifyUserRecordSessionKey(openId, sessionKey string) (err error) {
|
|
|
- o := orm.NewOrm()
|
|
|
- sql := `UPDATE user_record SET session_key=? WHERE open_id=? `
|
|
|
- _, err = o.Raw(sql, sessionKey, openId).Exec()
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// 根据手机号获取用户的openid
|
|
|
-func GetUserRecordListByMobile(platform int, bindAccount string) (items []*OpenIdList, err error) {
|
|
|
- var sql string
|
|
|
- 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 IN (` + bindAccount + `)`
|
|
|
- _, err = orm.NewOrm().Raw(sql, platform).QueryRows(&items)
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
func GetWxOpenIdByMobileSliceList(mobiles []string) (items []*OpenIdList, err error) {
|
|
|
- itemsLen := len(mobiles)
|
|
|
- if itemsLen == 0 {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ lenarr := len(mobiles)
|
|
|
+ if lenarr == 0 {
|
|
|
return
|
|
|
}
|
|
|
- o := orm.NewOrm()
|
|
|
- sql := `SELECT cr.*,user_id FROM user_record as c
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = c.union_id
|
|
|
- WHERE bind_account IN (` + utils.GetOrmInReplace(itemsLen) + `) AND create_platform = 4`
|
|
|
- _, err = o.Raw(sql, mobiles).QueryRows(&items)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition = ` AND u.cygx_bind_account IN (` + utils.GetOrmInReplace(lenarr) + `)`
|
|
|
+ pars = append(pars, mobiles)
|
|
|
+ sql := `SELECT
|
|
|
+ u.open_id,
|
|
|
+ u.cygx_user_id AS user_id
|
|
|
+ FROM
|
|
|
+ cygx_user_record AS u
|
|
|
+ WHERE
|
|
|
+ 1 = 1 ` + condition
|
|
|
+ _, err = o.Raw(sql, pars).QueryRows(&items)
|
|
|
return
|
|
|
}
|