| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 |
- package quote
- import (
- "mtp2_if/config"
- "mtp2_if/global/app"
- "mtp2_if/global/e"
- "mtp2_if/logger"
- "mtp2_if/models"
- "mtp2_if/mtpcache"
- "mtp2_if/utils"
- "net/http"
- "strings"
- "time"
- "github.com/gin-gonic/gin"
- "github.com/shopspring/decimal"
- )
- // QueryQuoteDayReq 获取商品盘面信息请求参数
- type QueryQuoteDayReq struct {
- GoodsCodes string `form:"goodsCodes"`
- }
- // QueryQuoteDayRsp 获取商品盘面信息返回模型
- type QueryQuoteDayRsp struct {
- Exchangedate int64 `json:"exchangedate"` // 交易日
- Goodscode string `json:"goodscode"` // 商品代码
- Exchangecode int `json:"exchangecode"` // 交易所代码
- Preclose float64 `json:"preclose"` // 昨收
- Opentime time.Time `json:"opentime"` // 开盘时间
- Opened float64 `json:"opened"` // 开盘价
- Highest float64 `json:"highest"` // 最高价
- Lowest float64 `json:"lowest"` // 最低价
- Lasttime string `json:"lasttime"` // 行情时间(只有现价变化行情时间才变化)
- Utclasttime time.Time `json:"utclasttime"` // utc的行情时间
- Last float64 `json:"last"` // 最新价
- Lastvolume int64 `json:"lastvolume"` // 最新成交量
- Lastturnover float64 `json:"lastturnover` // 最新成交金额
- Totalbidvolume int64 `json:"totalbidvolume"` // 外盘
- Totalaskvolume int64 `json:"totalaskvolume"` // 内盘
- Totalvolume int64 `json:"totalvolume"` // 总量
- Totalturnover float64 `json:"totalturnover"` // 总金额
- Bid float64 `json:"bid"` // 买1
- Bid2 float64 `json:"bid2"` // 买2
- Bid3 float64 `json:"bid3"` // 买3
- Bid4 float64 `json:"bid4"` // 买4
- Bid5 float64 `json:"bid5"` // 买5
- Bidvolume int64 `json:"bidvolume"` // 买量1
- Bidvolume2 int64 `json:"bidvolume2"` // 买量2
- Bidvolume3 int64 `json:"bidvolume3"` // 买量3
- Bidvolume4 int64 `json:"bidvolume4"` // 买量4
- Bidvolume5 int64 `json:"bidvolume5"` // 买量5
- Ask float64 `json:"ask"` // 卖1
- Ask2 float64 `json:"ask2"` // 卖2
- Ask3 float64 `json:"ask3"` // 卖3
- Ask4 float64 `json:"ask4"` // 卖4
- Ask5 float64 `json:"ask5"` // 卖5
- Askvolume int64 `json:"askvolume"` // 卖量1
- Askvolume2 int64 `json:"askvolume2"` // 卖量2
- Askvolume3 int64 `json:"askvolume3"` // 卖量3
- Askvolume4 int64 `json:"askvolume4"` // 卖量4
- Askvolume5 int64 `json:"askvolume5"` // 卖量5
- Presettle float64 `json:"presettle"` // 昨结价
- Settle float64 `json:"settle"` // 结算价
- Preholdvolume int64 `json:"preholdvolume"` // 昨持仓
- Holdvolume int64 `json:"holdvolume"` // 持仓
- Averageprice float64 `json:"averageprice"` // 均价
- Orderid int64 `json:"orderid"` // 序号
- Limitup float64 `json:"limitup"` // 涨停价
- Limitdown float64 `json:"limitdown"` // 跌停价
- Inventory int64 `json:"inventory"` // 库存
- Holdincrement int64 `json:"holdincrement"` // 单笔持仓
- Iscleared int `json:"iscleared"` // 是否清盘标志
- Issettled int `json:"issettled"` // 是否结算标志
- Bidqueueinfo string `json:"bidqueueinfo"` // 大利市买港股用
- Askqueueinfo string `json:"askqueueinfo"` // 大利市卖港股用
- Bidorderid int64 `json:"bidorderid"` // 买单号1
- Bidorderid2 int64 `json:"bidorderid2"` // 买单号2
- Bidorderid3 int64 `json:"bidorderid3"` // 买单号3
- Bidorderid4 int64 `json:"bidorderid4"` // 买单号4
- Bidorderid5 int64 `json:"bidorderid5"` // 买单号5
- Askorderid int64 `json:"askorderid"` // 卖单号1
- Askorderid2 int64 `json:"askorderid2"` // 卖单号2
- Askorderid3 int64 `json:"askorderid3"` // 卖单号3
- Askorderid4 int64 `json:"askorderid4"` // 卖单号4
- Askorderid5 int64 `json:"askorderid5"` // 卖单号5
- Lastlot int64 `json:"lastlot"` // 最新成交手数
- Totallot int64 `json:"totallot"` // 总手数
- Strikeprice float64 `json:"strikeprice"` // 发行价
- Cleartime int64 `json:"cleartime"` // 清盘时间
- Calloptionpremiums int64 `json:"calloptionpremiums"` // 认购期权1
- Calloptionpremiums2 int64 `json:"calloptionpremiums2"` // 认购期权2
- Calloptionpremiums3 int64 `json:"calloptionpremiums3"` // 认购期权3
- Calloptionpremiums4 int64 `json:"calloptionpremiums4"` // 认购期权4
- Calloptionpremiums5 int64 `json:"calloptionpremiums5"` // 认购期权5
- Putoptionpremiums int64 `json:"putoptionpremiums"` // 认沽期权1
- Putoptionpremiums2 int64 `json:"putoptionpremiums2"` // 认沽期权2
- Putoptionpremiums3 int64 `json:"putoptionpremiums3"` // 认沽期权3
- Putoptionpremiums4 int64 `json:"putoptionpremiums4"` // 认沽期权4
- Putoptionpremiums5 int64 `json:"putoptionpremiums5"` // 认沽期权5
- Nontotalvolume int64 `json:"nontotalvolume"` // 非交易总量
- Nontotalholdervolume int64 `json:"nontotalholdervolume"` // 非交易持仓量
- Nontotalturnover int64 `json:"nontotalturnover"` // 非交易总金额
- Nontotallot int64 `json:"nontotallot"` // 非交易总手数
- Publictradetype string `json:"publictradetype"` // 公共交易标志类型 港股专用
- Iep float64 `json:"iep"` // 平衡价 港股专用
- Iev float64 `json:"iev"` // 平衡量 港股专用
- Grepmarketprice float64 `json:"grepmarketprice"` // 暗盘价 港股专用
- Bid6 float64 `json:"bid6"` // 买6
- Bid7 float64 `json:"bid7"` // 买7
- Bid8 float64 `json:"bid8"` // 买8
- Bid9 float64 `json:"bid9"` // 买9
- Bid10 float64 `json:"bid10"` // 买10
- Bidvolume6 int64 `json:"bidvolume6"` // 买量6
- Bidvolume7 int64 `json:"bidvolume7"` // 买量7
- Bidvolume8 int64 `json:"bidvolume8"` // 买量8
- Bidvolume9 int64 `json:"bidvolume9"` // 买量9
- Bidvolume10 int64 `json:"bidvolume10"` // 买量10
- Ask6 float64 `json:"ask6"` // 卖6
- Ask7 float64 `json:"ask7"` // 卖7
- Ask8 float64 `json:"ask8"` // 卖8
- Ask9 float64 `json:"ask9"` // 卖9
- Ask10 float64 `json:"ask10"` // 卖10
- Askvolume6 int64 `json:"askvolume6"` // 卖量6
- Askvolume7 int64 `json:"askvolume7"` // 卖量7
- Askvolume8 int64 `json:"askvolume8"` // 卖量8
- Askvolume9 int64 `json:"askvolume9"` // 卖量9
- Askvolume10 int64 `json:"askvolume10"` // 卖量10
- Bidordervolume int64 `json:"bidordervolume"` // 买单量1
- Bidordervolume2 int64 `json:"bidordervolume2"` // 买单量2
- Bidordervolume3 int64 `json:"bidordervolume3"` // 买单量3
- Bidordervolume4 int64 `json:"bidordervolume4"` // 买单量4
- Bidordervolume5 int64 `json:"bidordervolume5"` // 买单量5
- Bidordervolume6 int64 `json:"bidordervolume6"` // 买单量6
- Bidordervolume7 int64 `json:"bidordervolume7"` // 买单量7
- Bidordervolume8 int64 `json:"bidordervolume8"` // 买单量8
- Bidordervolume9 int64 `json:"bidordervolume9"` // 买单量9
- Bidordervolume10 int64 `json:"bidordervolume10"` // 买单量10
- Askordervolume int64 `json:"askordervolume"` // 卖单量1
- Askordervolume2 int64 `json:"askordervolume2"` // 卖单量2
- Askordervolume3 int64 `json:"askordervolume3"` // 卖单量3
- Askordervolume4 int64 `json:"askordervolume4"` // 卖单量4
- Askordervolume5 int64 `json:"askordervolume5"` // 卖单量5
- Askordervolume6 int64 `json:"askordervolume6"` // 卖单量6
- Askordervolume7 int64 `json:"askordervolume7"` // 卖单量7
- Askordervolume8 int64 `json:"askordervolume8"` // 卖单量8
- Askordervolume9 int64 `json:"askordervolume9"` // 卖单量9
- Askordervolume10 int64 `json:"askordervolume10"` // 卖单量10
- }
- // QueryQuoteDay 获取商品盘面信息
- // @Summary 获取商品盘面信息
- // @Produce json
- // @Security ApiKeyAuth
- // @Param goodsCodes query string false "此参数不填则查所有;商品代码列表,格式:CU2102,CU2103,AL2107"
- // @Success 200 {object} QueryQuoteDayRsp
- // @Failure 500 {object} app.Response
- // @Router /Quote/QueryQuoteDay [get]
- // @Tags 行情服务
- func QueryQuoteDay(c *gin.Context) {
- appG := app.Gin{C: c}
- // 获取请求参数
- var req QueryQuoteDayReq
- if err := appG.C.ShouldBindQuery(&req); err != nil {
- logger.GetLogger().Errorf("QueryQuoteDay failed: %s", err.Error())
- appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
- return
- }
- rsp := make([]QueryQuoteDayRsp, 0)
- quoteDays := make([]models.Quoteday, 0)
- // 判断是否启用 MySQL
- if config.SerCfg.MySQLCfg.Enabled == 1 {
- var err error
- quoteDays, err = models.GetQuoteDays(req.GoodsCodes)
- if err != nil {
- logger.GetLogger().Errorf("QueryQuoteDay failed: %s", err.Error())
- appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
- return
- }
- } else {
- // 从 Redis 获取盘面
- var err error
- quoteDays, err = models.QueryRedisQuoteDays(req.GoodsCodes)
- if err != nil {
- logger.GetLogger().Errorf("QueryQuoteDay failed: %s", err.Error())
- appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
- return
- }
- }
- for _, v := range quoteDays {
- // 获取对应的商品信息
- goods, bFind := mtpcache.GetGoods(v.Goodscode)
- if bFind {
- lt, _ := decimal.NewFromFloat(utils.IntToFloat64(int(v.Lastturnover), int(goods.DECIMALPLACE))).Round(2).Float64() // 按行情服务要求,金额类需要先除以商品报价小数位再按2位小数四舍五入
- tt, _ := decimal.NewFromFloat(utils.IntToFloat64(int(v.Totalturnover), int(goods.DECIMALPLACE))).Round(2).Float64()
- rsp = append(rsp, QueryQuoteDayRsp{
- Exchangedate: v.Exchangedate,
- Goodscode: v.Goodscode,
- Exchangecode: v.Exchangecode,
- Preclose: utils.IntToFloat64(int(v.Preclose), int(goods.DECIMALPLACE)),
- Opentime: time.Unix(int64(v.Opentime), 0),
- Opened: utils.IntToFloat64(int(v.Opened), int(goods.DECIMALPLACE)),
- Highest: utils.IntToFloat64(int(v.Highest), int(goods.DECIMALPLACE)),
- Lowest: utils.IntToFloat64(int(v.Lowest), int(goods.DECIMALPLACE)),
- Lasttime: v.Lasttime,
- Utclasttime: time.Unix(int64(v.Utclasttime), 0),
- Last: utils.IntToFloat64(int(v.Last), int(goods.DECIMALPLACE)),
- Lastvolume: v.Lastvolume,
- Lastturnover: lt,
- Totalbidvolume: v.Totalbidvolume,
- Totalaskvolume: v.Totalaskvolume,
- Totalvolume: v.Totalvolume,
- Totalturnover: tt,
- Bid: utils.IntToFloat64(int(v.Bid), int(goods.DECIMALPLACE)),
- Bid2: utils.IntToFloat64(int(v.Bid2), int(goods.DECIMALPLACE)),
- Bid3: utils.IntToFloat64(int(v.Bid3), int(goods.DECIMALPLACE)),
- Bid4: utils.IntToFloat64(int(v.Bid4), int(goods.DECIMALPLACE)),
- Bid5: utils.IntToFloat64(int(v.Bid5), int(goods.DECIMALPLACE)),
- Bidvolume: v.Bidvolume,
- Bidvolume2: v.Bidvolume2,
- Bidvolume3: v.Bidvolume3,
- Bidvolume4: v.Bidvolume4,
- Bidvolume5: v.Bidvolume5,
- Ask: utils.IntToFloat64(int(v.Ask), int(goods.DECIMALPLACE)),
- Ask2: utils.IntToFloat64(int(v.Ask2), int(goods.DECIMALPLACE)),
- Ask3: utils.IntToFloat64(int(v.Ask3), int(goods.DECIMALPLACE)),
- Ask4: utils.IntToFloat64(int(v.Ask4), int(goods.DECIMALPLACE)),
- Ask5: utils.IntToFloat64(int(v.Ask5), int(goods.DECIMALPLACE)),
- Askvolume: v.Askvolume,
- Askvolume2: v.Askvolume2,
- Askvolume3: v.Askvolume3,
- Askvolume4: v.Askvolume4,
- Askvolume5: v.Askvolume5,
- Presettle: utils.IntToFloat64(int(v.Presettle), int(goods.DECIMALPLACE)),
- Settle: utils.IntToFloat64(int(v.Settle), int(goods.DECIMALPLACE)),
- Preholdvolume: v.Preholdvolume,
- Holdvolume: v.Holdvolume,
- Averageprice: utils.IntToFloat64(int(v.Averageprice), int(goods.DECIMALPLACE)),
- Orderid: v.Orderid,
- Limitup: utils.IntToFloat64(int(v.Limitup), int(goods.DECIMALPLACE)),
- Limitdown: utils.IntToFloat64(int(v.Limitdown), int(goods.DECIMALPLACE)),
- Inventory: v.Inventory,
- Holdincrement: v.Holdincrement,
- Iscleared: v.Iscleared,
- Issettled: v.Issettled,
- Bidqueueinfo: v.Bidqueueinfo,
- Askqueueinfo: v.Askqueueinfo,
- Bidorderid: v.Bidorderid,
- Bidorderid2: v.Bidorderid2,
- Bidorderid3: v.Bidorderid3,
- Bidorderid4: v.Bidorderid4,
- Bidorderid5: v.Bidorderid5,
- Askorderid: v.Askorderid,
- Askorderid2: v.Askorderid2,
- Askorderid3: v.Askorderid3,
- Askorderid4: v.Askorderid4,
- Askorderid5: v.Askorderid5,
- Lastlot: v.Lastlot,
- Totallot: v.Totallot,
- Strikeprice: utils.IntToFloat64(int(v.Strikeprice), int(goods.DECIMALPLACE)),
- Cleartime: v.Cleartime,
- Calloptionpremiums: v.Calloptionpremiums,
- Calloptionpremiums2: v.Calloptionpremiums2,
- Calloptionpremiums3: v.Calloptionpremiums3,
- Calloptionpremiums4: v.Calloptionpremiums4,
- Calloptionpremiums5: v.Calloptionpremiums5,
- Putoptionpremiums: v.Putoptionpremiums,
- Putoptionpremiums2: v.Putoptionpremiums2,
- Putoptionpremiums3: v.Putoptionpremiums3,
- Putoptionpremiums4: v.Putoptionpremiums4,
- Putoptionpremiums5: v.Putoptionpremiums5,
- Nontotalvolume: v.Nontotalvolume,
- Nontotalholdervolume: v.Nontotalholdervolume,
- Nontotalturnover: v.Nontotalturnover,
- Nontotallot: v.Nontotallot,
- Publictradetype: v.Publictradetype,
- Iep: utils.IntToFloat64(int(v.Iep), int(goods.DECIMALPLACE)),
- Iev: utils.IntToFloat64(int(v.Iev), int(goods.DECIMALPLACE)),
- Grepmarketprice: utils.IntToFloat64(int(v.Grepmarketprice), int(goods.DECIMALPLACE)),
- Bid6: utils.IntToFloat64(int(v.Bid6), int(goods.DECIMALPLACE)),
- Bid7: utils.IntToFloat64(int(v.Bid7), int(goods.DECIMALPLACE)),
- Bid8: utils.IntToFloat64(int(v.Bid8), int(goods.DECIMALPLACE)),
- Bid9: utils.IntToFloat64(int(v.Bid9), int(goods.DECIMALPLACE)),
- Bid10: utils.IntToFloat64(int(v.Bid10), int(goods.DECIMALPLACE)),
- Bidvolume6: v.Bidvolume6,
- Bidvolume7: v.Bidvolume7,
- Bidvolume8: v.Bidvolume8,
- Bidvolume9: v.Bidvolume9,
- Bidvolume10: v.Bidvolume10,
- Ask6: utils.IntToFloat64(int(v.Ask6), int(goods.DECIMALPLACE)),
- Ask7: utils.IntToFloat64(int(v.Ask7), int(goods.DECIMALPLACE)),
- Ask8: utils.IntToFloat64(int(v.Ask8), int(goods.DECIMALPLACE)),
- Ask9: utils.IntToFloat64(int(v.Ask9), int(goods.DECIMALPLACE)),
- Ask10: utils.IntToFloat64(int(v.Ask10), int(goods.DECIMALPLACE)),
- Askvolume6: v.Askvolume6,
- Askvolume7: v.Askvolume7,
- Askvolume8: v.Askvolume8,
- Askvolume9: v.Askvolume9,
- Askvolume10: v.Askvolume10,
- Bidordervolume: v.Bidordervolume,
- Bidordervolume2: v.Bidordervolume2,
- Bidordervolume3: v.Bidordervolume3,
- Bidordervolume4: v.Bidordervolume4,
- Bidordervolume5: v.Bidordervolume5,
- Bidordervolume6: v.Bidordervolume6,
- Bidordervolume7: v.Bidordervolume7,
- Bidordervolume8: v.Bidordervolume8,
- Bidordervolume9: v.Bidordervolume9,
- Bidordervolume10: v.Bidordervolume10,
- Askordervolume: v.Askordervolume,
- Askordervolume2: v.Askordervolume2,
- Askordervolume3: v.Askordervolume3,
- Askordervolume4: v.Askordervolume4,
- Askordervolume5: v.Askordervolume5,
- Askordervolume6: v.Askordervolume6,
- Askordervolume7: v.Askordervolume7,
- Askordervolume8: v.Askordervolume8,
- Askordervolume9: v.Askordervolume9,
- Askordervolume10: v.Askordervolume10,
- })
- }
- }
- // 查询成功
- logger.GetLogger().Debugln("QueryQuoteDay successed, rows: %v", len(rsp))
- appG.Response(http.StatusOK, e.SUCCESS, rsp)
- }
- type GetTouristQuoteDayReq struct {
- Goodscodes string `form:"goodsCodes" binding:"required"` // 商品代码列表,格式:1,2,3
- }
- // GetTouristQuoteDay 获取游客商品盘面信息
- // @Summary 获取游客商品盘面信息
- // @Produce json
- // @Param goodsCodes query string true "商品代码列表,格式:1,2,3"
- // @Success 200 {array} QueryQuoteDayRsp
- // @Failure 500 {object} app.Response
- // @Router /Quote/GetTouristQuoteDay [get]
- // @Tags 行情服务
- func GetTouristQuoteDay(c *gin.Context) {
- appG := app.Gin{C: c}
- // 获取请求参数
- var req GetTouristQuoteDayReq
- if err := appG.C.ShouldBindQuery(&req); err != nil {
- logger.GetLogger().Errorf("GetTouristQuoteDay failed: %s", err.Error())
- appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
- return
- }
- g := strings.Split(req.Goodscodes, ",")
- quoteDays, err := models.GetRedisQuoteDays(g)
- if err != nil {
- logger.GetLogger().Errorf("GetTouristQuoteDay failed: %s", err.Error())
- appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
- return
- }
- rsp := make([]QueryQuoteDayRsp, 0)
- for _, v := range quoteDays {
- // 获取对应的商品信息
- goods, bFind := mtpcache.GetGoods(v.Goodscode)
- if bFind {
- rsp = append(rsp, QueryQuoteDayRsp{
- Exchangedate: v.Exchangedate,
- Goodscode: v.Goodscode,
- Exchangecode: v.Exchangecode,
- Preclose: utils.IntToFloat64(int(v.Preclose), int(goods.DECIMALPLACE)),
- Opentime: time.Unix(int64(v.Opentime), 0),
- Opened: utils.IntToFloat64(int(v.Opened), int(goods.DECIMALPLACE)),
- Highest: utils.IntToFloat64(int(v.Highest), int(goods.DECIMALPLACE)),
- Lowest: utils.IntToFloat64(int(v.Lowest), int(goods.DECIMALPLACE)),
- Lasttime: v.Lasttime,
- Utclasttime: time.Unix(int64(v.Utclasttime), 0),
- Last: utils.IntToFloat64(int(v.Last), int(goods.DECIMALPLACE)),
- Lastvolume: v.Lastvolume,
- Lastturnover: utils.IntToFloat64(int(v.Lastturnover), int(goods.DECIMALPLACE)),
- Totalbidvolume: v.Totalbidvolume,
- Totalaskvolume: v.Totalaskvolume,
- Totalvolume: v.Totalvolume,
- Totalturnover: utils.IntToFloat64(int(v.Totalturnover), int(goods.DECIMALPLACE)),
- Bid: utils.IntToFloat64(int(v.Bid), int(goods.DECIMALPLACE)),
- Bid2: utils.IntToFloat64(int(v.Bid2), int(goods.DECIMALPLACE)),
- Bid3: utils.IntToFloat64(int(v.Bid3), int(goods.DECIMALPLACE)),
- Bid4: utils.IntToFloat64(int(v.Bid4), int(goods.DECIMALPLACE)),
- Bid5: utils.IntToFloat64(int(v.Bid5), int(goods.DECIMALPLACE)),
- Bidvolume: v.Bidvolume,
- Bidvolume2: v.Bidvolume2,
- Bidvolume3: v.Bidvolume3,
- Bidvolume4: v.Bidvolume4,
- Bidvolume5: v.Bidvolume5,
- Ask: utils.IntToFloat64(int(v.Ask), int(goods.DECIMALPLACE)),
- Ask2: utils.IntToFloat64(int(v.Ask2), int(goods.DECIMALPLACE)),
- Ask3: utils.IntToFloat64(int(v.Ask3), int(goods.DECIMALPLACE)),
- Ask4: utils.IntToFloat64(int(v.Ask4), int(goods.DECIMALPLACE)),
- Ask5: utils.IntToFloat64(int(v.Ask5), int(goods.DECIMALPLACE)),
- Askvolume: v.Askvolume,
- Askvolume2: v.Askvolume2,
- Askvolume3: v.Askvolume3,
- Askvolume4: v.Askvolume4,
- Askvolume5: v.Askvolume5,
- Presettle: utils.IntToFloat64(int(v.Presettle), int(goods.DECIMALPLACE)),
- Settle: utils.IntToFloat64(int(v.Settle), int(goods.DECIMALPLACE)),
- Preholdvolume: v.Preholdvolume,
- Holdvolume: v.Holdvolume,
- Averageprice: utils.IntToFloat64(int(v.Averageprice), int(goods.DECIMALPLACE)),
- Orderid: v.Orderid,
- Limitup: utils.IntToFloat64(int(v.Limitup), int(goods.DECIMALPLACE)),
- Limitdown: utils.IntToFloat64(int(v.Limitdown), int(goods.DECIMALPLACE)),
- Inventory: v.Inventory,
- Holdincrement: v.Holdincrement,
- Iscleared: v.Iscleared,
- Issettled: v.Issettled,
- Bidqueueinfo: v.Bidqueueinfo,
- Askqueueinfo: v.Askqueueinfo,
- Bidorderid: v.Bidorderid,
- Bidorderid2: v.Bidorderid2,
- Bidorderid3: v.Bidorderid3,
- Bidorderid4: v.Bidorderid4,
- Bidorderid5: v.Bidorderid5,
- Askorderid: v.Askorderid,
- Askorderid2: v.Askorderid2,
- Askorderid3: v.Askorderid3,
- Askorderid4: v.Askorderid4,
- Askorderid5: v.Askorderid5,
- Lastlot: v.Lastlot,
- Totallot: v.Totallot,
- Strikeprice: utils.IntToFloat64(int(v.Strikeprice), int(goods.DECIMALPLACE)),
- Cleartime: v.Cleartime,
- Calloptionpremiums: v.Calloptionpremiums,
- Calloptionpremiums2: v.Calloptionpremiums2,
- Calloptionpremiums3: v.Calloptionpremiums3,
- Calloptionpremiums4: v.Calloptionpremiums4,
- Calloptionpremiums5: v.Calloptionpremiums5,
- Putoptionpremiums: v.Putoptionpremiums,
- Putoptionpremiums2: v.Putoptionpremiums2,
- Putoptionpremiums3: v.Putoptionpremiums3,
- Putoptionpremiums4: v.Putoptionpremiums4,
- Putoptionpremiums5: v.Putoptionpremiums5,
- Nontotalvolume: v.Nontotalvolume,
- Nontotalholdervolume: v.Nontotalholdervolume,
- Nontotalturnover: v.Nontotalturnover,
- Nontotallot: v.Nontotallot,
- Publictradetype: v.Publictradetype,
- Iep: utils.IntToFloat64(int(v.Iep), int(goods.DECIMALPLACE)),
- Iev: utils.IntToFloat64(int(v.Iev), int(goods.DECIMALPLACE)),
- Grepmarketprice: utils.IntToFloat64(int(v.Grepmarketprice), int(goods.DECIMALPLACE)),
- Bid6: utils.IntToFloat64(int(v.Bid6), int(goods.DECIMALPLACE)),
- Bid7: utils.IntToFloat64(int(v.Bid7), int(goods.DECIMALPLACE)),
- Bid8: utils.IntToFloat64(int(v.Bid8), int(goods.DECIMALPLACE)),
- Bid9: utils.IntToFloat64(int(v.Bid9), int(goods.DECIMALPLACE)),
- Bid10: utils.IntToFloat64(int(v.Bid10), int(goods.DECIMALPLACE)),
- Bidvolume6: v.Bidvolume6,
- Bidvolume7: v.Bidvolume7,
- Bidvolume8: v.Bidvolume8,
- Bidvolume9: v.Bidvolume9,
- Bidvolume10: v.Bidvolume10,
- Ask6: utils.IntToFloat64(int(v.Ask6), int(goods.DECIMALPLACE)),
- Ask7: utils.IntToFloat64(int(v.Ask7), int(goods.DECIMALPLACE)),
- Ask8: utils.IntToFloat64(int(v.Ask8), int(goods.DECIMALPLACE)),
- Ask9: utils.IntToFloat64(int(v.Ask9), int(goods.DECIMALPLACE)),
- Ask10: utils.IntToFloat64(int(v.Ask10), int(goods.DECIMALPLACE)),
- Askvolume6: v.Askvolume6,
- Askvolume7: v.Askvolume7,
- Askvolume8: v.Askvolume8,
- Askvolume9: v.Askvolume9,
- Askvolume10: v.Askvolume10,
- Bidordervolume: v.Bidordervolume,
- Bidordervolume2: v.Bidordervolume2,
- Bidordervolume3: v.Bidordervolume3,
- Bidordervolume4: v.Bidordervolume4,
- Bidordervolume5: v.Bidordervolume5,
- Bidordervolume6: v.Bidordervolume6,
- Bidordervolume7: v.Bidordervolume7,
- Bidordervolume8: v.Bidordervolume8,
- Bidordervolume9: v.Bidordervolume9,
- Bidordervolume10: v.Bidordervolume10,
- Askordervolume: v.Askordervolume,
- Askordervolume2: v.Askordervolume2,
- Askordervolume3: v.Askordervolume3,
- Askordervolume4: v.Askordervolume4,
- Askordervolume5: v.Askordervolume5,
- Askordervolume6: v.Askordervolume6,
- Askordervolume7: v.Askordervolume7,
- Askordervolume8: v.Askordervolume8,
- Askordervolume9: v.Askordervolume9,
- Askordervolume10: v.Askordervolume10,
- })
- }
- }
- // 查询成功
- // logger.GetLogger().Debugln("GetTouristQuoteDay successed, rows: %v", len(rsp))
- appG.Response(http.StatusOK, e.SUCCESS, rsp)
- }
|