|
@@ -22,6 +22,93 @@ type AfterPay struct {
|
|
updateUserTips xweb.Mapper `xweb:"/afterPay/updateUserTips"` //修改用户未分类关键词提醒
|
|
updateUserTips xweb.Mapper `xweb:"/afterPay/updateUserTips"` //修改用户未分类关键词提醒
|
|
directSubKWS xweb.Mapper `xweb:"/afterPay/directSubKWS"` //搜索列表直接订阅关键词
|
|
directSubKWS xweb.Mapper `xweb:"/afterPay/directSubKWS"` //搜索列表直接订阅关键词
|
|
checkOrder xweb.Mapper `xweb:"/afterPay/checkOrder"` //是否有未执行的订单
|
|
checkOrder xweb.Mapper `xweb:"/afterPay/checkOrder"` //是否有未执行的订单
|
|
|
|
+ fastImport xweb.Mapper `xweb:"/afterPay/fastImport"` //快速导入关键词
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//
|
|
|
|
+func (a *AfterPay) FastImport() error {
|
|
|
|
+ defer qutil.Catch()
|
|
|
|
+ userId, _ := a.GetSession("userId").(string)
|
|
|
|
+ flagInt := 0
|
|
|
|
+ var _keys []map[string]interface{}
|
|
|
|
+ kwsCount := 0
|
|
|
|
+ classify_index := 0
|
|
|
|
+ kws_index := 0
|
|
|
|
+ if userId != "" {
|
|
|
|
+ data, ok := util.MQFW.FindById("user", userId, `{"o_jy":1,"o_vipjy":1,"i_vip_fastimport":1}`)
|
|
|
|
+ if ok && data != nil && len(*data) > 0 {
|
|
|
|
+ o_jy, _ := (*data)["o_jy"].(map[string]interface{})
|
|
|
|
+ if o_jy["a_key"] != nil && len(o_jy["a_key"].([]interface{})) > 0 { //普通用户存在设置的关键词
|
|
|
|
+ _keys = qutil.ObjArrToMapArr(o_jy["a_key"].([]interface{})) //普通用户设置的关键词
|
|
|
|
+ o_vipjy, _ := (*data)["o_vipjy"].(map[string]interface{})
|
|
|
|
+ if o_vipjy["a_items"] != nil {
|
|
|
|
+ a_items := o_vipjy["a_items"].([]interface{})
|
|
|
|
+ for k, v := range a_items {
|
|
|
|
+ tmp := qutil.ObjToMap(v.(map[string]interface{}))
|
|
|
|
+ a_key := (*tmp)["a_key"].([]interface{})
|
|
|
|
+ kwsCount = kwsCount + len(a_key)
|
|
|
|
+ if (*tmp)["s_item"] == "未分类" {
|
|
|
|
+ classify_index = k
|
|
|
|
+ kws_index = len(a_key)
|
|
|
|
+ }
|
|
|
|
+ for _, n := range a_key {
|
|
|
|
+ ntmp := qutil.ObjToMap(n.(interface{}))
|
|
|
|
+ nkey := qutil.ObjArrToStringArr((*ntmp)["key"].([]interface{}))
|
|
|
|
+ for i, m := range _keys {
|
|
|
|
+ mkey := qutil.ObjArrToStringArr(m["key"].([]interface{}))
|
|
|
|
+ if strings.Join(nkey, " ") == strings.Join(mkey, " ") {
|
|
|
|
+ _keys = append(_keys[:i], _keys[i+1:]...)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(_keys) > 0 {
|
|
|
|
+ if kwsCount >= 300 {
|
|
|
|
+ flagInt = -3 //超过最大设置量
|
|
|
|
+ } else {
|
|
|
|
+ if len(_keys)+kwsCount >= 300 {
|
|
|
|
+ _keys = _keys[:(300 - kwsCount)]
|
|
|
|
+ }
|
|
|
|
+ if classify_index == 0 && kws_index == 0 {
|
|
|
|
+ //首次添加分类和关键词
|
|
|
|
+ var o_kws = make(map[string]interface{})
|
|
|
|
+ classify_name := "未分类"
|
|
|
|
+ o_kws["s_item"] = classify_name
|
|
|
|
+ o_kws["i_tips"] = 0
|
|
|
|
+ o_kws["a_key"] = _keys
|
|
|
|
+ ok := util.MQFW.UpdateById("user", userId, bson.M{
|
|
|
|
+ "$push": bson.M{"o_vipjy.a_items": o_kws},
|
|
|
|
+ "$set": bson.M{"o_vipjy.l_modifydate": time.Now().Unix(), "i_vip_fastimport": 1},
|
|
|
|
+ })
|
|
|
|
+ if ok {
|
|
|
|
+ flagInt = 1 //导入成功
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ ok := util.MQFW.UpdateById("user", userId, bson.M{
|
|
|
|
+ "$push": bson.M{"o_vipjy.a_items." + strconv.Itoa(classify_index) + ".a_key": bson.M{"$each": _keys}},
|
|
|
|
+ "$set": bson.M{"o_vipjy.l_modifydate": time.Now().Unix(), "i_vip_fastimport": 1},
|
|
|
|
+ })
|
|
|
|
+ if ok {
|
|
|
|
+ flagInt = 1 //导入成功
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ flagInt = -2 //普通用户的关键词都已存在
|
|
|
|
+ }
|
|
|
|
+ log.Println(classify_index, kws_index, _keys)
|
|
|
|
+
|
|
|
|
+ } else {
|
|
|
|
+ flagInt = -1 //普通用户暂未设置关键词
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ a.ServeJson(map[string]interface{}{
|
|
|
|
+ "flagInt": flagInt,
|
|
|
|
+ "kwMap": _keys,
|
|
|
|
+ })
|
|
|
|
+ return nil
|
|
}
|
|
}
|
|
|
|
|
|
//
|
|
//
|
|
@@ -301,10 +388,16 @@ func (a *AfterPay) GetUserInfo() error {
|
|
userId, _ := a.GetSession("userId").(string)
|
|
userId, _ := a.GetSession("userId").(string)
|
|
var userData *map[string]interface{}
|
|
var userData *map[string]interface{}
|
|
if userId != "" {
|
|
if userId != "" {
|
|
- userData, _ = util.MQFW.FindById("user", userId, `{"o_vipjy":1,"i_vip_status":1,"l_vip_starttime":1,"l_vip_endtime":1}`)
|
|
|
|
|
|
+ userData, _ = util.MQFW.FindById("user", userId, `{"o_vipjy":1,"o_jy":1,"i_vip_status":1,"l_vip_starttime":1,"l_vip_endtime":1,"i_vip_fastimport":1}`)
|
|
if *userData != nil && (qutil.IntAll((*userData)["i_vip_status"]) == 1 || qutil.IntAll((*userData)["i_vip_status"]) == 2) {
|
|
if *userData != nil && (qutil.IntAll((*userData)["i_vip_status"]) == 1 || qutil.IntAll((*userData)["i_vip_status"]) == 2) {
|
|
data := qutil.ObjToMap((*userData)["o_vipjy"])
|
|
data := qutil.ObjToMap((*userData)["o_vipjy"])
|
|
i_vip_status := qutil.IntAll((*userData)["i_vip_status"])
|
|
i_vip_status := qutil.IntAll((*userData)["i_vip_status"])
|
|
|
|
+ o_jy, _ := (*data)["o_jy"].(map[string]interface{})
|
|
|
|
+ if o_jy["a_key"] != nil && len(o_jy["a_key"].([]interface{})) > 0 { //普通用户存在设置的关键词
|
|
|
|
+ (*userData)["ordinarykc"] = len(o_jy["a_key"].([]interface{}))
|
|
|
|
+ } else {
|
|
|
|
+ (*userData)["ordinarykc"] = 0
|
|
|
|
+ }
|
|
//区域
|
|
//区域
|
|
_buyset := qutil.ObjToMap((*data)["o_buyset"].(interface{}))
|
|
_buyset := qutil.ObjToMap((*data)["o_buyset"].(interface{}))
|
|
var area_i = qutil.IntAll((*_buyset)["areacount"])
|
|
var area_i = qutil.IntAll((*_buyset)["areacount"])
|
|
@@ -371,7 +464,7 @@ func (a *AfterPay) GetUserInfo() error {
|
|
} else {
|
|
} else {
|
|
(*data)["a_infotype"] = ""
|
|
(*data)["a_infotype"] = ""
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ (*userData)["i_vip_fastimport"] = qutil.IntAll((*userData)["i_vip_fastimport"])
|
|
}
|
|
}
|
|
log.Println("userId:", userId)
|
|
log.Println("userId:", userId)
|
|
a.ServeJson(map[string]interface{}{
|
|
a.ServeJson(map[string]interface{}{
|