|
@@ -2,7 +2,6 @@ package models
|
|
|
|
|
|
import (
|
|
import (
|
|
"github.com/beego/beego/v2/client/orm"
|
|
"github.com/beego/beego/v2/client/orm"
|
|
- "hongze/hz_crm_api/utils"
|
|
|
|
"strings"
|
|
"strings"
|
|
)
|
|
)
|
|
|
|
|
|
@@ -42,146 +41,6 @@ func GetOpenIdListByMobile(mobile string) (items []*OpenIdList, err error) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-//// 获取预约活动的用户的openID
|
|
|
|
-//func GetActivityOpenIdList(activityId int) (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT DISTINCT cr.open_id,u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_my_schedule AS m
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = m.mobile
|
|
|
|
-// INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
|
|
|
|
-// WHERE m.activity_id = ? AND u.create_platform = 4 `
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql, activityId).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
-// 获取预约活动的用户的openID测试环境
|
|
|
|
-//func GetActivityOpenIdListByDeBug(activityId int) (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT
|
|
|
|
-// u.open_id,
|
|
|
|
-// u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_my_schedule AS s
|
|
|
|
-// INNER JOIN wx_user AS wx ON wx.user_id = s.user_id
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = wx.mobile
|
|
|
|
-// INNER JOIN company_product AS p ON p.company_id = wx.company_id
|
|
|
|
-// WHERE
|
|
|
|
-// s.activity_id = ?
|
|
|
|
-// AND u.create_platform = 1
|
|
|
|
-// AND p.STATUS IN ( '正式', '试用', '永续' )
|
|
|
|
-// GROUP BY
|
|
|
|
-// u.open_id`
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql, activityId).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
-//// 获取预约活动的用户的openID
|
|
|
|
-//func GetActivitySpecialOpenIdList() (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT DISTINCT cr.open_id,u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_user_follow_special AS m
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = m.mobile
|
|
|
|
-// INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
|
|
|
|
-// WHERE u.create_platform = 4 `
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
-// 获取预约活动的用户的openID测试环境
|
|
|
|
-//func GetActivitySpecialOpenIdListByDeBug() (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT
|
|
|
|
-// u.open_id,
|
|
|
|
-// u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_user_follow_special AS s
|
|
|
|
-// INNER JOIN wx_user AS wx ON wx.user_id = s.user_id
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = wx.mobile
|
|
|
|
-// INNER JOIN company_product AS p ON p.company_id = wx.company_id
|
|
|
|
-// WHERE
|
|
|
|
-// u.create_platform = 1
|
|
|
|
-// AND p.STATUS IN ( '正式', '试用', '永续' )
|
|
|
|
-// GROUP BY
|
|
|
|
-// u.open_id`
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
-// 获取关注作者的用户的openID
|
|
|
|
-//func GetFollowDepartmentOpenIdList(departmentId int) (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT cr.open_id,u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_article_department_follow AS f
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = f.mobile
|
|
|
|
-// INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
|
|
|
|
-// INNER JOIN company_product AS p ON p.company_id = wx.company_id
|
|
|
|
-// INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
|
|
|
|
-// WHERE
|
|
|
|
-// f.department_id = ?
|
|
|
|
-// AND u.create_platform = 4
|
|
|
|
-// AND f.type = 1
|
|
|
|
-// AND p.status IN ('正式','试用','永续')
|
|
|
|
-// GROUP BY
|
|
|
|
-// cr.open_id `
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql, departmentId).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
-// 获取关注作者的用户的openID测试环境
|
|
|
|
-//func GetFollowDepartmentOpenIdListByDeBug(departmentId int) (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT
|
|
|
|
-// u.open_id,
|
|
|
|
-// u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_article_department_follow AS f
|
|
|
|
-// INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = wx.mobile
|
|
|
|
-// INNER JOIN company_product AS p ON p.company_id = wx.company_id
|
|
|
|
-// WHERE
|
|
|
|
-// f.department_id = ?
|
|
|
|
-// AND u.create_platform = 1
|
|
|
|
-// AND f.type = 1
|
|
|
|
-// AND p.STATUS IN ( '正式', '试用', '永续' )
|
|
|
|
-// GROUP BY
|
|
|
|
-// u.open_id`
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql, departmentId).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
-// 获取关注产业的用户的openID
|
|
|
|
-func GetFollowindustrialOpenIdList(industrialManagementId int) (items []*OpenIdList, err error) {
|
|
|
|
- sql := `SELECT cr.open_id,u.user_id
|
|
|
|
- FROM
|
|
|
|
- cygx_industry_fllow AS f
|
|
|
|
- INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
|
|
|
|
- INNER JOIN user_record AS u ON u.bind_account = wx.mobile
|
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
|
|
|
|
- WHERE
|
|
|
|
- f.industrial_management_id = ?
|
|
|
|
- AND u.create_platform = 4
|
|
|
|
- AND f.type = 1 GROUP BY cr.open_id `
|
|
|
|
- _, err = orm.NewOrm().Raw(sql, industrialManagementId).QueryRows(&items)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// 获取关注产业的用户的openID 测试环境
|
|
|
|
-//func GetFollowindustrialOpenIdListByDeBug(industrialManagementId int) (items []*OpenIdList, err error) {
|
|
|
|
-// sql := `SELECT
|
|
|
|
-// u.open_id,
|
|
|
|
-// u.user_id
|
|
|
|
-// FROM
|
|
|
|
-// cygx_industry_fllow AS f
|
|
|
|
-// INNER JOIN wx_user AS wx ON wx.user_id = f.user_id
|
|
|
|
-// INNER JOIN user_record AS u ON u.bind_account = wx.mobile
|
|
|
|
-// WHERE
|
|
|
|
-// f.industrial_management_id = ?
|
|
|
|
-// AND u.create_platform = 1
|
|
|
|
-// AND u.bind_account != ""
|
|
|
|
-// AND f.type = 1
|
|
|
|
-// GROUP BY
|
|
|
|
-// u.open_id`
|
|
|
|
-// _, err = orm.NewOrm().Raw(sql, industrialManagementId).QueryRows(&items)
|
|
|
|
-// return
|
|
|
|
-//}
|
|
|
|
-
|
|
|
|
// GetUserOpenidListByUserIds 根据用户id字符串集合来获取他的openid列表集合
|
|
// GetUserOpenidListByUserIds 根据用户id字符串集合来获取他的openid列表集合
|
|
func GetUserOpenidListByUserIds(userIdStr []string) (list []*OpenIdList, err error) {
|
|
func GetUserOpenidListByUserIds(userIdStr []string) (list []*OpenIdList, err error) {
|
|
if len(userIdStr) <= 0 {
|
|
if len(userIdStr) <= 0 {
|
|
@@ -201,44 +60,13 @@ func GetAdminOpenIdByMobile(mobile string) (items []*OpenIdList, err error) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// 根据手机号获取用户的openid查研观向小助手专用
|
|
|
|
-func GetUserRecordListByMobile(platform int, bindAccount string) (items []*OpenIdList, err error) {
|
|
|
|
- var sql string
|
|
|
|
- if utils.RunMode == "release" {
|
|
|
|
- sql = `SELECT cr.open_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 + `)`
|
|
|
|
- } else {
|
|
|
|
- platform = 1
|
|
|
|
- sql = `SELECT open_id FROM user_record WHERE create_platform =? AND bind_account IN (` + bindAccount + `)`
|
|
|
|
- }
|
|
|
|
- _, err = orm.NewOrm().Raw(sql, platform).QueryRows(&items)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// 获取单个用户openid
|
|
|
|
-func GetCompanyDetailByIdGroup(platform int, bindAccount string) (item *OpenIdList, err error) {
|
|
|
|
- o := orm.NewOrm()
|
|
|
|
- var sql string
|
|
|
|
- sql = `SELECT cr.open_id,wu.user_id FROM user_record as u
|
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
|
|
|
|
- INNER JOIN wx_user AS wu ON wu.mobile = u.bind_account
|
|
|
|
- WHERE create_platform=? AND u.bind_account = ?`
|
|
|
|
- err = o.Raw(sql, platform, bindAccount).QueryRow(&item)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// 获取小助手所有的用户的openid
|
|
// 获取小助手所有的用户的openid
|
|
func GetCygxUserAllOpneid() (items []*OpenIdList, err error) {
|
|
func GetCygxUserAllOpneid() (items []*OpenIdList, err error) {
|
|
- o := orm.NewOrm()
|
|
|
|
|
|
+ o := orm.NewOrmUsingDB("hz_cygx")
|
|
sql := `SELECT
|
|
sql := `SELECT
|
|
cr.open_id,
|
|
cr.open_id,
|
|
- r.user_id
|
|
|
|
- FROM
|
|
|
|
- user_record AS r
|
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id
|
|
|
|
- WHERE
|
|
|
|
- r.create_platform = 4`
|
|
|
|
|
|
+ cr.cygx_user_id as user_id
|
|
|
|
+ FROM cygx_user_record AS cr `
|
|
_, err = o.Raw(sql).QueryRows(&items)
|
|
_, err = o.Raw(sql).QueryRows(&items)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -254,84 +82,42 @@ func GetOpenIdArr() (items []string, err error) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+type MobileUserIdList struct {
|
|
|
|
+ Mobile string
|
|
|
|
+ UserId int
|
|
|
|
+}
|
|
|
|
+
|
|
// 获取预约活动的用户的openID测试环境
|
|
// 获取预约活动的用户的openID测试环境
|
|
-func GetActivitySpecialOpenIdListMobile(condition string, pars []interface{}) (items []*OpenIdList, err error) {
|
|
|
|
|
|
+func GetActivitySpecialOpenIdListMobile(condition string, pars []interface{}) (items []*MobileUserIdList, err error) {
|
|
sql := `SELECT
|
|
sql := `SELECT
|
|
- cr.open_id,
|
|
|
|
|
|
+ u.mobile,
|
|
u.user_id
|
|
u.user_id
|
|
FROM
|
|
FROM
|
|
company_report_permission AS p
|
|
company_report_permission AS p
|
|
INNER JOIN wx_user AS u ON u.company_id = p.company_id
|
|
INNER JOIN wx_user AS u ON u.company_id = p.company_id
|
|
- INNER JOIN user_record AS r ON r.user_id = u.user_id
|
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id
|
|
|
|
|
|
+ INNER JOIN user_record AS r ON r.user_id = u.user_id
|
|
WHERE
|
|
WHERE
|
|
- r.create_platform = 4 AND p.STATUS IN ('正式','试用','永续') ` + condition + ` GROUP BY cr.open_id`
|
|
|
|
|
|
+ r.create_platform = 4 AND p.STATUS IN ('正式','试用','永续') ` + condition + ` GROUP BY u.mobile`
|
|
_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&items)
|
|
_, err = orm.NewOrm().Raw(sql, pars).QueryRows(&items)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
// 获取所有关注了该产业用户的openid
|
|
// 获取所有关注了该产业用户的openid
|
|
func GetCygxUserIndustryFllowOpneid(IndustrialManagementId int) (items []*OpenIdList, err error) {
|
|
func GetCygxUserIndustryFllowOpneid(IndustrialManagementId int) (items []*OpenIdList, err error) {
|
|
- o := orm.NewOrm()
|
|
|
|
|
|
+ o := orm.NewOrmUsingDB("hz_cygx")
|
|
sql := `SELECT
|
|
sql := `SELECT
|
|
cr.open_id,
|
|
cr.open_id,
|
|
- r.user_id
|
|
|
|
|
|
+ cr.cygx_user_id as user_id
|
|
FROM
|
|
FROM
|
|
- user_record AS r
|
|
|
|
- INNER JOIN cygx_user_record AS cr ON cr.union_id = r.union_id
|
|
|
|
- INNER join cygx_industry_fllow as cf on cf.user_id = r.user_id
|
|
|
|
|
|
+ cygx_industry_fllow AS cf
|
|
|
|
+ INNER JOIN cygx_user_record AS cr ON cr.cygx_user_id = cf.user_id
|
|
WHERE
|
|
WHERE
|
|
- r.create_platform = 4
|
|
|
|
|
|
+ 1=1
|
|
AND cf.industrial_management_id = ?`
|
|
AND cf.industrial_management_id = ?`
|
|
_, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
|
|
_, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// 获取所有关注了该产业用户的openid
|
|
|
|
-func GetCygxUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
|
|
|
|
- o := orm.NewOrm()
|
|
|
|
- sql := `
|
|
|
|
-SELECT
|
|
|
|
- cr.open_id,
|
|
|
|
- r.user_id
|
|
|
|
-FROM
|
|
|
|
- cygx_industrial_activity_group_management AS agm
|
|
|
|
- INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
|
|
|
|
- INNER JOIN user_record AS r
|
|
|
|
- INNER JOIN cygx_user_record AS cr
|
|
|
|
-WHERE
|
|
|
|
- agm.activity_id = ?
|
|
|
|
- AND cr.union_id = r.union_id
|
|
|
|
- AND r.create_platform = 4
|
|
|
|
- AND r.user_id = f.user_id;`
|
|
|
|
- _, err = o.Raw(sql, activityId).QueryRows(&items)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-// 获取所有关注了该产业永续客户的openid
|
|
|
|
-func GetCygxForeverUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
|
|
|
|
- o := orm.NewOrm()
|
|
|
|
- sql := `
|
|
|
|
-SELECT
|
|
|
|
- cr.open_id,
|
|
|
|
- r.user_id
|
|
|
|
-FROM
|
|
|
|
- cygx_industrial_activity_group_management AS agm
|
|
|
|
- INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
|
|
|
|
- INNER JOIN user_record AS r
|
|
|
|
- INNER JOIN cygx_user_record AS cr
|
|
|
|
- INNER JOIN wx_user AS wx ON wx.user_id = r.user_id
|
|
|
|
- INNER JOIN company_product AS p ON p.company_id = wx.company_id
|
|
|
|
-WHERE
|
|
|
|
- agm.activity_id = ?
|
|
|
|
- AND cr.union_id = r.union_id
|
|
|
|
- AND r.create_platform = 4
|
|
|
|
- AND r.user_id = f.user_id
|
|
|
|
- AND p.status = "永续";`
|
|
|
|
- _, err = o.Raw(sql, activityId).QueryRows(&items)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// 获取所有关注了该产业试用客户的openid
|
|
// 获取所有关注了该产业试用客户的openid
|
|
func GetCygxTryOutUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
|
|
func GetCygxTryOutUserIndustryFllowOpneidByActivityIds(activityId int) (items []*OpenIdList, err error) {
|
|
o := orm.NewOrm()
|
|
o := orm.NewOrm()
|
|
@@ -356,25 +142,6 @@ WHERE
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
-// 获取所有关注了该产业用户的companyIds
|
|
|
|
-func GetCygxIndustryFollowCompanyIdsByActivityId(activityId int) (item *string, err error) {
|
|
|
|
- o := orm.NewOrm()
|
|
|
|
- sql := `
|
|
|
|
-SELECT
|
|
|
|
- GROUP_CONCAT( DISTINCT f.company_id SEPARATOR ',' ) AS company_ids
|
|
|
|
-FROM
|
|
|
|
- cygx_industrial_activity_group_management AS agm
|
|
|
|
- INNER JOIN cygx_industry_fllow AS f ON f.industrial_management_id = agm.industrial_management_id
|
|
|
|
- INNER JOIN user_record AS r
|
|
|
|
- INNER JOIN cygx_user_record AS cr
|
|
|
|
-WHERE
|
|
|
|
- agm.activity_id = ?
|
|
|
|
- AND r.create_platform = 4
|
|
|
|
- AND r.user_id = f.user_id;`
|
|
|
|
- err = o.Raw(sql, activityId).QueryRow(&item)
|
|
|
|
- return
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
// 获取所有关注了该产业用户的openidBy公司id
|
|
// 获取所有关注了该产业用户的openidBy公司id
|
|
func GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId int, companyIds string) (items []*OpenIdList, err error) {
|
|
func GetCygxUserIndustryFllowOpneidByActivityIdAndCompanyIds(activityId int, companyIds string) (items []*OpenIdList, err error) {
|
|
o := orm.NewOrm()
|
|
o := orm.NewOrm()
|
|
@@ -399,7 +166,7 @@ WHERE
|
|
|
|
|
|
// 获取所有互动过的用户id
|
|
// 获取所有互动过的用户id
|
|
func GetCygxInteractiveUserByActivityId(activityId int) (items []*int, err error) {
|
|
func GetCygxInteractiveUserByActivityId(activityId int) (items []*int, err error) {
|
|
- o := orm.NewOrm()
|
|
|
|
|
|
+ o := orm.NewOrmUsingDB("hz_cygx")
|
|
sql := `
|
|
sql := `
|
|
SELECT user_id FROM cygx_activity_signup WHERE activity_id =? AND fail_type = 0
|
|
SELECT user_id FROM cygx_activity_signup WHERE activity_id =? AND fail_type = 0
|
|
UNION ALL
|
|
UNION ALL
|