|
@@ -353,10 +353,19 @@ func (this *Analysis) ForDerive() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ var dKWord []*util.DeriveKeyWord
|
|
|
+ for _, word := range sql.Keyword {
|
|
|
+ dKWord = append(dKWord, &util.DeriveKeyWord{
|
|
|
+ Keyword: strings.Join(word.Keyword, " "),
|
|
|
+ Appended: word.Appended,
|
|
|
+ Exclude: word.Exclude,
|
|
|
+ MatchWay: word.MatchWay,
|
|
|
+ })
|
|
|
+ }
|
|
|
saveData := map[string]interface{}{
|
|
|
"selectIds": selectIds,
|
|
|
"s_userid": userId,
|
|
|
- "keywords": sql.Keyword,
|
|
|
+ "keywords": dKWord,
|
|
|
"area": sql.Area,
|
|
|
"city": sql.City,
|
|
|
"region": region,
|
|
@@ -405,46 +414,43 @@ func (this *Analysis) ForPList() {
|
|
|
endTime, _ := this.GetInteger("endTime")
|
|
|
dataType := this.GetString("dataType")
|
|
|
area := this.GetString("area")
|
|
|
+ total, _ := this.GetInteger("total")
|
|
|
if area == "{}" {
|
|
|
area = ""
|
|
|
}
|
|
|
+ if total == 0 && (area != "" || endTime > 0 || startTime > 0) {
|
|
|
+ regMap.Data = map[string]interface{}{
|
|
|
+ "msg": "您设置的订阅关键词无法进行预测",
|
|
|
+ "code": 2,
|
|
|
+ "isSubCount": isSubCount,
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
if pageSize == 0 {
|
|
|
pageSize = 10
|
|
|
}
|
|
|
- o_member_jy := &map[string]interface{}{}
|
|
|
//查库获得大会员用户的信息
|
|
|
o_mb := config.Compatible.Select(main_userId, `{"o_member_jy":1}`)
|
|
|
- if o_mb != nil && (*o_mb) != nil {
|
|
|
- if (*o_mb)["o_member_jy"] != nil {
|
|
|
- o_member_jy = qutil.ObjToMap((*o_mb)["o_member_jy"])
|
|
|
- //项目预测检索库
|
|
|
- flist, fcount, distinctCount = getNewForecast(main_userId, pageNum, *o_member_jy, pageSize, startTime, endTime, dataType, area)
|
|
|
- if pageNum == 1 {
|
|
|
- if (*o_member_jy)["a_items"] != nil {
|
|
|
- a_items := qutil.ObjArrToMapArr((*o_member_jy)["a_items"].([]interface{}))
|
|
|
- if len(a_items) == 0 || a_items[0]["a_key"] == nil || len(a_items[0]["a_key"].([]interface{})) == 0 {
|
|
|
- msg = "暂无设置订阅关键词,无法进行预测"
|
|
|
- code = 1
|
|
|
- } else if len(flist) == 0 {
|
|
|
- if area != "" || startTime != 0 || endTime != 0 {
|
|
|
- msg = "当前筛选条件下结果为空"
|
|
|
- code = 3
|
|
|
- } else {
|
|
|
- msg = "您设置的订阅关键词无法进行预测"
|
|
|
- code = 2
|
|
|
- }
|
|
|
- }
|
|
|
+ isKWD, o_member_jy := isKeWord(o_mb)
|
|
|
+ if isKWD {
|
|
|
+ flist, fcount, distinctCount = getNewForecast(main_userId, pageNum, *o_member_jy, pageSize, startTime, endTime, dataType, area)
|
|
|
+ if pageNum == 1 {
|
|
|
+ if len(flist) == 0 {
|
|
|
+ if area != "" || startTime != 0 || endTime != 0 {
|
|
|
+ msg = "当前筛选条件下结果为空"
|
|
|
+ code = 3
|
|
|
} else {
|
|
|
- msg = "暂无设置订阅关键词,无法进行预测"
|
|
|
- code = 1
|
|
|
+ msg = "您设置的订阅关键词无法进行预测"
|
|
|
+ code = 2
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- //PC端大会员 没有进行初始化
|
|
|
- msg = "暂无设置订阅关键词,无法进行预测"
|
|
|
- code = 1
|
|
|
}
|
|
|
+ } else {
|
|
|
+ //PC端大会员 没有进行初始化
|
|
|
+ msg = "暂无设置订阅关键词,无法进行预测"
|
|
|
+ code = 1
|
|
|
}
|
|
|
+
|
|
|
regMap.Data = map[string]interface{}{
|
|
|
"msg": msg,
|
|
|
"code": code,
|
|
@@ -460,6 +466,26 @@ func (this *Analysis) ForPList() {
|
|
|
this.ServeJson(regMap)
|
|
|
}
|
|
|
|
|
|
+func isKeWord(o_mb *map[string]interface{}) (bool, *map[string]interface{}) {
|
|
|
+ if o_mb == nil || len(*o_mb) == 0 || (*o_mb)["o_member_jy"] == nil {
|
|
|
+ return false, nil
|
|
|
+ }
|
|
|
+ o_member_jy := qutil.ObjToMap((*o_mb)["o_member_jy"])
|
|
|
+ if (*o_member_jy)["a_items"] == nil {
|
|
|
+ return false, nil
|
|
|
+ }
|
|
|
+ a_items := qutil.ObjArrToMapArr((*o_member_jy)["a_items"].([]interface{}))
|
|
|
+ if len(a_items) == 0 {
|
|
|
+ return false, nil
|
|
|
+ }
|
|
|
+ for _, item := range a_items {
|
|
|
+ if item["a_key"] != nil && len(a_items[0]["a_key"].([]interface{})) > 0 {
|
|
|
+ return true, o_member_jy
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false, nil
|
|
|
+}
|
|
|
+
|
|
|
type ForecastInfo struct {
|
|
|
Buyer string `json:"buyer"`
|
|
|
Id string `json:"id"`
|