Bladeren bron

fix:汉字长度限制修改

duxin 2 jaren geleden
bovenliggende
commit
aaa3d21689
1 gewijzigde bestanden met toevoegingen van 257 en 257 verwijderingen
  1. 257 257
      src/jfw/modules/bigmember/src/service/report/marketAnalysis.go

+ 257 - 257
src/jfw/modules/bigmember/src/service/report/marketAnalysis.go

@@ -1,295 +1,295 @@
 package report
 
 import (
-    "app.yhyue.com/moapp/jybase/go-xweb/httpsession"
-    "fmt"
-    "jy/src/jfw/modules/bigmember/src/config"
-    "jy/src/jfw/modules/bigmember/src/entity/marketAnalysis"
-    "jy/src/jfw/modules/bigmember/src/util"
-    "log"
-    "time"
+	"app.yhyue.com/moapp/jybase/go-xweb/httpsession"
+	"fmt"
+	"jy/src/jfw/modules/bigmember/src/config"
+	"jy/src/jfw/modules/bigmember/src/entity/marketAnalysis"
+	"jy/src/jfw/modules/bigmember/src/util"
+	"log"
+	"time"
 
-    . "app.yhyue.com/moapp/jybase/api"
-    qutil "app.yhyue.com/moapp/jybase/common"
-    "app.yhyue.com/moapp/jybase/go-xweb/xweb"
-    "app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
+	. "app.yhyue.com/moapp/jybase/api"
+	qutil "app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 )
 
 // MarketAnalysis 市场分析报告路由定义
 type MarketAnalysis struct {
-    *xweb.Action
-    doAnalysis        xweb.Mapper `xweb:"/marketAnalysis/doAnalysis"`        //市场分析分析查询(此接口只做为保存查询条件,返回记录id)
-    getAnalysisResult xweb.Mapper `xweb:"/marketAnalysis/getAnalysisResult"` //获取分析报告结果(根据记录id查询报告结果)
-    analysisHistory   xweb.Mapper `xweb:"/marketAnalysis/analysisHistory"`   //市场分析报告历史记录
-    analysisKeyWord   xweb.Mapper `xweb:"/marketAnalysis/analysisKeyWord"`   //市场分析报告订阅词
-    projectInfo       xweb.Mapper `xweb:"/marketAnalysis/projectInfo"`       //项目明细
+	*xweb.Action
+	doAnalysis        xweb.Mapper `xweb:"/marketAnalysis/doAnalysis"`        //市场分析分析查询(此接口只做为保存查询条件,返回记录id)
+	getAnalysisResult xweb.Mapper `xweb:"/marketAnalysis/getAnalysisResult"` //获取分析报告结果(根据记录id查询报告结果)
+	analysisHistory   xweb.Mapper `xweb:"/marketAnalysis/analysisHistory"`   //市场分析报告历史记录
+	analysisKeyWord   xweb.Mapper `xweb:"/marketAnalysis/analysisKeyWord"`   //市场分析报告订阅词
+	projectInfo       xweb.Mapper `xweb:"/marketAnalysis/projectInfo"`       //项目明细
 }
 
 // 项目明细
 func (this *MarketAnalysis) ProjectInfo() {
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    rData, errMsg := func() (interface{}, error) {
-        pid, powerErr := checkPower(this.Session())
-        if powerErr != nil {
-            return nil, powerErr
-        }
-        var (
-            sort, _     = this.GetInteger("sort")
-            pageSize, _ = this.GetInteger("pageSize")
-            pageNum, _  = this.GetInteger("pageNum")
-            rid         = util.DecodeId(this.GetString("rid"))
-        )
-        if rid == "" {
-            return nil, fmt.Errorf("参数异常")
-        }
-        log.Println("-----:", this.GetString("keysItems"))
-        //接受参数
-        bParam := marketAnalysis.AnalysisRequestParam{
-            KeysItemsStr:   this.GetString("keysItems"),      //分析内容【字符串】结构和o_member_jy.a_items保持一致
-            RangeTime:      this.GetString("rangeTime"),      //时间【字符串】 时间戳开始-结束时间戳
-            RangeTimeExtra: this.GetString("rangeTimeExtra"), //时间【字符串】 时间戳开始-结束时间戳
-            Area:           this.GetString("area"),           //省份【字符串】多个省份用逗号拼接
-            Industry:       this.GetString("industry"),       //行业【字符串】多个行业用逗号拼接
-            BuyerClass:     this.GetString("buyerclass"),     //采购单位类型【字符串】多个采购单位类型用逗号拼接
-            Buyer:          this.GetString("buyer"),          //采购单位
-            Winner:         this.GetString("winner"),         //中标单位
-            MatchingMode:   this.GetString("matchingMode"),   //匹配方式
-            Sort:           sort,                             //排序
-            PageSize:       pageSize,                         //每页数据量
-            PageNum:        pageNum,                          //当前页码
-            IsDetail:       true,                             //是否是项目明细请求
-        }
-        mae := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: rid, BaseParam: bParam, UId: userId, Pid: pid}
-        //参数验证 --:回显字段keysItems、area、industry、buyerclass
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		pid, powerErr := checkPower(this.Session())
+		if powerErr != nil {
+			return nil, powerErr
+		}
+		var (
+			sort, _     = this.GetInteger("sort")
+			pageSize, _ = this.GetInteger("pageSize")
+			pageNum, _  = this.GetInteger("pageNum")
+			rid         = util.DecodeId(this.GetString("rid"))
+		)
+		if rid == "" {
+			return nil, fmt.Errorf("参数异常")
+		}
+		log.Println("-----:", this.GetString("keysItems"))
+		//接受参数
+		bParam := marketAnalysis.AnalysisRequestParam{
+			KeysItemsStr:   this.GetString("keysItems"),      //分析内容【字符串】结构和o_member_jy.a_items保持一致
+			RangeTime:      this.GetString("rangeTime"),      //时间【字符串】 时间戳开始-结束时间戳
+			RangeTimeExtra: this.GetString("rangeTimeExtra"), //时间【字符串】 时间戳开始-结束时间戳
+			Area:           this.GetString("area"),           //省份【字符串】多个省份用逗号拼接
+			Industry:       this.GetString("industry"),       //行业【字符串】多个行业用逗号拼接
+			BuyerClass:     this.GetString("buyerclass"),     //采购单位类型【字符串】多个采购单位类型用逗号拼接
+			Buyer:          this.GetString("buyer"),          //采购单位
+			Winner:         this.GetString("winner"),         //中标单位
+			MatchingMode:   this.GetString("matchingMode"),   //匹配方式
+			Sort:           sort,                             //排序
+			PageSize:       pageSize,                         //每页数据量
+			PageNum:        pageNum,                          //当前页码
+			IsDetail:       true,                             //是否是项目明细请求
+		}
+		mae := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: rid, BaseParam: bParam, UId: userId, Pid: pid}
+		//参数验证 --:回显字段keysItems、area、industry、buyerclass
 
-        //原查询条件
-        maePrimary := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: rid, UId: userId, Pid: pid}
-        if err := maePrimary.GetAnalysisFromMgoDb(); err == nil {
-            if bParam.KeysItemsStr == "" || bParam.KeysItemsStr == "{}" || len([]rune(bParam.KeysItemsStr)) < 3 { //分析内容【字符串】结构和o_member_jy.a_items保持一致
-                mae.BaseParam.KeysItemsStr = maePrimary.BaseParam.KeysItemsStr
-            }
-            if bParam.Area == "" || bParam.Area == "{}" || len([]rune(bParam.Area)) < 3 { //省份【字符串】多个省份用逗号拼接
-                mae.BaseParam.Area = maePrimary.BaseParam.Area
-            }
-            if bParam.Industry == "" || bParam.Industry == "{}" || len([]rune(bParam.Industry)) < 3 { //行业【字符串】多个行业用逗号拼接
-                mae.BaseParam.Industry = maePrimary.BaseParam.Industry
-            }
-            if bParam.BuyerClass == "" || bParam.BuyerClass == "{}" || len([]rune(bParam.BuyerClass)) < 3 { //采购单位类型【字符串】多个采购单位类型用逗号拼接
-                mae.BaseParam.BuyerClass = maePrimary.BaseParam.BuyerClass
-            }
-            if bParam.MatchingMode == "" { //匹配模式
-                mae.BaseParam.MatchingMode = maePrimary.BaseParam.MatchingMode
-            }
-        }
+		//原查询条件
+		maePrimary := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: rid, UId: userId, Pid: pid}
+		if err := maePrimary.GetAnalysisFromMgoDb(); err == nil {
+			if bParam.KeysItemsStr == "" || bParam.KeysItemsStr == "{}" || len([]rune(bParam.KeysItemsStr)) < 2 { //分析内容【字符串】结构和o_member_jy.a_items保持一致
+				mae.BaseParam.KeysItemsStr = maePrimary.BaseParam.KeysItemsStr
+			}
+			if bParam.Area == "" || bParam.Area == "{}" || len([]rune(bParam.Area)) < 2 { //省份【字符串】多个省份用逗号拼接
+				mae.BaseParam.Area = maePrimary.BaseParam.Area
+			}
+			if bParam.Industry == "" || bParam.Industry == "{}" || len([]rune(bParam.Industry)) < 2 { //行业【字符串】多个行业用逗号拼接
+				mae.BaseParam.Industry = maePrimary.BaseParam.Industry
+			}
+			if bParam.BuyerClass == "" || bParam.BuyerClass == "{}" || len([]rune(bParam.BuyerClass)) < 2 { //采购单位类型【字符串】多个采购单位类型用逗号拼接
+				mae.BaseParam.BuyerClass = maePrimary.BaseParam.BuyerClass
+			}
+			if bParam.MatchingMode == "" { //匹配模式
+				mae.BaseParam.MatchingMode = maePrimary.BaseParam.MatchingMode
+			}
+		}
 
