|
@@ -91,6 +91,7 @@ func GetWxUserItemByUnionid(unionid string) (item *WxUserItem, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+//根据用户ID获取相关信息
|
|
|
func GetWxUserItemByUserId(userId int) (item *WxUserItem, err error) {
|
|
|
sql := `SELECT a.*,b.company_name FROM wx_user AS a
|
|
|
LEFT JOIN company AS b on a.company_id=b.company_id
|
|
@@ -184,11 +185,12 @@ type WxGetPhoneNumberResp struct {
|
|
|
CountryCode string `description:"区号"`
|
|
|
}
|
|
|
|
|
|
+//根据用户手机号获取相关信息
|
|
|
func GetWxUserItemByMobile(mobile string) (item *WxUserItem, err error) {
|
|
|
sql := `SELECT a.*,b.company_name FROM wx_user AS a
|
|
|
LEFT JOIN company AS b on a.company_id=b.company_id
|
|
|
- WHERE a.mobile=? `
|
|
|
- err = orm.NewOrm().Raw(sql, mobile).QueryRow(&item)
|
|
|
+ WHERE a.mobile= '` + mobile + `' ORDER BY a.company_id DESC LIMIT 1 `
|
|
|
+ err = orm.NewOrm().Raw(sql).QueryRow(&item)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -446,3 +448,69 @@ func GetActivitySignCount(mobile, dateTime string) (item []*ActivityLabelCountRe
|
|
|
_, err = o.Raw(sql, mobile, dateTime).QueryRows(&item)
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+type CygxUserInteractionNum struct {
|
|
|
+ UserId int64 `orm:"column(user_id);pk"`
|
|
|
+ Mobile string `description:"手机号"`
|
|
|
+ Email string `description:"邮箱"`
|
|
|
+ CompanyId int `description:"公司id"`
|
|
|
+ CompanyName string `description:"公司名称"`
|
|
|
+ RealName string `description:"姓名"`
|
|
|
+ CreatedTime string `description:"创建时间"`
|
|
|
+ IsMaker int `description:"是否决策人,1:是,0:否"`
|
|
|
+ IsRegister bool `description:"是否注册,true:已注册,false:未注册"`
|
|
|
+ Status string `description:"客户状态"`
|
|
|
+ RegisterTime string `description:"注册时间"`
|
|
|
+ SellerName string `description:"销售名称"`
|
|
|
+ InteractionNum int `description:"互动量"`
|
|
|
+ Labels string `description:"标签,用英文,隔开"`
|
|
|
+ ActivityLabel string `description:"活动标签,用英文,隔开"`
|
|
|
+ IsShowSee bool `description:"是否展示查看"`
|
|
|
+ IsShowSeeNum int `description:"是否展示查看"`
|
|
|
+ HistoryNum int `description:"报告阅读"`
|
|
|
+ CountNum int `description:"报告收藏"`
|
|
|
+ IndustryFllowNum int `description:"产业关注"`
|
|
|
+ DepartmentFollowNum int `description:"作者关注"`
|
|
|
+ KeyWordNum int `description:"搜索关键词"`
|
|
|
+ OnLineNum int `description:"线上互动活动"`
|
|
|
+ OfficeNum int `description:"线下互动活动"`
|
|
|
+ PackageType int `description:"套餐类型,0:无,1:大套餐,2:小套餐"`
|
|
|
+ TryStage int `description:"试用客户子标签:0全部、1未分类、2 推进、3 跟踪、4 预备"`
|
|
|
+}
|
|
|
+
|
|
|
+//获取用户的互动量
|
|
|
+func GetCygxCompanyUserUserInteraction(userIds string) (items []*CygxUserInteractionNum, err error) {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ sql := `SELECT
|
|
|
+ u.user_id,
|
|
|
+ u.company_id,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_article_history_record_all AS h INNER JOIN cygx_article as art ON art.article_id = h.article_id WHERE h.mobile = u.mobile AND h.is_del = 0 AND h.mobile <>'' ) AS history_num,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_article_collect AS h WHERE h.user_id = u.user_id ) AS count_num,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_industry_fllow AS h WHERE h.user_id = u.user_id ) AS industry_fllow_num,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_article_department_follow AS h WHERE h.user_id = u.user_id ) AS department_follow_num,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_search_key_word AS h WHERE h.user_id = u.user_id ) AS key_word_num,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_activity_signup AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id WHERE h.mobile = u.mobile
|
|
|
+ AND a.is_submit_meeting = 1 AND t.activity_type = 1 AND h.do_fail_type = 0 ) AS on_line_num,
|
|
|
+ ( SELECT COUNT( 1 ) FROM cygx_activity_signup AS h INNER JOIN cygx_activity as a ON a.activity_id = h.activity_id INNER JOIN cygx_activity_type as t ON t.activity_type_id = a.activity_type_id WHERE h.mobile = u.mobile
|
|
|
+ AND a.is_submit_meeting = 1 AND t.activity_type = 0 AND h.do_fail_type = 0 ) AS office_num,
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUP_CONCAT( DISTINCT man.industry_name SEPARATOR ',' )
|
|
|
+ FROM
|
|
|
+ cygx_industrial_management AS man
|
|
|
+ WHERE
|
|
|
+ man.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industry_fllow AS f WHERE f.user_id = u.user_id AND f.type = 1 )
|
|
|
+ ) AS labels,
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ GROUP_CONCAT( DISTINCT man.label SEPARATOR ',' )
|
|
|
+ FROM
|
|
|
+ cygx_activity AS man
|
|
|
+ WHERE
|
|
|
+ man.activity_id IN ( SELECT activity_id FROM cygx_activity_signup AS f WHERE f.user_id = u.user_id AND label != '')
|
|
|
+ ) AS activity_label
|
|
|
+ FROM
|
|
|
+ wx_user AS u WHERE u.user_id IN( ` + userIds + `) `
|
|
|
+ _, err = o.Raw(sql).QueryRows(&items)
|
|
|
+ return
|
|
|
+}
|