|
@@ -57,8 +57,10 @@ func (s BarCharts) Swap(i, j int) {
|
|
|
const (
|
|
|
oneday = 86400
|
|
|
pushspace_experience_member_statistic = "pushspace_experience_member_statistic"
|
|
|
- pushspace_experience_member_statistic_winner = "pushspace_experience_member_statistic_winner"
|
|
|
+ From = "yyszsyy"
|
|
|
pushspace_member_statistic = "pushspace_member_statistic"
|
|
|
+ pushspace_member_statistic_yys = "pushspace_member_statistic_yys"
|
|
|
+ pushspace_experience_member_statistic_winner = "pushspace_experience_member_statistic_winner"
|
|
|
pushspace_member_statistic_winner = "pushspace_member_statistic_winner"
|
|
|
C_User = "user"
|
|
|
C_Entniche_Rule = "entniche_rule"
|
|
@@ -69,6 +71,7 @@ func (r *Report) Index() {
|
|
|
return
|
|
|
}
|
|
|
ym := r.GetString("ym")
|
|
|
+ from := r.GetString("from")
|
|
|
result := M{}
|
|
|
userId, qk, qv := getQuery(r.Session())
|
|
|
if qk == "" || qv == nil {
|
|
@@ -95,7 +98,11 @@ func (r *Report) Index() {
|
|
|
R.InvalidReqParam(r.ResponseWriter, r.Request, "ym")
|
|
|
return
|
|
|
}
|
|
|
- list, ok := Mgo.Find(pushspace_member_statistic, query, `{"startdate":-1}`, `{"startdate":1,"enddate":1,"pushcount":1,"pushtime":1,"unread":1}`, false, -1, -1)
|
|
|
+ table := pushspace_member_statistic
|
|
|
+ if from == From {
|
|
|
+ table = pushspace_member_statistic_yys
|
|
|
+ }
|
|
|
+ list, ok := Mgo.Find(table, query, `{"startdate":-1}`, `{"startdate":1,"enddate":1,"pushcount":1,"pushtime":1,"unread":1}`, false, -1, -1)
|
|
|
array := []map[string]interface{}{}
|
|
|
if ok && list != nil {
|
|
|
for _, v := range *list {
|
|
@@ -110,34 +117,38 @@ func (r *Report) Index() {
|
|
|
}
|
|
|
result["list"] = array
|
|
|
result["subscribe"] = false
|
|
|
- o_mb := &map[string]interface{}{}
|
|
|
- user := config.Compatible.Select(userId, `{"o_member_jy":1,"i_member_status":1,"s_member_mainid":1,"i_member_sub_status":1}`)
|
|
|
- if user != nil {
|
|
|
- if s_member_mainid := qutil.ObjToString((*user)["s_member_mainid"]); s_member_mainid != "" && qutil.IntAll((*user)["i_member_sub_status"]) == 1 && qutil.IntAll((*user)["i_member_status"]) > 0 {
|
|
|
- user, ok = Mgo.FindById("user", s_member_mainid, `{"o_member_jy":1}`)
|
|
|
+ if from != From {
|
|
|
+ o_mb := &map[string]interface{}{}
|
|
|
+ user := config.Compatible.Select(userId, `{"o_member_jy":1,"i_member_status":1,"s_member_mainid":1,"i_member_sub_status":1}`)
|
|
|
+ if user != nil {
|
|
|
+ if s_member_mainid := qutil.ObjToString((*user)["s_member_mainid"]); s_member_mainid != "" && qutil.IntAll((*user)["i_member_sub_status"]) == 1 && qutil.IntAll((*user)["i_member_status"]) > 0 {
|
|
|
+ user, ok = Mgo.FindById("user", s_member_mainid, `{"o_member_jy":1}`)
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- if ok && o_mb != nil {
|
|
|
- o_member_jy, _ := (*o_mb)["o_member_jy"].(map[string]interface{})
|
|
|
- if o_member_jy["a_infotype"] != nil || o_member_jy["o_area"] != nil || o_member_jy["a_buyerclass"] != nil {
|
|
|
- result["subscribe"] = true
|
|
|
- } else {
|
|
|
- a_items, _ := o_member_jy["a_items"].([]interface{})
|
|
|
- L:
|
|
|
- for _, a_item := range a_items {
|
|
|
- itemMap, _ := a_item.(map[string]interface{})
|
|
|
- a_keys, _ := itemMap["a_key"].([]interface{})
|
|
|
- for _, a_key := range a_keys {
|
|
|
- keyMap, _ := a_key.(map[string]interface{})
|
|
|
- keys, _ := keyMap["key"].([]interface{})
|
|
|
- for _, key := range keys {
|
|
|
- if strings.TrimSpace(qutil.ObjToString(key)) != "" {
|
|
|
- result["subscribe"] = true
|
|
|
- break L
|
|
|
+ if ok && o_mb != nil {
|
|
|
+ o_member_jy, _ := (*o_mb)["o_member_jy"].(map[string]interface{})
|
|
|
+ if o_member_jy["a_infotype"] != nil || o_member_jy["o_area"] != nil || o_member_jy["a_buyerclass"] != nil {
|
|
|
+ result["subscribe"] = true
|
|
|
+ } else {
|
|
|
+ a_items, _ := o_member_jy["a_items"].([]interface{})
|
|
|
+ L:
|
|
|
+ for _, a_item := range a_items {
|
|
|
+ itemMap, _ := a_item.(map[string]interface{})
|
|
|
+ a_keys, _ := itemMap["a_key"].([]interface{})
|
|
|
+ for _, a_key := range a_keys {
|
|
|
+ keyMap, _ := a_key.(map[string]interface{})
|
|
|
+ keys, _ := keyMap["key"].([]interface{})
|
|
|
+ for _, key := range keys {
|
|
|
+ if strings.TrimSpace(qutil.ObjToString(key)) != "" {
|
|
|
+ result["subscribe"] = true
|
|
|
+ break L
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ result["subscribe"] = true
|
|
|
}
|
|
|
}
|
|
|
r.ServeJson(Result{
|
|
@@ -150,12 +161,13 @@ func (r *Report) Detail() {
|
|
|
}
|
|
|
start, _ := r.GetInt("start")
|
|
|
end, _ := r.GetInt("end")
|
|
|
+ from := r.GetString("from")
|
|
|
var m M
|
|
|
userId, qk, qv := getQuery(r.Session())
|
|
|
if qk == "" || qv == nil {
|
|
|
return
|
|
|
}
|
|
|
- coll, coll_winner := getColl(r.Header("referer"), r.GetString("type"))
|
|
|
+ coll, coll_winner := getColl(r.Header("referer"), r.GetString("type"), from)
|
|
|
// userId, _, _ = MainUserId(userId, "", 0)
|
|
|
if end-start == 518400 { //周
|
|
|
m = weekResult(qk, qv, start, end, coll, coll_winner)
|
|
@@ -184,9 +196,9 @@ func (r *Report) Detail() {
|
|
|
positionId = mainPositionId
|
|
|
}
|
|
|
// 省份
|
|
|
- m["area"] = entity.ReportGetArea(positionId, start, end)
|
|
|
+ m["area"] = entity.ReportGetArea(positionId, start, end, from)
|
|
|
// 采购单位类型
|
|
|
- m["buyerClass"] = entity.ReportGetBuyerClass(positionId, start, end)
|
|
|
+ m["buyerClass"] = entity.ReportGetBuyerClass(positionId, start, end, from)
|
|
|
m["isNewData"] = isNewData
|
|
|
r.ServeJson(Result{
|
|
|
Data: m,
|
|
@@ -518,11 +530,15 @@ func (r *Report) Tip() {
|
|
|
if qk == "" || qv == nil {
|
|
|
return
|
|
|
}
|
|
|
- unread := Mgo.Count(pushspace_member_statistic, map[string]interface{}{
|
|
|
+ table := pushspace_member_statistic
|
|
|
+ if from == From {
|
|
|
+ table = pushspace_member_statistic_yys
|
|
|
+ }
|
|
|
+ unread := Mgo.Count(table, map[string]interface{}{
|
|
|
qk: qv,
|
|
|
"unread": 1,
|
|
|
})
|
|
|
- list, ok := Mgo.Find(pushspace_member_statistic, map[string]interface{}{
|
|
|
+ list, ok := Mgo.Find(table, map[string]interface{}{
|
|
|
qk: qv,
|
|
|
"tip": 1,
|
|
|
}, `{"enddate":-1}`, `{"_id":0,"type":1,"startdate":1,"enddate":1,"pushcount":1}`, false, 0, 1)
|
|
@@ -586,8 +602,13 @@ func (r *Report) Starttime() {
|
|
|
if qk == "" || qv == nil {
|
|
|
return
|
|
|
}
|
|
|
+ from := r.GetString("from")
|
|
|
+ table := pushspace_member_statistic
|
|
|
+ if from == From {
|
|
|
+ table = pushspace_member_statistic_yys
|
|
|
+ }
|
|
|
week_start, month_start := 0, 0
|
|
|
- week_list, _ := Mgo.Find(pushspace_member_statistic, map[string]interface{}{
|
|
|
+ week_list, _ := Mgo.Find(table, map[string]interface{}{
|
|
|
qk: qv,
|
|
|
"type": 2,
|
|
|
}, `{"enddate":1}`, `{"enddate":1,"dateym":1}`, false, 0, 1)
|
|
@@ -598,7 +619,7 @@ func (r *Report) Starttime() {
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
- month_list, _ := Mgo.Find(pushspace_member_statistic, map[string]interface{}{
|
|
|
+ month_list, _ := Mgo.Find(table, map[string]interface{}{
|
|
|
qk: qv,
|
|
|
"type": 3,
|
|
|
}, `{"enddate":1}`, `{"enddate":1,"dateym":1}`, false, 0, 1)
|
|
@@ -616,10 +637,14 @@ func (r *Report) Starttime() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-func getColl(referer, t string) (string, string) {
|
|
|
+func getColl(referer, t, from string) (string, string) {
|
|
|
if t == "free" || strings.Contains(referer, "t=wx_experience") || strings.Contains(referer, "t=app_experience") {
|
|
|
+
|
|
|
return pushspace_experience_member_statistic, pushspace_experience_member_statistic_winner
|
|
|
} else {
|
|
|
+ if from == From {
|
|
|
+ return pushspace_member_statistic_yys, pushspace_member_statistic_winner
|
|
|
+ }
|
|
|
return pushspace_member_statistic, pushspace_member_statistic_winner
|
|
|
}
|
|
|
}
|