-        if err := mae.ForMatData(); err != nil {
-            return nil, err
-        }
-        //项目明细
-        if err := mae.GetProjectInfoList(); err != nil {
-            return nil, err
-        }
-        return map[string]interface{}{
-            "total": mae.ProjectInfo.Count,
-            "list":  mae.ProjectInfo.List,
-        }, nil
-    }()
-    if errMsg != nil {
-        log.Printf("%s MarketAnalysis DoAnalysis Error:%s\n", userId, errMsg.Error())
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+		if err := mae.ForMatData(); err != nil {
+			return nil, err
+		}
+		//项目明细
+		if err := mae.GetProjectInfoList(); err != nil {
+			return nil, err
+		}
+		return map[string]interface{}{
+			"total": mae.ProjectInfo.Count,
+			"list":  mae.ProjectInfo.List,
+		}, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s MarketAnalysis DoAnalysis Error:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 
 // checkPower 权限校验
 func checkPower(session *httpsession.Session) (string, error) {
-    userid := fmt.Sprint(qutil.Int64All(session.Get("base_user_id")))
-    if userid == "" || userid == "0" {
-        return "", fmt.Errorf("未登录")
-    }
-    //仅购买《周报/月报/定制化市场分析报告》的大会员有权限
-    bigMeg := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
-    return bigMeg.Pid, nil
+	userid := fmt.Sprint(qutil.Int64All(session.Get("base_user_id")))
+	if userid == "" || userid == "0" {
+		return "", fmt.Errorf("未登录")
+	}
+	//仅购买《周报/月报/定制化市场分析报告》的大会员有权限
+	bigMeg := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
+	return bigMeg.Pid, nil
 }
 
 // DoAnalysis 开始分析报告
 func (this *MarketAnalysis) DoAnalysis() {
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    rData, errMsg := func() (interface{}, error) {
-        pid, powerErr := checkPower(this.Session())
-        if powerErr != nil {
-            return nil, powerErr
-        }
-        //接受参数
-        bParam := marketAnalysis.AnalysisRequestParam{
-            KeysItemsStr:   this.GetString("keysItems"),      //分析内容【字符串】结构和o_member_jy.a_items保持一致
-            RangeTime:      this.GetString("rangeTime"),      //时间【字符串】 时间戳开始-结束时间戳
-            RangeTimeExtra: this.GetString("rangeTimeExtra"), //时间【字符串】 时间戳开始-结束时间戳
-            Area:           this.GetString("area"),           //省份【字符串】多个省份用逗号拼接
-            Industry:       this.GetString("industry"),       //行业【字符串】多个行业用逗号拼接
-            BuyerClass:     this.GetString("buyerclass"),     //采购单位类型【字符串】多个采购单位类型用逗号拼接
-            MatchingMode:   this.GetString("matchingMode"),   //匹配方式
-        }
-        mae := &marketAnalysis.MarketAnalysisEntity{BaseParam: bParam, UId: userId, Pid: pid}
-        if err := mae.ForMatData(); err != nil {
-            return nil, err
-        }
-        //存储分析记录
-        if err := mae.SaveAnalysisRecord(); err != nil {
-            return nil, err
-        }
-        return util.EncodeId(mae.MgoRecordId), nil
-    }()
-    if errMsg != nil {
-        log.Printf("%s MarketAnalysis DoAnalysis Error:%s\n", userId, errMsg.Error())
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		pid, powerErr := checkPower(this.Session())
+		if powerErr != nil {
+			return nil, powerErr
+		}
+		//接受参数
+		bParam := marketAnalysis.AnalysisRequestParam{
+			KeysItemsStr:   this.GetString("keysItems"),      //分析内容【字符串】结构和o_member_jy.a_items保持一致
+			RangeTime:      this.GetString("rangeTime"),      //时间【字符串】 时间戳开始-结束时间戳
+			RangeTimeExtra: this.GetString("rangeTimeExtra"), //时间【字符串】 时间戳开始-结束时间戳
+			Area:           this.GetString("area"),           //省份【字符串】多个省份用逗号拼接
+			Industry:       this.GetString("industry"),       //行业【字符串】多个行业用逗号拼接
+			BuyerClass:     this.GetString("buyerclass"),     //采购单位类型【字符串】多个采购单位类型用逗号拼接
+			MatchingMode:   this.GetString("matchingMode"),   //匹配方式
+		}
+		mae := &marketAnalysis.MarketAnalysisEntity{BaseParam: bParam, UId: userId, Pid: pid}
+		if err := mae.ForMatData(); err != nil {
+			return nil, err
+		}
+		//存储分析记录
+		if err := mae.SaveAnalysisRecord(); err != nil {
+			return nil, err
+		}
+		return util.EncodeId(mae.MgoRecordId), nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s MarketAnalysis DoAnalysis Error:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 
 // GetAnalysisResult 获取分析结果
 func (this *MarketAnalysis) GetAnalysisResult() {
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    rData, errMsg := func() (interface{}, error) {
-        pid, powerErr := checkPower(this.Session())
-        if powerErr != nil {
-            return nil, powerErr
-        }
-        mae := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: util.DecodeId(this.GetString("rid")), UId: userId, Pid: pid}
-        if err := mae.GetAnalysisFromMgoDb(); err != nil {
-            return nil, err
-        }
-        //二次校验数据
-        if err := mae.ForMatData(); err != nil {
-            return nil, err
-        }
-        //查询
-        flag, _ := this.GetInteger("flag")
-        rData, err := mae.GetPartResult(flag)
-        if err != nil {
-            return nil, err
-        }
-        return rData, nil
-    }()
-    if errMsg != nil {
-        log.Printf("%s MarketAnalysis GetAnalysisResult Error:%s\n", userId, errMsg.Error())
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		pid, powerErr := checkPower(this.Session())
+		if powerErr != nil {
+			return nil, powerErr
+		}
+		mae := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: util.DecodeId(this.GetString("rid")), UId: userId, Pid: pid}
+		if err := mae.GetAnalysisFromMgoDb(); err != nil {
+			return nil, err
+		}
+		//二次校验数据
+		if err := mae.ForMatData(); err != nil {
+			return nil, err
+		}
+		//查询
+		flag, _ := this.GetInteger("flag")
+		rData, err := mae.GetPartResult(flag)
+		if err != nil {
+			return nil, err
+		}
+		return rData, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s MarketAnalysis GetAnalysisResult Error:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 
 // AnalysisHistory 分析报告历史
 func (this *MarketAnalysis) AnalysisHistory() {
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    rData, errMsg := func() (interface{}, error) {
-        pid, powerErr := checkPower(this.Session())
-        if powerErr != nil {
-            return nil, powerErr
-        }
-        //接受参数
-        pageNum, pageNumErr := this.GetInteger("pageNum") //页码
-        if pageNumErr != nil {
-            pageNum = 1
-        }
-        pageSize, pageSizeErr := this.GetInteger("pageSize") //每页数量
-        if pageSizeErr != nil {
-            pageSize = 10
-        }
-        mae := &marketAnalysis.MarketAnalysisEntity{UId: userId, Pid: pid}
-        total, list := mae.GetRecordList(pageNum, pageSize)
-        return map[string]interface{}{
-            "total": total,
-            "list":  list,
-        }, nil
-    }()
-    if errMsg != nil {
-        log.Printf("%s MarketAnalysis AnalysisHistory Error:%s\n", userId, errMsg.Error())
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		pid, powerErr := checkPower(this.Session())
+		if powerErr != nil {
+			return nil, powerErr
+		}
+		//接受参数
+		pageNum, pageNumErr := this.GetInteger("pageNum") //页码
+		if pageNumErr != nil {
+			pageNum = 1
+		}
+		pageSize, pageSizeErr := this.GetInteger("pageSize") //每页数量
+		if pageSizeErr != nil {
+			pageSize = 10
+		}
+		mae := &marketAnalysis.MarketAnalysisEntity{UId: userId, Pid: pid}
+		total, list := mae.GetRecordList(pageNum, pageSize)
+		return map[string]interface{}{
+			"total": total,
+			"list":  list,
+		}, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s MarketAnalysis AnalysisHistory Error:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 
 func (this *MarketAnalysis) AnalysisKeyWord() {
-    r := func() Result {
-        userid := qutil.ObjToString(this.GetSession("userId"))
-        if userid == "" {
-            return Result{Data: M{"status": -1}, Error_msg: "未登录"}
-        }
-        mainid, _, _ := util.MainUserId(this.Session())
-        d := map[string]interface{}{
-            "member_status": 0,
-        }
-        i_member_status := int64(0)
-        i_vip_status := int64(0)
-        o_member_jy := &map[string]interface{}{}
-        oJy := &map[string]interface{}{}
-        vipJy := &map[string]interface{}{}
-        i_member_starttime := int(0)
-        i_member_endtime := int(0)
-        l_vip_starttime := int(0)
-        l_vip_endtime := int(0)
-        registedate := int64(0)
-        data := config.Compatible.Select(mainid, `{"o_jy":1,"o_vipjy":1,"i_member_starttime":1,"i_member_endtime":1,"i_member_status":1,"l_vip_endtime":1,"l_vip_starttime":1,"o_member_jy":1,"i_vip_status":1,"l_registedate":1}`)
-        i_member_status = qutil.Int64All((*data)["i_member_status"])
-        i_vip_status = qutil.Int64All((*data)["i_vip_status"])
-        o_member_jy = qutil.ObjToMap((*data)["o_member_jy"])
-        oJy = qutil.ObjToMap((*data)["o_jy"])      //免费用户关键词
-        vipJy = qutil.ObjToMap((*data)["o_vipjy"]) //超级订阅关键词
-        i_member_starttime = qutil.IntAll((*data)["i_member_starttime"])
-        i_member_endtime = qutil.IntAll((*data)["i_member_endtime"])
-        registedate = (*data)["l_registedate"].(int64)
-        if i_member_status > 0 {
-            btip, _ := (*o_member_jy)["b_keytip"].(bool)
-            KeyWord(btip, i_member_status, i_member_starttime, i_member_endtime, registedate, *o_member_jy, d)
-        } else if i_vip_status > 0 {
-            btip, _ := (*vipJy)["b_keytip"].(bool)
-            KeyWord(btip, i_vip_status, l_vip_starttime, l_vip_endtime, registedate, (*vipJy), d)
-        } else {
-            a_key, _ := (*oJy)["a_key"].([]interface{})
-            if a_key != nil && len(a_key) > 0 {
-                //免费用户关键词格式统一
-                arrMap := map[string]interface{}{
-                    "s_item": "未分类",
-                    "a_key":  (*oJy)["a_key"],
-                }
-                (*oJy)["a_items"] = []map[string]interface{}{arrMap}
-                d["member_jy"] = oJy
-                d["key_max_length"] = config.Config.KeyMaxLength
-            }
-        }
-        return Result{Data: d}
-    }()
-    this.ServeJson(r)
+	r := func() Result {
+		userid := qutil.ObjToString(this.GetSession("userId"))
+		if userid == "" {
+			return Result{Data: M{"status": -1}, Error_msg: "未登录"}
+		}
+		mainid, _, _ := util.MainUserId(this.Session())
+		d := map[string]interface{}{
+			"member_status": 0,
+		}
+		i_member_status := int64(0)
+		i_vip_status := int64(0)
+		o_member_jy := &map[string]interface{}{}
+		oJy := &map[string]interface{}{}
+		vipJy := &map[string]interface{}{}
+		i_member_starttime := int(0)
+		i_member_endtime := int(0)
+		l_vip_starttime := int(0)
+		l_vip_endtime := int(0)
+		registedate := int64(0)
+		data := config.Compatible.Select(mainid, `{"o_jy":1,"o_vipjy":1,"i_member_starttime":1,"i_member_endtime":1,"i_member_status":1,"l_vip_endtime":1,"l_vip_starttime":1,"o_member_jy":1,"i_vip_status":1,"l_registedate":1}`)
+		i_member_status = qutil.Int64All((*data)["i_member_status"])
+		i_vip_status = qutil.Int64All((*data)["i_vip_status"])
+		o_member_jy = qutil.ObjToMap((*data)["o_member_jy"])
+		oJy = qutil.ObjToMap((*data)["o_jy"])      //免费用户关键词
+		vipJy = qutil.ObjToMap((*data)["o_vipjy"]) //超级订阅关键词
+		i_member_starttime = qutil.IntAll((*data)["i_member_starttime"])
+		i_member_endtime = qutil.IntAll((*data)["i_member_endtime"])
+		registedate = (*data)["l_registedate"].(int64)
+		if i_member_status > 0 {
+			btip, _ := (*o_member_jy)["b_keytip"].(bool)
+			KeyWord(btip, i_member_status, i_member_starttime, i_member_endtime, registedate, *o_member_jy, d)
+		} else if i_vip_status > 0 {
+			btip, _ := (*vipJy)["b_keytip"].(bool)
+			KeyWord(btip, i_vip_status, l_vip_starttime, l_vip_endtime, registedate, (*vipJy), d)
+		} else {
+			a_key, _ := (*oJy)["a_key"].([]interface{})
+			if a_key != nil && len(a_key) > 0 {
+				//免费用户关键词格式统一
+				arrMap := map[string]interface{}{
+					"s_item": "未分类",
+					"a_key":  (*oJy)["a_key"],
+				}
+				(*oJy)["a_items"] = []map[string]interface{}{arrMap}
+				d["member_jy"] = oJy
+				d["key_max_length"] = config.Config.KeyMaxLength
+			}
+		}
+		return Result{Data: d}
+	}()
+	this.ServeJson(r)
 }
 
 func KeyWord(btip bool, status int64, i_member_starttime, i_member_endtime int, regtime int64, o_member_jy, d map[string]interface{}) {
-    //是否展示附加词合并
-    appendK_bl := false
-    if !btip && status > 0 && o_member_jy != nil && len(o_member_jy) > 0 {
-        if o_member_jy["a_items"] != nil {
-            for _, v := range o_member_jy["a_items"].([]interface{}) {
-                tmp := qutil.ObjToMap(v.(map[string]interface{}))
-                a_key, _ := (*tmp)["a_key"].([]interface{})
-                for _, n := range a_key {
-                    ntmp := qutil.ObjToMap(n.(interface{}))
-                    if (*ntmp)["appendkey"] != nil && (*ntmp)["updatetime"] == nil {
-                        appendkey := qutil.ObjArrToStringArr((*ntmp)["appendkey"].([]interface{}))
-                        if len(appendkey) > 0 {
-                            appendK_bl = true
-                        }
-                    }
-                }
-            }
-        }
+	//是否展示附加词合并
+	appendK_bl := false
+	if !btip && status > 0 && o_member_jy != nil && len(o_member_jy) > 0 {
+		if o_member_jy["a_items"] != nil {
+			for _, v := range o_member_jy["a_items"].([]interface{}) {
+				tmp := qutil.ObjToMap(v.(map[string]interface{}))
+				a_key, _ := (*tmp)["a_key"].([]interface{})
+				for _, n := range a_key {
+					ntmp := qutil.ObjToMap(n.(interface{}))
+					if (*ntmp)["appendkey"] != nil && (*ntmp)["updatetime"] == nil {
+						appendkey := qutil.ObjArrToStringArr((*ntmp)["appendkey"].([]interface{}))
+						if len(appendkey) > 0 {
+							appendK_bl = true
+						}
+					}
+				}
+			}
+		}
 
-        //订阅设置优化版本上线之前的用户弹窗提醒
-        optime := time.Unix(config.Config.OldSubscribeMoveTip, 0)
-        if time.Unix(regtime, 0).Before(optime) && appendK_bl {
-            o_member_jy["b_keytip"] = false
-        } else {
-            o_member_jy["b_keytip"] = true
-        }
-    }
-    d["member_jy"] = o_member_jy
-    d["member_status"] = status
-    d["member_starttime"] = i_member_starttime
-    d["member_endtime"] = i_member_endtime
-    //d["member_jy"] = qu.ObjToMap((*data)["o_member_jy"])
-    d["key_max_length"] = config.Config.KeyMaxLength
+		//订阅设置优化版本上线之前的用户弹窗提醒
+		optime := time.Unix(config.Config.OldSubscribeMoveTip, 0)
+		if time.Unix(regtime, 0).Before(optime) && appendK_bl {
+			o_member_jy["b_keytip"] = false
+		} else {
+			o_member_jy["b_keytip"] = true
+		}
+	}
+	d["member_jy"] = o_member_jy
+	d["member_status"] = status
+	d["member_starttime"] = i_member_starttime
+	d["member_endtime"] = i_member_endtime
+	//d["member_jy"] = qu.ObjToMap((*data)["o_member_jy"])
+	d["key_max_length"] = config.Config.KeyMaxLength
 }