wangshan 5 роки тому
батько
коміт
625b7ec81e

+ 7 - 32
src/jfw/modules/subscribepay/src/service/afterPay.go

@@ -18,43 +18,18 @@ type AfterPay struct {
 	*xweb.Action
 	getUserInfo xweb.Mapper `xweb:"/afterPay/getUserInfo"` //获取用户当前支付后的信息
 	setUserInfo xweb.Mapper `xweb:"/afterPay/setUserInfo"` //保存用户当前支付后的信息
+	pushView    xweb.Mapper `xweb:"/afterPay/pushView"`    //VIP推送预览
 }
 
-//初始化vip订阅关键词
-func MergeKws() {
+//
+func (a *AfterPay) PushView() error {
 	defer qutil.Catch()
 	userId, _ := a.GetSession("userId").(string)
-	if userId == "" {
-		return
-	}
-	data, ok := util.MQFW.FindById("user", userId, `{"o_jy":1,"o_vipjy":1}`)
-	var o_jy map[string]interface{}
-	var o_vipjy map[string]interface{}
-	if ok && data != nil && len(*data) > 0 {
-		o_vipjy, _ = (*data)["o_vipjy"].(map[string]interface{})
-		a_items, _ := o_vipjy["a_items"].([]interface{})
-		if a_items == nil { //首次
-			var o_kws = make(map[string]interface{})
-			o_jy, _ = (*data)["o_jy"].(map[string]interface{})
-			a_key, _ := o_jy["a_key"].([]interface{})
-			var _key = make([]map[string]interface{}, len(a_key))
-			if len(a_key) > 0 {
-				o_kws["s_item"] = "未分类"
-				for k, v := range a_key {
-					keyarr := v.(map[string]interface{})
-					_key[k] = map[string]interface{}{"key": keyarr["key"].([]interface{})}
-				}
-			}
-			o_kws["a_key"] = _key
-			if o_kws != nil && len(o_kws) > 0 {
-				a := util.MQFW.UpdateById("user", userId, bson.M{
-					"$push": bson.M{"o_vipjy.a_items": o_kws},
-				})
-				log.Println(a)
-			}
-		}
+	if userId != "" {
+		sql := GetSqlObjFromId(userId)
+		log.Println("sql:", sql)
 	}
-
+	return nil
 }
 
 //

+ 118 - 0
src/jfw/modules/subscribepay/src/service/vrew.go

@@ -0,0 +1,118 @@
+package service
+
+import (
+	"encoding/json"
+	"log"
+	qutil "qfw/util"
+	"strconv"
+	"util"
+
+	"gopkg.in/mgo.v2/bson"
+)
+
+/*已选条件--关键词*/
+type KeyWord struct {
+	Keyword  []string `json:"key"`       //关键词
+	Appended []string `json:"appendkey"` //附加词
+	Exclude  []string `json:"notkey"`    //排除词
+}
+
+/*已选条件*/
+type SieveCondition struct {
+	Area       []string  //地区-省份
+	City       []string  //地区-城市
+	Buyerclass []string  //采购行业
+	Keyword    []KeyWord //关键词
+	SelectType string    //筛选(正文 or 标题)
+	Subtype    []string  //信息类型
+}
+
+func GetSqlObjFromId(_id string) *SieveCondition {
+	var (
+		query *map[string]interface{}
+		ok    bool
+	)
+	if query, ok = util.MQFW.FindById("user", _id, `{"o_vipjy":1}`); !ok {
+		return nil
+	}
+	o_vipjy, _ := (*query)["o_vipjy"].(map[string]interface{})
+	a_items := o_vipjy["a_items"].([]interface{})
+	a_buyerclass := o_vipjy["a_buyerclass"].([]interface{})
+	a_infotype := o_vipjy["a_infotype"].([]interface{})
+	o_area := o_vipjy["o_area"].(map[string]interface{})
+	return &SieveCondition{
+		Keyword:    getKeyWordArrFromDbResult(a_items),
+		Buyerclass: qutil.ObjArrToStringArr(a_buyerclass),
+		Subtype:    qutil.ObjArrToStringArr(a_infotype),
+		Area:       getStringArrFromDbResult(o_area, 1),
+		City:       getStringArrFromDbResult(o_area, 2),
+		SelectType: strconv.Itoa(o_vipjy["i_matchway"].(int)),
+	}
+}
+
+//
+func getStringArrFromDbResult(area map[string]interface{}, i int) (arr []string) {
+	if area == nil {
+		return
+	}
+	for k, v := range area {
+		log.Println(k, v)
+	}
+	return
+}
+
+//关键词 附加词 排除词
+func getKeyWordArrFromDbResult(a_items []interface{}) (arr []KeyWord) {
+	if a_items == nil {
+		return
+	}
+	for _, v := range a_items {
+		kwsArr := v.(map[string]interface{})["a_key"]
+		for _, k := range kwsArr.([]interface{}) {
+			kw := KeyWord{}
+			b, e := json.Marshal(k)
+			if e != nil {
+				log.Println(e.Error())
+			}
+			json.Unmarshal(b, &kw)
+			arr = append(arr, kw)
+		}
+	}
+	return
+}
+
+//初始化vip订阅关键词
+func MergeKws(userId string) {
+	defer qutil.Catch()
+	if userId == "" {
+		return
+	}
+	data, ok := util.MQFW.FindById("user", userId, `{"o_jy":1,"o_vipjy":1}`)
+	var o_jy map[string]interface{}
+	var o_vipjy map[string]interface{}
+	if ok && data != nil && len(*data) > 0 {
+		o_vipjy, _ = (*data)["o_vipjy"].(map[string]interface{})
+		a_items, _ := o_vipjy["a_items"].([]interface{})
+		if a_items == nil { //首次
+			var o_kws = make(map[string]interface{})
+			o_jy, _ = (*data)["o_jy"].(map[string]interface{})
+			a_key, _ := o_jy["a_key"].([]interface{})
+			var _key = make([]map[string]interface{}, len(a_key))
+			if len(a_key) > 0 {
+				o_kws["s_item"] = "未分类"
+				for k, v := range a_key {
+					keyarr := v.(map[string]interface{})
+					_key[k] = map[string]interface{}{"key": keyarr["key"].([]interface{})}
+				}
+			}
+			o_kws["a_key"] = _key
+			if o_kws != nil && len(o_kws) > 0 {
+				a := util.MQFW.UpdateById("user", userId, bson.M{
+					"$push": bson.M{"o_vipjy.a_items": o_kws},
+				})
+				log.Println(a)
+			}
+		}
+	}
+
+}

+ 1 - 1
src/jfw/public/search.go

@@ -239,7 +239,7 @@ func getDataExportSql(scd *SieveCondition) string {
 	}
 
 	qstr := fmt.Sprintf(query, strings.Join(musts, ","), strings.Join(bools, ","), boolsNum)
-	//	log.Println("------qstr", qstr)
+	log.Println("------qstr", qstr)
 	return qstr
 }