12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package wx_user
- import (
- "github.com/beego/beego/v2/client/orm"
- "time"
- )
- type WxUser struct {
- UserId int64 `orm:"column(user_id);pk"`
- Mobile string
- Email string
- CompanyId int
- RealName 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
- }
- type OpenIdList struct {
- OpenId string
- UserId int
- }
- //获取所有的用户openid列表
- func GetOpenIdList(openIdStr string) (items []*OpenIdList, err error) {
- sql := `SELECT DISTINCT ur.open_id,wu.user_id FROM wx_user AS wu
- INNER JOIN company AS c ON c.company_id = wu.company_id
- INNER JOIN company_product AS d ON c.company_id=d.company_id
- INNER join user_record as ur on wu.user_id=ur.user_id
- WHERE ur.open_id != "" and ur.create_platform=1 AND d.status IN('正式','试用','永续') `
- if openIdStr != "" {
- sql += ` AND ur.open_id in (` + openIdStr + `) `
- }
- _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
- return
- }
- //根据手机号获取用户的openid列表
- func GetOpenIdListByMobile(mobile string) (items []*OpenIdList, err error) {
- sql := `SELECT DISTINCT ur.open_id,wu.user_id FROM wx_user AS wu
- INNER JOIN company AS c ON c.company_id = wu.company_id
- INNER join user_record as ur on wu.user_id=ur.user_id
- WHERE ur.open_id != "" and ur.create_platform=1 AND ur.subscribe = 1 AND wu.mobile=? `
- //if openIdStr != "" {
- // sql += ` AND ur.open_id in (` + openIdStr + `) `
- //}
- _, err = orm.NewOrm().Raw(sql, mobile).QueryRows(&items)
- return
- }
- // 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
- }
- // UserCompanyInfoList 联系人和客户信息表
- type UserCompanyInfoList struct {
- UserId int `description:"联系人id"`
- CompanyId int `description:"客户id"`
- RealName string `description:"联系人真实姓名"`
- CompanyName string `description:"客户名称"`
- CompanyProductStatus string `description:"客户ficc状态"`
- }
- // GetUserListByUserIds 获取所有的用户openid列表
- func GetUserListByUserIds(userIds string) (items []*UserCompanyInfoList, err error) {
- sql := `SELECT a.user_id,a.real_name,b.company_name,c.status company_product_status FROM wx_user AS a
- INNER JOIN company AS b ON b.company_id = a.company_id
- INNER JOIN company_product AS c ON b.company_id=c.company_id
- WHERE a.user_id in ( ` + userIds + `) and c.product_id=1 `
- _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
- return
- }
|