|
@@ -1,295 +1,295 @@
|
|
package report
|
|
package report
|
|
|
|
|
|
import (
|
|
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 市场分析报告路由定义
|
|
// MarketAnalysis 市场分析报告路由定义
|
|
type MarketAnalysis struct {
|
|
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() {
|
|
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 权限校验
|
|
// checkPower 权限校验
|
|
func checkPower(session *httpsession.Session) (string, error) {
|
|
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 开始分析报告
|
|
// DoAnalysis 开始分析报告
|
|
func (this *MarketAnalysis) 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 获取分析结果
|
|
// GetAnalysisResult 获取分析结果
|
|
func (this *MarketAnalysis) 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 分析报告历史
|
|
// AnalysisHistory 分析报告历史
|
|
func (this *MarketAnalysis) 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() {
|
|
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{}) {
|
|
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
|
|
}
|
|
}
|