|
@@ -0,0 +1,217 @@
|
|
|
+package eta_forum
|
|
|
+
|
|
|
+import (
|
|
|
+ "eta/eta_api/models/data_manage"
|
|
|
+ "eta/eta_api/services/alarm_msg"
|
|
|
+ "eta/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+type UserChartListReq struct {
|
|
|
+ Keyword string `description:"搜索关键词"`
|
|
|
+ PageSize int
|
|
|
+ CurrentIndex int
|
|
|
+ UserMobile string `description:"用户手机号"`
|
|
|
+ BusinessCode string `description:"商户号"`
|
|
|
+ UserTelAreaCode string `description:"手机号区号"`
|
|
|
+}
|
|
|
+
|
|
|
+type UserChartListResp struct {
|
|
|
+ Ret int
|
|
|
+ Msg string
|
|
|
+ ErrMsg string
|
|
|
+ ErrCode string
|
|
|
+ Data *UserChartListRespItem
|
|
|
+ Success bool `description:"true 执行成功,false 执行失败"`
|
|
|
+ IsSendEmail bool `json:"-" description:"true 发送邮件,false 不发送邮件"`
|
|
|
+ IsAddLog bool `json:"-" description:"true 新增操作日志,false 不新增操作日志" `
|
|
|
+}
|
|
|
+
|
|
|
+type UserChartListRespItem struct {
|
|
|
+ ChartInfoList []*data_manage.ChartInfo
|
|
|
+ Paging *paging.PagingItem `description:"分页数据"`
|
|
|
+}
|
|
|
+
|
|
|
+type UserCollectChartClassifyListResp struct {
|
|
|
+ Ret int
|
|
|
+ Msg string
|
|
|
+ ErrMsg string
|
|
|
+ ErrCode string
|
|
|
+ Data *UserCollectChartClassifyListItem
|
|
|
+ Success bool `description:"true 执行成功,false 执行失败"`
|
|
|
+ IsSendEmail bool `json:"-" description:"true 发送邮件,false 不发送邮件"`
|
|
|
+ IsAddLog bool `json:"-" description:"true 新增操作日志,false 不新增操作日志" `
|
|
|
+}
|
|
|
+
|
|
|
+type UserCollectChartClassifyListItem struct {
|
|
|
+ List []*ChartCollectClassifyItem
|
|
|
+ Language string `description:"指标的展示语言,CN:中文,EN:英文"`
|
|
|
+}
|
|
|
+
|
|
|
+// ChartCollectClassifyItem 我的图表分类信息
|
|
|
+type ChartCollectClassifyItem struct {
|
|
|
+ CollectClassifyId int `description:"分类ID"`
|
|
|
+ ClassifyName string `description:"分类名称"`
|
|
|
+ UserId int `description:"创建人id"`
|
|
|
+ ChartNum int `description:"分类下的图表数量"`
|
|
|
+}
|
|
|
+
|
|
|
+type UserCollectChartListResp struct {
|
|
|
+ Ret int
|
|
|
+ Msg string
|
|
|
+ ErrMsg string
|
|
|
+ ErrCode string
|
|
|
+ Data *UserCollectChartListRespItem
|
|
|
+ Success bool `description:"true 执行成功,false 执行失败"`
|
|
|
+ IsSendEmail bool `json:"-" description:"true 发送邮件,false 不发送邮件"`
|
|
|
+ IsAddLog bool `json:"-" description:"true 新增操作日志,false 不新增操作日志" `
|
|
|
+}
|
|
|
+type UserCollectChartListRespItem struct {
|
|
|
+ Paging *paging.PagingItem
|
|
|
+ List []*ChartCollectView
|
|
|
+}
|
|
|
+
|
|
|
+type ChartCollectView struct {
|
|
|
+ ChartCollectId int
|
|
|
+ ChartInfoId int `description:"图表id"`
|
|
|
+ UserId int `description:"用户id"`
|
|
|
+ CreateTime time.Time `description:"创建时间"`
|
|
|
+ CollectTime time.Time `description:"收藏时间"`
|
|
|
+ CollectClassifyId int
|
|
|
+ ChartName string `description:"来源名称"`
|
|
|
+ ChartNameEn string `description:"英文图表名称"`
|
|
|
+ ChartImage string `description:"图表图片"`
|
|
|
+ UniqueCode string `description:"图表唯一编码"`
|
|
|
+}
|
|
|
+
|
|
|
+type ChartFromUniqueCodeResp struct {
|
|
|
+ Ret int
|
|
|
+ Msg string
|
|
|
+ ErrMsg string
|
|
|
+ ErrCode string
|
|
|
+ Data *ChartFromUniqueCodeRespItem
|
|
|
+ Success bool `description:"true 执行成功,false 执行失败"`
|
|
|
+ IsSendEmail bool `json:"-" description:"true 发送邮件,false 不发送邮件"`
|
|
|
+ IsAddLog bool `json:"-" description:"true 新增操作日志,false 不新增操作日志" `
|
|
|
+}
|
|
|
+
|
|
|
+type ChartFromUniqueCodeRespItem struct {
|
|
|
+ ChartInfo *data_manage.ChartInfoView
|
|
|
+ EdbInfoList []*data_manage.ChartEdbInfoMapping
|
|
|
+ XEdbIdValue []int `description:"柱方图的x轴数据,指标id"`
|
|
|
+ YDataList []data_manage.YData `description:"柱方图的y轴数据"`
|
|
|
+ XDataList []data_manage.XData `description:"商品价格曲线的X轴数据"`
|
|
|
+ //BarChartInfo BarChartInfoReq `description:"柱方图的配置"`
|
|
|
+ //CorrelationChartInfo *CorrelationInfo `description:"相关性图表信息"`
|
|
|
+ DataResp interface{} `description:"图表数据,根据图的类型而定的,没有确定的数据格式"`
|
|
|
+ WaterMark string `description:"水印"`
|
|
|
+}
|
|
|
+
|
|
|
+// GetUserChartList 查询社区中对用户可见的图表列表
|
|
|
+func GetUserChartList(businessCode, userMobile, telAreaCode, keyword string) (resp UserChartListRespItem, err error, errMsg string) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ msg := fmt.Sprintf("查询社区中对用户可见的图表列表 GetUserChartList:Err:%v,ErrMsg:%s", err, errMsg)
|
|
|
+ utils.FileLog.Info(msg)
|
|
|
+ go alarm_msg.SendAlarmMsg(msg, 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ urlQuery := fmt.Sprintf("BusinessCode=%s&UserMobile=%s&UserTelAreaCode=%s&Keyword=%s", businessCode, userMobile, telAreaCode, keyword)
|
|
|
+ result, err := GetUserChartListLib(urlQuery)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf("查询失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.Ret != 200 {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf(result.Msg + result.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.Paging = result.Data.Paging
|
|
|
+ resp.ChartInfoList = result.Data.ChartInfoList
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GetUserCollectChartClassifyList 查询社区中用户收藏的分类列表
|
|
|
+func GetUserCollectChartClassifyList(businessCode, userMobile, telAreaCode string) (resp UserCollectChartClassifyListItem, err error, errMsg string) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ msg := fmt.Sprintf("查询社区中用户收藏的分类列表 GetUserCollectChartClassifyList:Err:%v,ErrMsg:%s", err, errMsg)
|
|
|
+ utils.FileLog.Info(msg)
|
|
|
+ go alarm_msg.SendAlarmMsg(msg, 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ urlQuery := fmt.Sprintf("BusinessCode=%s&UserMobile=%s&UserTelAreaCode=%s", businessCode, userMobile, telAreaCode)
|
|
|
+ result, err := getUserCollectChartClassifyLib(urlQuery)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf("查询失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.Ret != 200 {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf(result.Msg + result.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.List = result.Data.List
|
|
|
+ resp.Language = result.Data.Language
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GetUserCollectChartList 查询社区中对用户收藏的图表列表
|
|
|
+func GetUserCollectChartList(businessCode, userMobile, telAreaCode, keyword, collectClassifyIds string, currentIndex, pageSize int) (resp UserCollectChartListRespItem, err error, errMsg string) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ msg := fmt.Sprintf("查询社区中对用户收藏的图表列表 GetUserCollectChartList:Err:%v,ErrMsg:%s", err, errMsg)
|
|
|
+ utils.FileLog.Info(msg)
|
|
|
+ go alarm_msg.SendAlarmMsg(msg, 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ urlQuery := fmt.Sprintf("BusinessCode=%s&UserMobile=%s&UserTelAreaCode=%s&Keyword=%s&CollectClassifyIds=%s&PageSize=%d&CurrentIndex=%d", businessCode, userMobile, telAreaCode, keyword, collectClassifyIds, currentIndex, pageSize)
|
|
|
+ result, err := getUserCollectChartListLib(urlQuery)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf("查询失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.Ret != 200 {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf(result.Msg + result.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp.Paging = result.Data.Paging
|
|
|
+ resp.List = result.Data.List
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// GeChartFromUniqueCode 社区中根据唯一编码查询图表
|
|
|
+func GeChartFromUniqueCode(uniqueCode string, isCache bool) (resp ChartFromUniqueCodeRespItem, err error, errMsg string) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ msg := fmt.Sprintf("查询社区中对用户可见的图表列表 GeChartFromUniqueCode:Err:%v,ErrMsg:%s", err, errMsg)
|
|
|
+ utils.FileLog.Info(msg)
|
|
|
+ go alarm_msg.SendAlarmMsg(msg, 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ urlQuery := fmt.Sprintf("UniqueCode=%s&isCache=%v", uniqueCode, isCache)
|
|
|
+ result, err := getChartFromUniqueCodeLib(urlQuery)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf("查询失败,Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.Ret != 200 {
|
|
|
+ errMsg = "查询失败"
|
|
|
+ err = fmt.Errorf(result.Msg + result.ErrMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resp = *result.Data
|
|
|
+
|
|
|
+ return
|
|
|
+}
|