|
@@ -403,15 +403,12 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
match_way, _ := a.GetInteger("match_way")
|
|
|
//是否是首次添加关键词
|
|
|
kwscount := a.GetString("kwscount")
|
|
|
- log.Println("===", a.GetString("pageType") == "keyWords", "---", actionType, "~~~", a.GetString("delete_key"))
|
|
|
|
|
|
//查询用vip关键词信息
|
|
|
data, ok := util.MQFW.FindById("user", userId, `{"o_vipjy.a_items":1}`)
|
|
|
if ok && data != nil && len(*data) > 0 {
|
|
|
- log.Println(userId)
|
|
|
o_vipjy, _ := (*data)["o_vipjy"].(map[string]interface{})
|
|
|
a_items, errs := o_vipjy["a_items"].([]interface{})
|
|
|
- log.Println("ok:", errs)
|
|
|
if !errs {
|
|
|
util.MQFW.UpdateById("user", userId, map[string]interface{}{
|
|
|
"$set": map[string]interface{}{
|
|
@@ -461,7 +458,6 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
if len([]rune(kws_name)) > 200 {
|
|
|
kws_name = qutil.SubString(kws_name, 0, 200)
|
|
|
}
|
|
|
- log.Println(kws_name)
|
|
|
if kws_name != "" {
|
|
|
classify_index = strconv.Itoa(i)
|
|
|
var _kws []string
|
|
@@ -558,12 +554,12 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
saveData["o_vipjy.a_items."+classify_index+".a_key"] = []map[string]interface{}{}
|
|
|
}
|
|
|
saveData["o_vipjy.a_items."+classify_index+".s_item"] = classify_name
|
|
|
+ saveData["o_vipjy.a_items."+classify_index+".updatetime"] = time.Now().Unix()
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
if actionType == "DC" { //删除分类
|
|
|
- log.Println("class", classify_index)
|
|
|
items := []interface{}{}
|
|
|
m := map[string]bool{}
|
|
|
for _, v := range strings.Split(classify_index, ",") {
|
|
@@ -574,11 +570,9 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
items = append(items, v)
|
|
|
}
|
|
|
}
|
|
|
- log.Println(items)
|
|
|
saveData["o_vipjy.a_items"] = items
|
|
|
} else if actionType == "DK" { //删除关键词
|
|
|
delete_key := a.GetString("delete_key")
|
|
|
- log.Println(delete_key, actionType)
|
|
|
dMap, err := JsonToMap(delete_key)
|
|
|
newMap := []interface{}{}
|
|
|
if err == nil && len(dMap) > 0 {
|
|
@@ -592,7 +586,6 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
if kk == "a_key" {
|
|
|
keyarrs := qutil.ObjArrToMapArr(vv.([]interface{}))
|
|
|
for kk, vk := range keyarrs {
|
|
|
- log.Println(strconv.Itoa(kk), "yyyy:", strings.Split(dMap[strconv.Itoa(k)].(string), ","))
|
|
|
if IsContain(strings.Split(dMap[strconv.Itoa(k)].(string), ","), strconv.Itoa(kk)) {
|
|
|
continue
|
|
|
}
|
|
@@ -607,7 +600,6 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
} else {
|
|
|
newMap = append(newMap, v)
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
//newMap
|
|
@@ -622,12 +614,9 @@ func (a *AfterPay) SetUserInfo() error {
|
|
|
other, _ := a.GetInteger("other")
|
|
|
saveData["o_vipjy.i_matchbuyerclass_other"] = other
|
|
|
} else if a.GetString("pageType") == "keytip" {
|
|
|
- if keytip, er := a.GetBool("keytip"); er == nil && keytip {
|
|
|
- saveData["b_keytip"] = true //fasle:需要弹窗 true:不需要弹窗
|
|
|
- }
|
|
|
+ saveData["b_keytip"] = true //fasle:需要弹窗 true:不需要弹窗
|
|
|
}
|
|
|
if len(saveData) > 0 {
|
|
|
- log.Println(saveData)
|
|
|
flag = util.MQFW.UpdateById("user", userId, map[string]interface{}{
|
|
|
"$set": saveData,
|
|
|
})
|
|
@@ -785,15 +774,12 @@ func KeyWordsRepeat(obj map[string]interface{}, aitems []interface{}, c_i, k_i i
|
|
|
if isRepeat(key) || isRepeat(appendkey) {
|
|
|
return true
|
|
|
}
|
|
|
- log.Println("obj", obj)
|
|
|
- //
|
|
|
- keys_before := map[string]bool{}
|
|
|
- keyM := map[string]bool{} //已有的关键词组
|
|
|
- for k, v := range aitems {
|
|
|
+ // 录入的关键词
|
|
|
+ for _, v := range aitems {
|
|
|
if items, ok := v.(map[string]interface{}); ok && len(items) > 0 {
|
|
|
for kk, vv := range items {
|
|
|
if kk == "a_key" {
|
|
|
- for m, n := range qutil.ObjArrToMapArr(vv.([]interface{})) {
|
|
|
+ for _, n := range qutil.ObjArrToMapArr(vv.([]interface{})) {
|
|
|
db_not := []string{}
|
|
|
db_key := []string{}
|
|
|
db_append := []string{}
|
|
@@ -806,51 +792,14 @@ func KeyWordsRepeat(obj map[string]interface{}, aitems []interface{}, c_i, k_i i
|
|
|
if n["appendkey"] != nil {
|
|
|
db_append = qutil.ObjArrToStringArr(n["appendkey"].([]interface{}))
|
|
|
}
|
|
|
- db_matchway := qutil.IntAllDef(n["matchway"], 0)
|
|
|
- if k == c_i && m == k_i {
|
|
|
- for _, v := range append(db_key, db_append...) {
|
|
|
- keys_before[v] = true
|
|
|
- }
|
|
|
- }
|
|
|
- k_m := ""
|
|
|
- if db_matchway == 1 {
|
|
|
- for _, x := range append(db_key, db_append...) {
|
|
|
- k_m = fmt.Sprintf("%s_%s_%v", x, strings.Join(db_not, ""), db_matchway)
|
|
|
- log.Println("--k_m-", k_m)
|
|
|
- keyM[k_m] = true
|
|
|
- }
|
|
|
- } else {
|
|
|
- k_m = fmt.Sprintf("%s_%s_%v", strings.Join(append(db_key, db_append...), ""), strings.Join(db_not, ""), db_matchway)
|
|
|
- keyM[k_m] = true
|
|
|
- log.Println("--k_m-", k_m)
|
|
|
+ if StringArrEqual(key, db_key) && StringArrEqual(notkey, db_not) && qutil.IntAllDef(n["matchway"], 0) == matchway && StringArrEqual(appendkey, db_append) {
|
|
|
+ return true
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //剔除已存在的关键词 保留新增关键词
|
|
|
- log.Println("keys_before:", keys_before)
|
|
|
- if len(keyM) > 0 {
|
|
|
- if matchway == 1 {
|
|
|
- for _, v := range append(key, appendkey...) {
|
|
|
- if keys_before[v] {
|
|
|
- continue
|
|
|
- }
|
|
|
- k_m2 := fmt.Sprintf("%s_%s_%v", v, strings.Join(notkey, ""), matchway)
|
|
|
- log.Println("--", k_m2)
|
|
|
- if keyM[k_m2] {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- k_m2 := fmt.Sprintf("%s_%s_%v", strings.Join(append(key, appendkey...), ""), strings.Join(notkey, ""), matchway)
|
|
|
- log.Println("--", k_m2)
|
|
|
- if keyM[k_m2] {
|
|
|
- return true
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
return false
|
|
|
}
|
|
|
|