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&CurrentIndex=%d&PageSize=%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 }