123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package wx_user
- import (
- "errors"
- "hongze/hongze_yb/global"
- "hongze/hongze_yb/utils"
- )
- // GetByMobile 根据手机号获取信息
- func GetByMobile(mobile string) (wxUser *WxUser, err error) {
- err = global.DEFAULT_MYSQL.Where("mobile = ? ", mobile).First(&wxUser).Error
- return
- }
- // GetByEmail 根据邮箱号号获取信息
- func GetByEmail(email string) (wxUser *WxUser, err error) {
- err = global.DEFAULT_MYSQL.Where("email = ? ", email).First(&wxUser).Error
- return
- }
- // GetByWhereMap 根据查询条件map获取信息
- func GetByWhereMap(where map[string]interface{}) (wxUser *WxUser, err error) {
- cond, whereVal, buildErr := utils.WhereBuild(where)
- if buildErr != nil {
- err = errors.New("系统异常,生成查询语句失败")
- return
- }
- err = global.DEFAULT_MYSQL.Where(cond, whereVal...).First(&wxUser).Error
- return
- }
- // GetByUserId 根据user_id获取用户信息
- func GetByUserId(userId int) (wxUser *WxUser, err error) {
- err = global.DEFAULT_MYSQL.Where("user_id = ? ", userId).First(&wxUser).Error
- return
- }
- // GetByUserIds 根据user_id获取用户信息
- func GetByUserIds(userIds []uint64) (list []*WxUser, err error) {
- err = global.DEFAULT_MYSQL.Model(WxUser{}).Where("user_id in ? ", userIds).Scan(&list).Error
- return
- }
- type OpenIdList struct {
- OpenID string
- UserID int
- }
- func GetOpenIdList() (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.subscribe=1 and ur.create_platform=1 AND d.status IN('正式','试用','永续') `
- err = global.DEFAULT_MYSQL.Raw(sql).Scan(&items).Error
- return
- }
- func ModifyQaAvatarUrl(qaAvatarUrl string, userId uint64) (err error) {
- err = global.DEFAULT_MYSQL.Model(WxUser{}).Where("user_id=?", userId).Update("qa_avatar_url", qaAvatarUrl).Error
- return err
- }
- func GetOpenIdArrByVarietyTag(varietyTagId int) (items []string, err error) {
- sql := ` SELECT DISTINCT ur.open_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
- INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
- INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
- INNER JOIN variety_tag AS g ON f.chart_permission_id=g.chart_permission_id
- WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续') AND e.status IN('正式','试用','永续')
- AND g.variety_tag_id=?
- ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC `
- err = global.DEFAULT_MYSQL.Raw(sql, varietyTagId).Scan(&items).Error
- return
- }
|