123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package models
- import (
- "github.com/beego/beego/v2/client/orm"
- "github.com/rdlucklib/rdluck_tools/paging"
- "time"
- )
- type WxUser struct {
- UserId int64 `orm:"column(user_id);pk"`
- Mobile string
- Email string
- CompanyId int
- RealName string `description:"姓名"`
- NickName string `description:"昵称"`
- CreatedTime time.Time
- MobileTwo string `description:"备用手机号"`
- BusinessCardUrl string `description:"名片"`
- IsMaker int `description:"是否决策人,1:是,0:否"`
- Position string `description:"职位"`
- Sex int `description:"普通用户性别,1为男性,2为女性"`
- DepartmentName string `description:"联系人部门"`
- RegisterTime time.Time
- RegisterPlatform int
- Remark string `description:"备注"`
- CountryCode string `description:"区号,86、852、886等"`
- OutboundMobile string `description:"外呼手机号"`
- OutboundCountryCode string `description:"外呼手机号区号,86、852、886等"`
- LastUpdatedTime time.Time `description:"最近一次更新时间"`
- IsDeal int `description:"是否标记处理 0-未处理 1-已处理"`
- OpenId string `orm:"column(open_id)" description:"微信openid"`
- Headimgurl string `description:"用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空"`
- UserLabel string `description:"查研观向用户标签"`
- }
- func AddWxUser(item *WxUser) (lastId int64, err error) {
- o := orm.NewOrm()
- lastId, err = o.Insert(item)
- return
- }
- func GetWxUserByMobile(mobile string) (item *WxUser, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM wx_user WHERE mobile = ? LIMIT 1`
- err = o.Raw(sql, mobile).QueryRow(&item)
- return
- }
- // GetWxUserByMobileCountryCode 根据手机号和区号获取用户信息
- func GetWxUserByMobileCountryCode(mobile, countryCode string) (item *WxUser, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM wx_user WHERE mobile = ? `
- sql += ` and country_code in ("","` + countryCode + `") `
- sql += ` LIMIT 1 `
- err = o.Raw(sql, mobile).QueryRow(&item)
- return
- }
- func GetWxUserByUserId(userId int) (item *WxUser, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM wx_user WHERE user_id=? `
- err = o.Raw(sql, userId).QueryRow(&item)
- return
- }
- // 更新wxUser信息
- func (wxUser *WxUser) Update(cols []string) (err error) {
- o := orm.NewOrm()
- _, err = o.Update(wxUser, cols...)
- return
- }
- type PotentialUserItem struct {
- UserId int `description:"用户id"`
- RealName string `description:"姓名"`
- CountryCode string `description:"区号,86、852、886等"`
- Mobile string `description:"手机号"`
- Email string `description:"邮箱"`
- CreatedTime string `description:"注册时间"`
- ApplyMethod int `description:"0:未申请,1:已付费客户申请试用,2:非客户申请试用"`
- CompanyName string `description:"客户名称"`
- ViewTotal int `description:"累计阅读次数"`
- LastViewTime time.Time `json:"-" description:"最后一次阅读时间"`
- LastViewTimeStr string `description:"最后一次阅读时间"`
- FromType string `description:"report:研报,teleconference:电话会"`
- BusinessCardUrl string `description:"名片"`
- Source int `description:"来源,1:微信端,2:pc网页端,3:查研观向小程序,4:每日咨询,5:电话会"`
- IsDeal int `description:"是否标记处理,0是未处理,1是已处理"`
- }
- type PotentialUserListResp struct {
- List []*PotentialUserItem
- Paging *paging.PagingItem `description:"分页数据"`
- }
- // GetWxUserByCompanyIdAndMobile 根据客户ID及手机号获取用户
- func GetWxUserByCompanyIdAndMobile(companyId int, mobile string) (item *WxUser, err error) {
- o := orm.NewOrm()
- sql := ` SELECT * FROM wx_user WHERE company_id = ? AND mobile = ? LIMIT 1 `
- err = o.Raw(sql, companyId, mobile).QueryRow(&item)
- return
- }
- // DeleteWxUserAndRecordByUserId 删除用户及第三方信息
- func DeleteWxUserAndRecordByUserId(userId int) (err error) {
- o := orm.NewOrm()
- to, err := o.Begin()
- if err != nil {
- return
- }
- defer func() {
- if err != nil {
- _ = to.Rollback()
- } else {
- _ = to.Commit()
- }
- }()
- // 删除wx_user
- userSql := ` DELETE FROM wx_user WHERE user_id = ? LIMIT 1 `
- _, err = to.Raw(userSql, userId).Exec()
- // 删除user_record
- if err == nil {
- recordSql := ` DELETE FROM user_record WHERE user_id = ? `
- _, err = to.Raw(recordSql, userId).Exec()
- }
- return
- }
- // 获取这个公司下面所有用户的手机号
- func SetUserSubscribe(openId string) (err error) {
- o := orm.NewOrm()
- sql := ` UPDATE user_record SET subscribe=1,subscribe_time=NOW() WHERE open_id=? `
- _, err = o.Raw(sql, openId).Exec()
- return
- }
- type WxUserItem struct {
- UserId int `description:"用户id"`
- OpenId string `description:"open_id"`
- UnionId string `description:"union_id"`
- CompanyId int `description:"客户id"`
- NickName string `description:"用户昵称"`
- RealName string `description:"用户实际名称"`
- Mobile string `description:"手机号码"`
- BindAccount string `description:"绑定时的账号"`
- Email string `description:"邮箱"`
- Headimgurl string `description:"用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空"`
- ApplyMethod int `description:"0:未申请,1:已付费客户申请试用,2:非客户申请试用"`
- FirstLogin int `description:"是否第一次登陆"`
- IsFreeLogin int `description:"是否免登陆,true:免登陆,false:非免登陆"`
- LoginTime time.Time `description:"登录时间"`
- CreatedTime time.Time `description:"创建时间"`
- LastUpdatedTime time.Time `description:"最近一次修改时间"`
- SessionKey string `description:"微信小程序会话密钥"`
- CompanyName string `description:"公司名称"`
- IsRegister int `description:"是否注册:1:已注册,0:未注册"`
- CountryCode string `description:"手机国家区号"`
- OutboundMobile string `description:"外呼手机号"`
- OutboundCountryCode string `description:"外呼手机号区号"`
- IsMsgOutboundMobile int `description:"是否弹窗过绑定外呼手机号区号"`
- IsMaker int `description:"是否是决策人"`
- Source int
- }
|