package data_source import ( "eta/eta_api/controllers" "eta/eta_api/models" "eta/eta_api/models/data_source" ) // 广州期货交易所 type DataSourceController struct { controllers.BaseAuthController } // ComTradeCountryList // @Title 获取广州期货交易所分类 // @Description 获取广州期货交易所分类 // @Success 200 {object} []data_manage.ComTradeCountryItem // @router /gfex/classify/list [get] func (this *DataSourceController) GfexClassifyList() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } gzqhObj := new(data_source.BaseFromTradeGuangzhouIndex) classifyList, err := gzqhObj.GetBaseFromTradeGuangzhouClassifyAll() if err != nil { br.Msg = "获取分类失败" br.ErrMsg = "获取分类失败,Err:" + err.Error() return } classifyMap := make(map[int][]*data_source.BaseFromTradeGuangzhouClassifyView) for _, v := range classifyList { if v.ParentId == 0 { continue } if items, ok := classifyMap[v.ParentId]; !ok { list := make([]*data_source.BaseFromTradeGuangzhouClassifyView, 0) list = append(list, v) classifyMap[v.ParentId] = list } else { items = append(items, v) classifyMap[v.ParentId] = items } } classifyItems := make([]*data_source.BaseFromTradeGuangzhouClassifyView, 0) for _, v := range classifyList { if v.ParentId == 0 { v.Children = classifyMap[v.BaseFromTradeGuangzhouClassifyId] classifyItems = append(classifyItems, v) } } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = classifyItems } // ComTradeCountryList // @Title 获取广州期货交易所数据最大日期 // @Description 获取广州期货交易所数据最大日期 // @Success 200 {object} []data_source.ComTradeCountryItem // @router /gfex/max/date [get] func (this *DataSourceController) GfexMaxDate() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } gzqhObj := new(data_source.BaseFromTradeGuangzhouIndex) maxDate, err := gzqhObj.GetBaseFromTradeGuangzhouMaxDate() if err != nil { br.ErrMsg = "获取最新日期失败,Err:" + err.Error() br.Msg = "获取最新日期失败" return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = maxDate } // ComTradeCountryList // @Title 获取广州期货交易所-分类下合约 // @Description 获取广州期货交易所-分类下合约 // @Param BaseFromTradeGuangzhouClassifyId query int true "分类id" // @Param TradeDate query string true "日期" // @Success 200 {object} []data_source.BaseFromTradeGuangzhouContract // @router /gfex/contract [get] func (this *DataSourceController) GfexContract() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } baseFromTradeGuangzhouClassifyId, _ := this.GetInt("BaseFromTradeGuangzhouClassifyId", 0) if baseFromTradeGuangzhouClassifyId <= 0 { br.Msg = "参数错误" br.Msg = "分类id错误" return } tradeDate := this.GetString("TradeDate") if tradeDate == "" { br.Msg = "参数错误" br.Msg = "交易日期不能为空" return } gzqhObj := new(data_source.BaseFromTradeGuangzhouIndex) list, err := gzqhObj.GetBaseFromTradeGuangzhouContract(baseFromTradeGuangzhouClassifyId, tradeDate) if err != nil { br.ErrMsg = "获取数据失败,Err:" + err.Error() br.Msg = "获取数据失败" return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = list } // ComTradeCountryList // @Title 获取广州期货交易所-分类下指标信息 // @Description 获取广州期货交易所-分类下指标信息 // @Param BaseFromTradeGuangzhouClassifyId query int true "分类id" // @Param BaseFromTradeGuangzhouContractId query int true "合约id" // @Param TradeDate query string true "日期" // @Success 200 {object} []data_source.BaseFromTradeGuangzhouContract // @router /gfex/index_data [get] func (this *DataSourceController) GfexIndexData() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录,SysUser Is Empty" br.Ret = 408 return } baseFromTradeGuangzhouClassifyId, _ := this.GetInt("BaseFromTradeGuangzhouClassifyId", 0) if baseFromTradeGuangzhouClassifyId <= 0 { br.Msg = "参数错误" br.ErrMsg = "分类id错误" return } tradeDate := this.GetString("TradeDate") if tradeDate == "" { br.Msg = "参数错误" br.ErrMsg = "交易日期不能为空" return } baseFromTradeGuangzhouContractId, _ := this.GetInt("BaseFromTradeGuangzhouContractId") var condition string var pars []interface{} condition += ` a.data_time=? ` pars = append(pars, tradeDate) condition += ` AND b.base_from_trade_guangzhou_classify_id=? ` pars = append(pars, baseFromTradeGuangzhouClassifyId) if baseFromTradeGuangzhouContractId > 0 { condition += ` AND c.base_from_trade_guangzhou_contract_id=? ` pars = append(pars, baseFromTradeGuangzhouContractId) } gzqhObj := new(data_source.BaseFromTradeGuangzhouIndex) list, err := gzqhObj.GetBaseFromTradeGuangzhouIndex(condition, pars) if err != nil { br.ErrMsg = "获取数据失败,Err:" + err.Error() br.Msg = "获取数据失败" return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = list }