Kaynağa Gözat

增加“定制【海商报业】 - 查询二级市场(挂牌点选)商品对应的挂牌委托单信息”接口

zhou.xiaoning 5 yıl önce
ebeveyn
işleme
01e1b54944
10 değiştirilmiş dosya ile 624 ekleme ve 188 silme
  1. 81 0
      controllers/hsby/hsby.go
  2. 24 24
      controllers/order/order.go
  3. 88 0
      docs/docs.go
  4. 88 0
      docs/swagger.json
  5. 60 0
      docs/swagger.yaml
  6. 20 0
      models/common.go
  7. 15 0
      models/goods.go
  8. 82 0
      models/hsby.go
  9. 164 164
      models/order.go
  10. 2 0
      routers/router.go

+ 81 - 0
controllers/hsby/hsby.go

@@ -128,3 +128,84 @@ func QueryHsbyListingGoodsDetail(c *gin.Context) {
 	logger.GetLogger().Debugln("QueryHsbyListingGoodsDetail successed: %v", goodsInfo)
 	appG.Response(http.StatusOK, e.SUCCESS, goodsInfo)
 }
+
+// QueryHsbyGoodsOrderDetailsReq 查询二级市场(挂牌点选)商品对应的挂牌委托单信息请求参数
+type QueryHsbyGoodsOrderDetailsReq struct {
+	GoodsID int `form:"goodsID" binding:"required"`
+	Number  int `form:"number"`
+}
+
+// QueryHsbyGoodsOrderDetails 查询二级市场(挂牌点选)商品对应的挂牌委托单信息
+// @Summary 查询二级市场(挂牌点选)商品对应的挂牌委托单信息
+// @Description 说明:查询结果已按委托价格和委托时间排序
+// @Produce json
+// @Security ApiKeyAuth
+// @Param goodsID query int true "商品ID"
+// @Param Number query int false "档位,不传则默认为3档"
+// @Success 200 {object} models.HsbyGoodsOrderDetail
+// @Failure 500 {object} app.Response
+// @Router /HSBY/QueryHsbyGoodsOrderDetails [get]
+// @Tags 定制【海商报业】
+func QueryHsbyGoodsOrderDetails(c *gin.Context) {
+	appG := app.Gin{C: c}
+
+	// 获取请求参数
+	var req QueryHsbyGoodsOrderDetailsReq
+	if err := appG.C.ShouldBindQuery(&req); err != nil {
+		logger.GetLogger().Errorf("QueryHsbyGoodsOrderDetails failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	// 获取数据
+	sellOrderDetails, buyOrderDetails, err := models.GetHsbyGoodsOrderDetails(req.GoodsID)
+	if err != nil {
+		// 查询失败
+		logger.GetLogger().Errorf("QueryHsbyGoodsOrderDetails failed: %s", err.Error())
+		appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+		return
+	}
+
+	// 按时间和价格排序
+	sort.Slice(sellOrderDetails, func(i int, j int) bool {
+		// 时间价格一样则按时间顺序排
+		if sellOrderDetails[i].Orderprice == sellOrderDetails[j].Orderprice {
+			return sellOrderDetails[i].Ordertime.Before(sellOrderDetails[j].Ordertime)
+		}
+
+		return sellOrderDetails[i].Orderprice < sellOrderDetails[j].Orderprice
+	})
+	sort.Slice(buyOrderDetails, func(i int, j int) bool {
+		// 时间价格一样则按时间顺序排
+		if buyOrderDetails[i].Orderprice == buyOrderDetails[j].Orderprice {
+			return buyOrderDetails[i].Ordertime.Before(buyOrderDetails[j].Ordertime)
+		}
+
+		return buyOrderDetails[i].Orderprice > buyOrderDetails[j].Orderprice
+	})
+
+	// 取N档,默认3档
+	if req.Number == 0 {
+		req.Number = 3
+	}
+	// 判断结束下标是否越界
+	sellEnd := req.Number
+	if req.Number > len(sellOrderDetails) {
+		sellEnd = len(sellOrderDetails)
+	}
+	sellOrderDetails = sellOrderDetails[0:sellEnd]
+	buyEnd := req.Number
+	if req.Number > len(buyOrderDetails) {
+		buyEnd = len(buyOrderDetails)
+	}
+	buyOrderDetails = buyOrderDetails[0:buyEnd]
+
+	// 结果集
+	rst := make(map[string]interface{})
+	rst["sellOrderDetails"] = sellOrderDetails
+	rst["buyOrderDetails"] = buyOrderDetails
+
+	// 查询成功返回
+	logger.GetLogger().Debugln("QueryHsbyGoodsOrderDetails successed: %v", rst)
+	appG.Response(http.StatusOK, e.SUCCESS, rst)
+}

+ 24 - 24
controllers/order/order.go

@@ -24,9 +24,9 @@ type QueryTradePositionReq struct {
 
 // QueryTradePositionRsp 持仓汇总查询返回模型(合约市场)
 type QueryTradePositionRsp struct {
-	AccountID       uint64  `json:"accountid"  xorm:"'ACCOUNTID'"`                // 资金账户
+	AccountID       int64   `json:"accountid"  xorm:"'ACCOUNTID'"`                // 资金账户
 	BuyOrSell       int64   `json:"buyorsell"  xorm:"'BUYORSELL'" `               // 方向 - 0:买 1:卖
-	Goodsid         uint32  `json:"goodsid"  xorm:"'GOODSID'" binding:"required"` // 商品Id
+	Goodsid         int32   `json:"goodsid"  xorm:"'GOODSID'" binding:"required"` // 商品Id
 	GoodsCode       string  `json:"goodscode" xorm:"GOODSCODE"`                   // 商品代码
 	GoodsName       string  `json:"goodsname" xorm:"GOODSNAME"`                   // 商品名称
 	AgreeUnit       float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`                // 合约单位
@@ -35,21 +35,21 @@ type QueryTradePositionRsp struct {
 	Goodunit        string  `json:"goodunit" xorm:"'GOODUNIT'"`                   // 报价单位
 	DecimalPlace    int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`          // 报价小数位
 	MarketID        int64   `json:"marketid"  xorm:"'MARKETID'"`                  // 所属市场ID
-	TradeMode       uint32  `json:"trademode"  xorm:"'TRADEMODE'"`                // 交易模式
-	PositionQTY     uint64  `json:"positionqty"  xorm:"'POSITIONQTY'"`            // 期初持仓数量
+	TradeMode       int32   `json:"trademode"  xorm:"'TRADEMODE'"`                // 交易模式
+	PositionQTY     int64   `json:"positionqty"  xorm:"'POSITIONQTY'"`            // 期初持仓数量
 	HolderAmount    float64 `json:"holderamount"  xorm:"'HOLDERAMOUNT'"`          // 期初持仓总金额[商品币种]
-	CurPositionQTY  uint64  `json:"curpositionqty"  xorm:"'CURPOSITIONQTY'"`      // 当前持仓总数量
+	CurPositionQTY  int64   `json:"curpositionqty"  xorm:"'CURPOSITIONQTY'"`      // 当前持仓总数量
 	CurHolderAmount float64 `json:"curholderamount"  xorm:"'CURHOLDERAMOUNT'"`    // 当前持仓总金额[商品币种]
-	FrozenQTY       uint64  `json:"frozenqty"  xorm:"'FROZENQTY'"`                // 持仓冻结数量
-	OtherFrozenQTY  uint64  `json:"otherfrozenqty"  xorm:"'OTHERFROZENQTY'"`      // 持仓其他冻结数量(交割冻结)
-	OpenReqQTY      uint64  `json:"openreqqty"  xorm:"'OPENREQQTY'"`              // 开仓申请数量(用于比较最大持仓数量)
-	OpenTotalQTY    uint64  `json:"opentotalqty"  xorm:"'OPENTOTALQTY'"`          // 开仓总数量
-	CloseTotalQTY   uint64  `json:"closetotalqty"  xorm:"'CLOSETOTALQTY'"`        // 平仓总数量
-	TNQTY           uint64  `json:"tnqty"  xorm:"'TNQTY'"`                        // T+N冻结总量
-	TNUsedQTY       uint64  `json:"tnusedqty"  xorm:"'TNUSEDQTY'"`                // T+N使用量(可以使用T+N的冻结数量)
-	CurTDPosition   uint64  `json:"curtdposition"  xorm:"'CURTDPOSITION'"`        // 期末今日头寸
-	FreTDPosition   uint64  `json:"fretdposition"  xorm:"'FRETDPOSITION'"`        // 冻结今日头寸
-	EnableQTY       uint64  `json:"enableqty"  xorm:"'ENABLEQTY'"`                // 可用量
+	FrozenQTY       int64   `json:"frozenqty"  xorm:"'FROZENQTY'"`                // 持仓冻结数量
+	OtherFrozenQTY  int64   `json:"otherfrozenqty"  xorm:"'OTHERFROZENQTY'"`      // 持仓其他冻结数量(交割冻结)
+	OpenReqQTY      int64   `json:"openreqqty"  xorm:"'OPENREQQTY'"`              // 开仓申请数量(用于比较最大持仓数量)
+	OpenTotalQTY    int64   `json:"opentotalqty"  xorm:"'OPENTOTALQTY'"`          // 开仓总数量
+	CloseTotalQTY   int64   `json:"closetotalqty"  xorm:"'CLOSETOTALQTY'"`        // 平仓总数量
+	TNQTY           int64   `json:"tnqty"  xorm:"'TNQTY'"`                        // T+N冻结总量
+	TNUsedQTY       int64   `json:"tnusedqty"  xorm:"'TNUSEDQTY'"`                // T+N使用量(可以使用T+N的冻结数量)
+	CurTDPosition   int64   `json:"curtdposition"  xorm:"'CURTDPOSITION'"`        // 期末今日头寸
+	FreTDPosition   int64   `json:"fretdposition"  xorm:"'FRETDPOSITION'"`        // 冻结今日头寸
+	EnableQTY       int64   `json:"enableqty"  xorm:"'ENABLEQTY'"`                // 可用量
 	AveragePrice    float64 `json:"averageprice" xorm:"AVERAGEPRICE"`             // 持仓均价
 }
 
@@ -85,8 +85,8 @@ func QueryTradePosition(c *gin.Context) {
 		Goodunit             string  `json:"goodunit" xorm:"'GOODUNIT'"`          // 报价单位
 		Agreeunit            float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`       // 合约单位
 		Decimalplace         int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"` // 报价小数位
-		Marketid             uint32  `json:"marketid"  xorm:"'MARKETID'"`         // 市场ID
-		Trademode            uint32  `json:"trademode"  xorm:"'TRADEMODE'"`       // 交易模式
+		Marketid             int32   `json:"marketid"  xorm:"'MARKETID'"`         // 市场ID
+		Trademode            int32   `json:"trademode"  xorm:"'TRADEMODE'"`       // 交易模式
 	}
 	datas := make([]tradePosition, 0)
 	engine := db.GetEngine()
@@ -228,7 +228,7 @@ type QueryTradeOrderDetailRsp struct {
 	GoodsCode  string `json:"goodscode" xorm:"GOODSCODE"`      // 商品代码
 	GoodsName  string `json:"goodsname" xorm:"GOODSNAME"`      // 商品名称
 	Marketname string `json:"marketname"  xorm:"'MARKETNAME'"` // 市场名称
-	TradeMode  uint32 `json:"trademode"  xorm:"'TRADEMODE'"`   // 交易模式
+	TradeMode  int32  `json:"trademode"  xorm:"'TRADEMODE'"`   // 交易模式
 
 	Enableqty int64 `json:"enableqty" xorm:"ENABLEQTY"` // 可用数量 = 委托数量 - 成交数量 - 撤单数量
 }
@@ -259,7 +259,7 @@ func QueryTradeOrderDetail(c *gin.Context) {
 
 	datas := make([]QueryTradeOrderDetailRsp, 0)
 	engine := db.GetEngine()
-	// 由于uint64类型数据(单号)过长是获取会有问题(可能是oci8组件问题),所以这里将可能会出问题的单号都用to_char来输出
+	// 由于int64类型数据(单号)过长是获取会有问题(可能是oci8组件问题),所以这里将可能会出问题的单号都用to_char来输出
 	s := engine.Table("TRADE_ORDERDETAIL").
 		Join("LEFT", "GOODS", "GOODS.GOODSID = TRADE_ORDERDETAIL.GOODSID").
 		Join("LEFT", "MARKET", "MARKET.MARKETID = TRADE_ORDERDETAIL.MARKETID").
@@ -306,7 +306,7 @@ type QueryHisTradeOrderDetailRsp struct {
 	GoodsCode  string `json:"goodscode" xorm:"GOODSCODE"`      // 商品代码
 	GoodsName  string `json:"goodsname" xorm:"GOODSNAME"`      // 商品名称
 	Marketname string `json:"marketname"  xorm:"'MARKETNAME'"` // 市场名称
-	TradeMode  uint32 `json:"trademode"  xorm:"'TRADEMODE'"`   // 交易模式
+	TradeMode  int32  `json:"trademode"  xorm:"'TRADEMODE'"`   // 交易模式
 }
 
 // QueryHisTradeOrderDetail 历史委托单查询请求(合约市场)
@@ -389,8 +389,8 @@ type QueryTradeDetailRsp struct {
 	GoodsCode         string `json:"goodscode" xorm:"GOODSCODE"`                    // 商品代码
 	GoodsName         string `json:"goodsname" xorm:"GOODSNAME"`                    // 商品名称
 	Marketname        string `json:"marketname"  xorm:"'MARKETNAME'"`               // 市场名称
-	TradeMode         uint32 `json:"trademode"  xorm:"'TRADEMODE'"`                 // 交易模式
-	ListingSelectType uint32 `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"` // 关联委托单挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
+	TradeMode         int32  `json:"trademode"  xorm:"'TRADEMODE'"`                 // 交易模式
+	ListingSelectType int32  `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"` // 关联委托单挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
 
 	Charge float64 `json:"charge" xorm:"CHARGE"` // 手续费
 }
@@ -479,8 +479,8 @@ type QueryHisTradeDetailRsp struct {
 	GoodsCode         string `json:"goodscode" xorm:"GOODSCODE"`                    // 商品代码
 	GoodsName         string `json:"goodsname" xorm:"GOODSNAME"`                    // 商品名称
 	Marketname        string `json:"marketname"  xorm:"'MARKETNAME'"`               // 市场名称
-	TradeMode         uint32 `json:"trademode"  xorm:"'TRADEMODE'"`                 // 交易模式
-	ListingSelectType uint32 `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"` // 关联委托单挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
+	TradeMode         int32  `json:"trademode"  xorm:"'TRADEMODE'"`                 // 交易模式
+	ListingSelectType int32  `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"` // 关联委托单挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
 
 	Charge float64 `json:"charge" xorm:"CHARGE"` // 手续费
 }

+ 88 - 0
docs/docs.go

@@ -723,6 +723,52 @@ var doc = `{
                 }
             }
         },
+        "/HSBY/QueryHsbyGoodsOrderDetails": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "description": "说明:查询结果已按委托价格和委托时间排序",
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "定制【海商报业】"
+                ],
+                "summary": "查询二级市场(挂牌点选)商品对应的挂牌委托单信息",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "商品ID",
+                        "name": "goodsID",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "档位,不传则默认为3档",
+                        "name": "Number",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/models.HsbyGoodsOrderDetail"
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/HSBY/QueryHsbyListingGoodsDetail": {
             "get": {
                 "security": [
@@ -3368,6 +3414,48 @@ var doc = `{
                 }
             }
         },
+        "models.HsbyGoodsOrderDetail": {
+            "type": "object",
+            "required": [
+                "buyorsell",
+                "orderid",
+                "ordertime"
+            ],
+            "properties": {
+                "buyorsell": {
+                    "description": "买卖 - 0:买 1:卖",
+                    "type": "integer"
+                },
+                "currencysign": {
+                    "description": "货币符号",
+                    "type": "string"
+                },
+                "customername": {
+                    "description": "客户名称(企业名称),已脱敏",
+                    "type": "string"
+                },
+                "enableqty": {
+                    "description": "可用数量",
+                    "type": "integer"
+                },
+                "goodunit": {
+                    "description": "报价单位",
+                    "type": "string"
+                },
+                "orderid": {
+                    "description": "委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)",
+                    "type": "integer"
+                },
+                "orderprice": {
+                    "description": "委托价格",
+                    "type": "number"
+                },
+                "ordertime": {
+                    "description": "委托时间",
+                    "type": "string"
+                }
+            }
+        },
         "models.HsbyListingGoodsDetail": {
             "type": "object",
             "required": [

+ 88 - 0
docs/swagger.json

@@ -707,6 +707,52 @@
                 }
             }
         },
+        "/HSBY/QueryHsbyGoodsOrderDetails": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "description": "说明:查询结果已按委托价格和委托时间排序",
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "定制【海商报业】"
+                ],
+                "summary": "查询二级市场(挂牌点选)商品对应的挂牌委托单信息",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "商品ID",
+                        "name": "goodsID",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "档位,不传则默认为3档",
+                        "name": "Number",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/models.HsbyGoodsOrderDetail"
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/HSBY/QueryHsbyListingGoodsDetail": {
             "get": {
                 "security": [
@@ -3352,6 +3398,48 @@
                 }
             }
         },
+        "models.HsbyGoodsOrderDetail": {
+            "type": "object",
+            "required": [
+                "buyorsell",
+                "orderid",
+                "ordertime"
+            ],
+            "properties": {
+                "buyorsell": {
+                    "description": "买卖 - 0:买 1:卖",
+                    "type": "integer"
+                },
+                "currencysign": {
+                    "description": "货币符号",
+                    "type": "string"
+                },
+                "customername": {
+                    "description": "客户名称(企业名称),已脱敏",
+                    "type": "string"
+                },
+                "enableqty": {
+                    "description": "可用数量",
+                    "type": "integer"
+                },
+                "goodunit": {
+                    "description": "报价单位",
+                    "type": "string"
+                },
+                "orderid": {
+                    "description": "委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)",
+                    "type": "integer"
+                },
+                "orderprice": {
+                    "description": "委托价格",
+                    "type": "number"
+                },
+                "ordertime": {
+                    "description": "委托时间",
+                    "type": "string"
+                }
+            }
+        },
         "models.HsbyListingGoodsDetail": {
             "type": "object",
             "required": [

+ 60 - 0
docs/swagger.yaml

@@ -1189,6 +1189,37 @@ definitions:
     required:
     - spotcontractid
     type: object
+  models.HsbyGoodsOrderDetail:
+    properties:
+      buyorsell:
+        description: 买卖 - 0:买 1:卖
+        type: integer
+      currencysign:
+        description: 货币符号
+        type: string
+      customername:
+        description: 客户名称(企业名称),已脱敏
+        type: string
+      enableqty:
+        description: 可用数量
+        type: integer
+      goodunit:
+        description: 报价单位
+        type: string
+      orderid:
+        description: 委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
+        type: integer
+      orderprice:
+        description: 委托价格
+        type: number
+      ordertime:
+        description: 委托时间
+        type: string
+    required:
+    - buyorsell
+    - orderid
+    - ordertime
+    type: object
   models.HsbyListingGoodsDetail:
     properties:
       currency:
@@ -3406,6 +3437,35 @@ paths:
       summary: 查询现货合同表信息(指定策略ID、未结束的)
       tags:
       - 风险管理
+  /HSBY/QueryHsbyGoodsOrderDetails:
+    get:
+      description: 说明:查询结果已按委托价格和委托时间排序
+      parameters:
+      - description: 商品ID
+        in: query
+        name: goodsID
+        required: true
+        type: integer
+      - description: 档位,不传则默认为3档
+        in: query
+        name: Number
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            $ref: '#/definitions/models.HsbyGoodsOrderDetail'
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 查询二级市场(挂牌点选)商品对应的挂牌委托单信息
+      tags:
+      - 定制【海商报业】
   /HSBY/QueryHsbyListingGoodsDetail:
     get:
       parameters:

+ 20 - 0
models/common.go

@@ -512,3 +512,23 @@ func GetNotices(loginID, msgType int, onlyUnRead bool) ([]Noticemsg, error) {
 
 	return rst, nil
 }
+
+// GetEnumDicItem 获取枚举信息数组
+// 参数 enumDicCode string 所属枚举代码,必填
+// 参数 enumItemName int 枚举项值,选填,不需要则传入0
+// 返回 []Enumdicitem 枚举信息数组
+// 返回 error error
+func GetEnumDicItem(enumDicCode string, enumItemName int) ([]Enumdicitem, error) {
+	engine := db.GetEngine()
+
+	enumDicItems := make([]Enumdicitem, 0)
+	session := engine.Where("ENUMDICCODE = ?", enumDicCode)
+	if enumItemName > 0 {
+		session = session.And("ENUMITEMNAME = ?", enumItemName)
+	}
+	if err := session.Find(&enumDicItems); err != nil {
+		return nil, err
+	}
+
+	return enumDicItems, nil
+}

+ 15 - 0
models/goods.go

@@ -73,3 +73,18 @@ func GetGoodsByGoodsCode(goodsCode string) (*Goods, error) {
 
 	return &goods, nil
 }
+
+// GetGoods 获取商品信息
+// 参数 goodsID int 商品ID
+// 返回值 *Goods 商品信息
+// 返回值 error 错误
+func GetGoods(goodsID int) (*Goods, error) {
+	engine := db.GetEngine()
+
+	var goods Goods
+	if _, err := engine.Where("GOODSID = ?", goodsID).Get(&goods); err != nil {
+		return nil, err
+	}
+
+	return &goods, nil
+}

+ 82 - 0
models/hsby.go

@@ -168,3 +168,85 @@ func GetHsbyListingGoodsDetail(goodsID int) (*HsbyListingGoodsDetail, error) {
 
 	return &hsbyListingGoodsDetail, nil
 }
+
+// HsbyGoodsOrderDetail 二级市场挂牌商品当前可摘委托单信息
+type HsbyGoodsOrderDetail struct {
+	Orderid    int64     `json:"orderid"  xorm:"'ORDERID'" binding:"required"`     // 委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
+	Buyorsell  int32     `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"` // 买卖 - 0:买 1:卖
+	Ordertime  time.Time `json:"ordertime"  xorm:"'ORDERTIME'" binding:"required"` // 委托时间
+	Orderprice float64   `json:"orderprice"  xorm:"'ORDERPRICE'"`                  // 委托价格
+	Enableqty  int64     `json:"enableqty" xorm:"ENABLEQTY"`                       // 可用数量
+
+	Customername string `json:"customername"  xorm:"'CUSTOMERNAME'"` // 客户名称(企业名称),已脱敏
+
+	Currencysign string `json:"currencysign" xorm:"-"` // 货币符号
+	Goodunit     string `json:"goodunit"  xorm:"-"`    // 报价单位
+}
+
+// GetHsbyGoodsOrderDetails 获取二级市场(挂牌点选)商品对应的挂牌委托单信息
+// 参数 goodsID int 商品ID
+// 返回 []HsbyGoodsOrderDetail 转让(卖出)挂牌委托单
+// 返回 []HsbyGoodsOrderDetail 求购(买入)挂牌委托单
+// 返回 error error
+func GetHsbyGoodsOrderDetails(goodsID int) ([]HsbyGoodsOrderDetail, []HsbyGoodsOrderDetail, error) {
+	engine := db.GetEngine()
+
+	// 获取与目标商品相关的挂牌委托单信息(ListingSelectType = 1 or 3; OrderStatus =3 or 7)
+	hsbyGoodsOrderDetails := make([]HsbyGoodsOrderDetail, 0)
+	if err := engine.Table("TRADE_ORDERDETAIL").
+		Select(`TRADE_ORDERDETAIL.ORDERID, TRADE_ORDERDETAIL.BUYORSELL, TRADE_ORDERDETAIL.ORDERTIME, TRADE_ORDERDETAIL.ORDERPRICE, (TRADE_ORDERDETAIL.ORDERQTY - TRADE_ORDERDETAIL.TRADEQTY - TRADE_ORDERDETAIL.CANCELQTY) ENABLEQTY,
+				substr(USERINFO.CUSTOMERNAME,0,1)||'****' as CUSTOMERNAME`).
+		Join("LEFT", "TAACCOUNT", "TAACCOUNT.ACCOUNTID = TRADE_ORDERDETAIL.ACCOUNTID").
+		Join("LEFT", "USERINFO", "USERINFO.USERID = TAACCOUNT.RELATEDUSERID").
+		Where("(TRADE_ORDERDETAIL.LISTINGSELECTTYPE = 1 or TRADE_ORDERDETAIL.LISTINGSELECTTYPE = 3) and (TRADE_ORDERDETAIL.ORDERSTATUS = 3 or TRADE_ORDERDETAIL.ORDERSTATUS = 7)").
+		And("TRADE_ORDERDETAIL.GOODSID = ?", goodsID).Find(&hsbyGoodsOrderDetails); err != nil {
+		return nil, nil, err
+	}
+
+	sellOrderDetails := make([]HsbyGoodsOrderDetail, 0)
+	buyOrderDetails := make([]HsbyGoodsOrderDetail, 0)
+	if len(hsbyGoodsOrderDetails) == 0 {
+		// 无数据
+		return sellOrderDetails, buyOrderDetails, nil
+	}
+
+	// 获取商品货币符号和报价单位
+	goods, err := GetGoods(goodsID)
+	if err != nil {
+		return nil, nil, err
+	}
+	currencyEnums, err := GetEnumDicItem("currency", int(goods.Currencyid))
+	if err != nil {
+		return nil, nil, err
+	}
+	currencysign := ""
+	if len(currencyEnums) > 0 {
+		currencysign = currencyEnums[0].Param2
+	}
+	goodsUnitEnums, err := GetEnumDicItem("goodsunit", int(goods.Goodunitid))
+	if err != nil {
+		return nil, nil, err
+	}
+	goodsUnit := ""
+	if len(goodsUnitEnums) > 0 {
+		goodsUnit = goodsUnitEnums[0].Enumdicname
+	}
+
+	for i := range hsbyGoodsOrderDetails {
+		orderDetail := &hsbyGoodsOrderDetails[i]
+
+		// 设置货币符号和报价单位
+		orderDetail.Currencysign = currencysign
+		orderDetail.Goodunit = goodsUnit
+
+		// 分解转让(卖)和求购(买)单
+		if orderDetail.Buyorsell == 1 {
+			sellOrderDetails = append(sellOrderDetails, *orderDetail)
+		}
+		if orderDetail.Buyorsell == 0 {
+			buyOrderDetails = append(buyOrderDetails, *orderDetail)
+		}
+	}
+
+	return sellOrderDetails, buyOrderDetails, nil
+}

+ 164 - 164
models/order.go

@@ -4,37 +4,37 @@ import "time"
 
 // Tradeposition 持仓头寸表 - 导历史
 type Tradeposition struct {
-	Accountid           uint64  `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`   // 账号Id
-	Goodsid             uint32  `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`       // 商品Id
-	Holdertype          uint32  `json:"holdertype"  xorm:"'HOLDERTYPE'" binding:"required"` // 持仓类别 - 1:单边持仓 2:双边持仓
-	Buypositionqty      uint64  `json:"buypositionqty"  xorm:"'BUYPOSITIONQTY'"`            // 买期初持仓数量
+	Accountid           int64   `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`   // 账号Id
+	Goodsid             int32   `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`       // 商品Id
+	Holdertype          int32   `json:"holdertype"  xorm:"'HOLDERTYPE'" binding:"required"` // 持仓类别 - 1:单边持仓 2:双边持仓
+	Buypositionqty      int64   `json:"buypositionqty"  xorm:"'BUYPOSITIONQTY'"`            // 买期初持仓数量
 	Buyholderamount     float64 `json:"buyholderamount"  xorm:"'BUYHOLDERAMOUNT'"`          // 买期初持仓总金额[商品币种]
-	Buycurpositionqty   uint64  `json:"buycurpositionqty"  xorm:"'BUYCURPOSITIONQTY'"`      // 买当前持仓总数量
+	Buycurpositionqty   int64   `json:"buycurpositionqty"  xorm:"'BUYCURPOSITIONQTY'"`      // 买当前持仓总数量
 	Buycurholderamount  float64 `json:"buycurholderamount"  xorm:"'BUYCURHOLDERAMOUNT'"`    // 买当前持仓总金额[商品币种]
-	Buyfrozenqty        uint64  `json:"buyfrozenqty"  xorm:"'BUYFROZENQTY'"`                // 买持仓冻结数量
-	Buyotherfrozenqty   uint64  `json:"buyotherfrozenqty"  xorm:"'BUYOTHERFROZENQTY'"`      // 买持仓其他冻结数量(交割冻结)
-	Buyopenreqqty       uint64  `json:"buyopenreqqty"  xorm:"'BUYOPENREQQTY'"`              // 买开仓申请数量(用于比较最大持仓数量)
-	Buyopentotalqty     uint64  `json:"buyopentotalqty"  xorm:"'BUYOPENTOTALQTY'"`          // 买开仓总数量
-	Buyclosetotalqty    uint64  `json:"buyclosetotalqty"  xorm:"'BUYCLOSETOTALQTY'"`        // 买平仓总数量
-	Sellpositionqty     uint64  `json:"sellpositionqty"  xorm:"'SELLPOSITIONQTY'"`          // 卖期初持仓数量
+	Buyfrozenqty        int64   `json:"buyfrozenqty"  xorm:"'BUYFROZENQTY'"`                // 买持仓冻结数量
+	Buyotherfrozenqty   int64   `json:"buyotherfrozenqty"  xorm:"'BUYOTHERFROZENQTY'"`      // 买持仓其他冻结数量(交割冻结)
+	Buyopenreqqty       int64   `json:"buyopenreqqty"  xorm:"'BUYOPENREQQTY'"`              // 买开仓申请数量(用于比较最大持仓数量)
+	Buyopentotalqty     int64   `json:"buyopentotalqty"  xorm:"'BUYOPENTOTALQTY'"`          // 买开仓总数量
+	Buyclosetotalqty    int64   `json:"buyclosetotalqty"  xorm:"'BUYCLOSETOTALQTY'"`        // 买平仓总数量
+	Sellpositionqty     int64   `json:"sellpositionqty"  xorm:"'SELLPOSITIONQTY'"`          // 卖期初持仓数量
 	Sellholderamount    float64 `json:"sellholderamount"  xorm:"'SELLHOLDERAMOUNT'"`        // 卖期初持仓总金额[商品币种]
-	Sellcurpositionqty  uint64  `json:"sellcurpositionqty"  xorm:"'SELLCURPOSITIONQTY'"`    // 卖当前持仓数量
+	Sellcurpositionqty  int64   `json:"sellcurpositionqty"  xorm:"'SELLCURPOSITIONQTY'"`    // 卖当前持仓数量
 	Sellcurholderamount float64 `json:"sellcurholderamount"  xorm:"'SELLCURHOLDERAMOUNT'"`  // 卖当前持仓总金额[商品币种]
-	Sellfrozenqty       uint64  `json:"sellfrozenqty"  xorm:"'SELLFROZENQTY'"`              // 卖持仓冻结
-	Sellotherfrozenqty  uint64  `json:"sellotherfrozenqty"  xorm:"'SELLOTHERFROZENQTY'"`    // 卖持仓其他冻结(交割冻结)
-	Sellopenreqqty      uint64  `json:"sellopenreqqty"  xorm:"'SELLOPENREQQTY'"`            // 卖开仓申请数量(用于比较最大持仓数量)
-	Sellopentotalqty    uint64  `json:"sellopentotalqty"  xorm:"'SELLOPENTOTALQTY'"`        // 卖开仓总数量
-	Sellclosetotalqty   uint64  `json:"sellclosetotalqty"  xorm:"'SELLCLOSETOTALQTY'"`      // 卖平仓总数量
+	Sellfrozenqty       int64   `json:"sellfrozenqty"  xorm:"'SELLFROZENQTY'"`              // 卖持仓冻结
+	Sellotherfrozenqty  int64   `json:"sellotherfrozenqty"  xorm:"'SELLOTHERFROZENQTY'"`    // 卖持仓其他冻结(交割冻结)
+	Sellopenreqqty      int64   `json:"sellopenreqqty"  xorm:"'SELLOPENREQQTY'"`            // 卖开仓申请数量(用于比较最大持仓数量)
+	Sellopentotalqty    int64   `json:"sellopentotalqty"  xorm:"'SELLOPENTOTALQTY'"`        // 卖开仓总数量
+	Sellclosetotalqty   int64   `json:"sellclosetotalqty"  xorm:"'SELLCLOSETOTALQTY'"`      // 卖平仓总数量
 	Usedmargin          float64 `json:"usedmargin"  xorm:"'USEDMARGIN'"`                    // 占用保证金[商品币种]
-	Tradeproperty       uint32  `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`              // 交易属性
-	Buytnqty            uint64  `json:"buytnqty"  xorm:"'BUYTNQTY'"`                        // 买T+N冻结总量
-	Buytnusedqty        uint64  `json:"buytnusedqty"  xorm:"'BUYTNUSEDQTY'"`                // 买T+N使用量(可以使用T+N的冻结数量)
-	Selltnqty           uint64  `json:"selltnqty"  xorm:"'SELLTNQTY'"`                      // 卖T+N冻结总量
-	Selltnusedqty       uint64  `json:"selltnusedqty"  xorm:"'SELLTNUSEDQTY'"`              // 卖T+N使用量(可以使用T+N的冻结数量)
-	Buycurtdposition    uint64  `json:"buycurtdposition"  xorm:"'BUYCURTDPOSITION'"`        // 买期末今日头寸
-	Buyfretdposition    uint64  `json:"buyfretdposition"  xorm:"'BUYFRETDPOSITION'"`        // 买冻结今日头寸
-	Sellcurtdposition   uint64  `json:"sellcurtdposition"  xorm:"'SELLCURTDPOSITION'"`      // 卖期末今日头寸
-	Sellfretdposition   uint64  `json:"sellfretdposition"  xorm:"'SELLFRETDPOSITION'"`      // 卖冻结今日头寸
+	Tradeproperty       int32   `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`              // 交易属性
+	Buytnqty            int64   `json:"buytnqty"  xorm:"'BUYTNQTY'"`                        // 买T+N冻结总量
+	Buytnusedqty        int64   `json:"buytnusedqty"  xorm:"'BUYTNUSEDQTY'"`                // 买T+N使用量(可以使用T+N的冻结数量)
+	Selltnqty           int64   `json:"selltnqty"  xorm:"'SELLTNQTY'"`                      // 卖T+N冻结总量
+	Selltnusedqty       int64   `json:"selltnusedqty"  xorm:"'SELLTNUSEDQTY'"`              // 卖T+N使用量(可以使用T+N的冻结数量)
+	Buycurtdposition    int64   `json:"buycurtdposition"  xorm:"'BUYCURTDPOSITION'"`        // 买期末今日头寸
+	Buyfretdposition    int64   `json:"buyfretdposition"  xorm:"'BUYFRETDPOSITION'"`        // 买冻结今日头寸
+	Sellcurtdposition   int64   `json:"sellcurtdposition"  xorm:"'SELLCURTDPOSITION'"`      // 卖期末今日头寸
+	Sellfretdposition   int64   `json:"sellfretdposition"  xorm:"'SELLFRETDPOSITION'"`      // 卖冻结今日头寸
 }
 
 // TableName is TRADEPOSITION
@@ -44,27 +44,27 @@ func (Tradeposition) TableName() string {
 
 // Tradeorderdetail 交易委托单表 - 导历史
 type Tradeorderdetail struct {
-	Orderid                 uint64    `json:"orderid"  xorm:"'ORDERID'" binding:"required"`              // 委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
+	Orderid                 int64     `json:"orderid"  xorm:"'ORDERID'" binding:"required"`              // 委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
 	Tradedate               string    `json:"tradedate"  xorm:"'TRADEDATE'" binding:"required"`          // 交易日(yyyyMMdd)
-	Buildtype               uint32    `json:"buildtype"  xorm:"'BUILDTYPE'" binding:"required"`          // 委托单据类型 - 1:建仓 2:平仓 3:先平后建
-	Preorderid              uint64    `json:"preorderid"  xorm:"'PREORDERID'"`                           // 关联预埋单号(止盈止损单时填写)
-	Cancelorderid           uint64    `json:"cancelorderid"  xorm:"'CANCELORDERID'"`                     // 撤单单号(撤单时填写)
-	Relatedid               uint64    `json:"relatedid"  xorm:"'RELATEDID'"`                             // 关联单号(交割单)
-	Marketid                uint32    `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
-	Goodsid                 uint32    `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
-	Accountid               uint64    `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
-	Memberuserid            uint64    `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 所属会员UserID
-	Buyorsell               uint32    `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 买卖 - 0:买 1:卖
-	Pricemode               uint32    `json:"pricemode"  xorm:"'PRICEMODE'" binding:"required"`          // 取价方式 - 1:市价 2: 限价
+	Buildtype               int32     `json:"buildtype"  xorm:"'BUILDTYPE'" binding:"required"`          // 委托单据类型 - 1:建仓 2:平仓 3:先平后建
+	Preorderid              int64     `json:"preorderid"  xorm:"'PREORDERID'"`                           // 关联预埋单号(止盈止损单时填写)
+	Cancelorderid           int64     `json:"cancelorderid"  xorm:"'CANCELORDERID'"`                     // 撤单单号(撤单时填写)
+	Relatedid               int64     `json:"relatedid"  xorm:"'RELATEDID'"`                             // 关联单号(交割单)
+	Marketid                int32     `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
+	Goodsid                 int32     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
+	Accountid               int64     `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
+	Memberuserid            int64     `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 所属会员UserID
+	Buyorsell               int32     `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 买卖 - 0:买 1:卖
+	Pricemode               int32     `json:"pricemode"  xorm:"'PRICEMODE'" binding:"required"`          // 取价方式 - 1:市价 2: 限价
 	Orderprice              float64   `json:"orderprice"  xorm:"'ORDERPRICE'"`                           // 委托价格
 	Marketmaxsub            float64   `json:"marketmaxsub"  xorm:"'MARKETMAXSUB'"`                       // 市价最大偏移范围
-	Orderqty                uint64    `json:"orderqty"  xorm:"'ORDERQTY'" binding:"required"`            // 委托数量
-	Tradeqty                uint64    `json:"tradeqty"  xorm:"'TRADEQTY'"`                               // 成交数量
-	Cancelqty               uint64    `json:"cancelqty"  xorm:"'CANCELQTY'"`                             // 撤单数量
-	Openqty                 uint64    `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作,需要记录)
-	Closeqty                uint64    `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
-	Opentradeqty            uint64    `json:"opentradeqty"  xorm:"'OPENTRADEQTY'"`                       // 开仓成交数量(先建后平操作,需要记录)
-	Closetradeqty           uint64    `json:"closetradeqty"  xorm:"'CLOSETRADEQTY'"`                     // 平仓成交数量(先建后平操作,需要记录)
+	Orderqty                int64     `json:"orderqty"  xorm:"'ORDERQTY'" binding:"required"`            // 委托数量
+	Tradeqty                int64     `json:"tradeqty"  xorm:"'TRADEQTY'"`                               // 成交数量
+	Cancelqty               int64     `json:"cancelqty"  xorm:"'CANCELQTY'"`                             // 撤单数量
+	Openqty                 int64     `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作,需要记录)
+	Closeqty                int64     `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
+	Opentradeqty            int64     `json:"opentradeqty"  xorm:"'OPENTRADEQTY'"`                       // 开仓成交数量(先建后平操作,需要记录)
+	Closetradeqty           int64     `json:"closetradeqty"  xorm:"'CLOSETRADEQTY'"`                     // 平仓成交数量(先建后平操作,需要记录)
 	Freezemargin            float64   `json:"freezemargin"  xorm:"'FREEZEMARGIN'"`                       // 冻结保证金(冻结交易金额)
 	Unfreezemargin          float64   `json:"unfreezemargin"  xorm:"'UNFREEZEMARGIN'"`                   // 解冻保证金
 	Freezecharge            float64   `json:"freezecharge"  xorm:"'FREEZECHARGE'"`                       // 冻结手续费
@@ -73,39 +73,39 @@ type Tradeorderdetail struct {
 	Closefreezecharge       float64   `json:"closefreezecharge"  xorm:"'CLOSEFREEZECHARGE'"`             // 平仓冻结手续费(先建后平操作,需要记录)
 	Openunfreezecharge      float64   `json:"openunfreezecharge"  xorm:"'OPENUNFREEZECHARGE'"`           // 开仓解冻手续费(先建后平操作,需要记录)
 	Closeunfreezecharge     float64   `json:"closeunfreezecharge"  xorm:"'CLOSEUNFREEZECHARGE'"`         // 平仓解冻手续费(先建后平操作,需要记录)
-	Validtype               uint32    `json:"validtype"  xorm:"'VALIDTYPE'" binding:"required"`          // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效 5指定时间有效
+	Validtype               int32     `json:"validtype"  xorm:"'VALIDTYPE'" binding:"required"`          // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效 5指定时间有效
 	Validtime               time.Time `json:"validtime"  xorm:"'VALIDTIME'"`                             // 有效期限
-	Volumetype              uint32    `json:"volumetype"  xorm:"'VOLUMETYPE'"`                           // 当时间有效类型为 “立即执行否则取消 IOC” 时,需要此项 - 0:任意量  1:最小量(暂时不支持) 2:全部量
-	Operatetype             uint32    `json:"operatetype"  xorm:"'OPERATETYPE'" binding:"required"`      // 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
+	Volumetype              int32     `json:"volumetype"  xorm:"'VOLUMETYPE'"`                           // 当时间有效类型为 “立即执行否则取消 IOC” 时,需要此项 - 0:任意量  1:最小量(暂时不支持) 2:全部量
+	Operatetype             int32     `json:"operatetype"  xorm:"'OPERATETYPE'" binding:"required"`      // 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
 	Ordertime               time.Time `json:"ordertime"  xorm:"'ORDERTIME'" binding:"required"`          // 委托时间
-	Ordersrc                uint32    `json:"ordersrc"  xorm:"'ORDERSRC'"`                               // 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
-	Orderstatus             uint32    `json:"orderstatus"  xorm:"'ORDERSTATUS'"`                         // 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
-	Operatorid              uint64    `json:"operatorid"  xorm:"'OPERATORID'"`                           // 登录账号(LoginID)
+	Ordersrc                int32     `json:"ordersrc"  xorm:"'ORDERSRC'"`                               // 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
+	Orderstatus             int32     `json:"orderstatus"  xorm:"'ORDERSTATUS'"`                         // 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+	Operatorid              int64     `json:"operatorid"  xorm:"'OPERATORID'"`                           // 登录账号(LoginID)
 	Updatetime              time.Time `json:"updatetime"  xorm:"'UPDATETIME'"`                           // 更新时间
 	Clientordertime         time.Time `json:"clientordertime"  xorm:"'CLIENTORDERTIME'"`                 // 客户端委托时间
 	Clientticket            string    `json:"clientticket"  xorm:"'CLIENTTICKET'"`                       // 客户端流水号
 	UUID                    string    `json:"uuid"  xorm:"'UUID'"`                                       // 发起端唯一id
-	Clienttype              uint32    `json:"clienttype"  xorm:"'CLIENTTYPE'"`                           // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
-	Retcode                 uint32    `json:"retcode"  xorm:"'RETCODE'"`                                 // 错误代码
-	Tradeproperty           uint32    `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
-	Listingselecttype       uint32    `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"`             // 挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
-	Delistingtype           uint32    `json:"delistingtype"  xorm:"'DELISTINGTYPE'"`                     // 摘牌类型 - 1:价格最优 2:点选成交
-	Marginalgorithm         uint32    `json:"marginalgorithm"  xorm:"'MARGINALGORITHM'"`                 // 保证金收取方式  1:比率  2:固定
+	Clienttype              int32     `json:"clienttype"  xorm:"'CLIENTTYPE'"`                           // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+	Retcode                 int32     `json:"retcode"  xorm:"'RETCODE'"`                                 // 错误代码
+	Tradeproperty           int32     `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
+	Listingselecttype       int32     `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"`             // 挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
+	Delistingtype           int32     `json:"delistingtype"  xorm:"'DELISTINGTYPE'"`                     // 摘牌类型 - 1:价格最优 2:点选成交
+	Marginalgorithm         int32     `json:"marginalgorithm"  xorm:"'MARGINALGORITHM'"`                 // 保证金收取方式  1:比率  2:固定
 	Marginvalue             float64   `json:"marginvalue"  xorm:"'MARGINVALUE'"`                         // 即市保证金设置值
-	Openfeealgorithm        uint32    `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
+	Openfeealgorithm        int32     `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
 	Openmemberchargevalue   float64   `json:"openmemberchargevalue"  xorm:"'OPENMEMBERCHARGEVALUE'"`     // 建仓会员手续费设置值
 	Openexchagechargevalue  float64   `json:"openexchagechargevalue"  xorm:"'OPENEXCHAGECHARGEVALUE'"`   // 建仓交易所手续费设置值
-	Closefeealgorithm       uint32    `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
+	Closefeealgorithm       int32     `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
 	Closememberchargevalue  float64   `json:"closememberchargevalue"  xorm:"'CLOSEMEMBERCHARGEVALUE'"`   // 平仓会员手续费设置值
 	Closeexchagechargevalue float64   `json:"closeexchagechargevalue"  xorm:"'CLOSEEXCHAGECHARGEVALUE'"` // 平仓交易所手续费设置值
-	Optiontype              uint32    `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
+	Optiontype              int32     `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
 	Premium                 float64   `json:"premium"  xorm:"'PREMIUM'"`                                 // 权利金
-	Ispreexercise           uint32    `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
+	Ispreexercise           int32     `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
 	Preexerciseprice        float64   `json:"preexerciseprice"  xorm:"'PREEXERCISEPRICE'"`               // 预申报价格
-	Isconfirmexercise       uint32    `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
-	Quoteid                 uint64    `json:"quoteid"  xorm:"'QUOTEID'"`                                 // 报价单ID
-	Gcaccountid             uint64    `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
-	Sessionid               uint64    `json:"sessionid"  xorm:"'SESSIONID'"`                             // 会话ID
+	Isconfirmexercise       int32     `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
+	Quoteid                 int64     `json:"quoteid"  xorm:"'QUOTEID'"`                                 // 报价单ID
+	Gcaccountid             int64     `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
+	Sessionid               int64     `json:"sessionid"  xorm:"'SESSIONID'"`                             // 会话ID
 }
 
 // TableName is TRADE_ORDERDETAIL
@@ -117,25 +117,25 @@ func (Tradeorderdetail) TableName() string {
 type Histradeorderdetail struct {
 	Orderid                 string    `json:"orderid"  xorm:"'ORDERID'" binding:"required"`              // 委托单号(100+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
 	Tradedate               string    `json:"tradedate"  xorm:"'TRADEDATE'" binding:"required"`          // 交易日(yyyyMMdd)
-	Buildtype               uint32    `json:"buildtype"  xorm:"'BUILDTYPE'" binding:"required"`          // 委托单据类型 - 1:建仓 2:平仓 3:先平后建
+	Buildtype               int32     `json:"buildtype"  xorm:"'BUILDTYPE'" binding:"required"`          // 委托单据类型 - 1:建仓 2:平仓 3:先平后建
 	Preorderid              string    `json:"preorderid"  xorm:"'PREORDERID'"`                           // 关联预埋单号(止盈止损单时填写)
 	Cancelorderid           string    `json:"cancelorderid"  xorm:"'CANCELORDERID'"`                     // 撤单单号(撤单时填写)
 	Relatedid               string    `json:"relatedid"  xorm:"'RELATEDID'"`                             // 关联单号(交割单)
-	Marketid                uint32    `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
-	Goodsid                 uint32    `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
-	Accountid               uint64    `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
-	Memberuserid            uint64    `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 所属会员UserID
-	Buyorsell               uint32    `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 买卖 - 0:买 1:卖
-	Pricemode               uint32    `json:"pricemode"  xorm:"'PRICEMODE'" binding:"required"`          // 取价方式 - 1:市价 2: 限价
+	Marketid                int32     `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
+	Goodsid                 int32     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
+	Accountid               int64     `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
+	Memberuserid            int64     `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 所属会员UserID
+	Buyorsell               int32     `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 买卖 - 0:买 1:卖
+	Pricemode               int32     `json:"pricemode"  xorm:"'PRICEMODE'" binding:"required"`          // 取价方式 - 1:市价 2: 限价
 	Orderprice              float64   `json:"orderprice"  xorm:"'ORDERPRICE'"`                           // 委托价格
 	Marketmaxsub            float64   `json:"marketmaxsub"  xorm:"'MARKETMAXSUB'"`                       // 市价最大偏移范围
-	Orderqty                uint64    `json:"orderqty"  xorm:"'ORDERQTY'" binding:"required"`            // 委托数量
-	Tradeqty                uint64    `json:"tradeqty"  xorm:"'TRADEQTY'"`                               // 成交数量
-	Cancelqty               uint64    `json:"cancelqty"  xorm:"'CANCELQTY'"`                             // 撤单数量
-	Openqty                 uint64    `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作,需要记录)
-	Closeqty                uint64    `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
-	Opentradeqty            uint64    `json:"opentradeqty"  xorm:"'OPENTRADEQTY'"`                       // 开仓成交数量(先建后平操作,需要记录)
-	Closetradeqty           uint64    `json:"closetradeqty"  xorm:"'CLOSETRADEQTY'"`                     // 平仓成交数量(先建后平操作,需要记录)
+	Orderqty                int64     `json:"orderqty"  xorm:"'ORDERQTY'" binding:"required"`            // 委托数量
+	Tradeqty                int64     `json:"tradeqty"  xorm:"'TRADEQTY'"`                               // 成交数量
+	Cancelqty               int64     `json:"cancelqty"  xorm:"'CANCELQTY'"`                             // 撤单数量
+	Openqty                 int64     `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作,需要记录)
+	Closeqty                int64     `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
+	Opentradeqty            int64     `json:"opentradeqty"  xorm:"'OPENTRADEQTY'"`                       // 开仓成交数量(先建后平操作,需要记录)
+	Closetradeqty           int64     `json:"closetradeqty"  xorm:"'CLOSETRADEQTY'"`                     // 平仓成交数量(先建后平操作,需要记录)
 	Freezemargin            float64   `json:"freezemargin"  xorm:"'FREEZEMARGIN'"`                       // 冻结保证金(冻结交易金额)
 	Unfreezemargin          float64   `json:"unfreezemargin"  xorm:"'UNFREEZEMARGIN'"`                   // 解冻保证金
 	Freezecharge            float64   `json:"freezecharge"  xorm:"'FREEZECHARGE'"`                       // 冻结手续费
@@ -144,41 +144,41 @@ type Histradeorderdetail struct {
 	Closefreezecharge       float64   `json:"closefreezecharge"  xorm:"'CLOSEFREEZECHARGE'"`             // 平仓冻结手续费(先建后平操作,需要记录)
 	Openunfreezecharge      float64   `json:"openunfreezecharge"  xorm:"'OPENUNFREEZECHARGE'"`           // 开仓解冻手续费(先建后平操作,需要记录)
 	Closeunfreezecharge     float64   `json:"closeunfreezecharge"  xorm:"'CLOSEUNFREEZECHARGE'"`         // 平仓解冻手续费(先建后平操作,需要记录)
-	Validtype               uint32    `json:"validtype"  xorm:"'VALIDTYPE'" binding:"required"`          // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效 5指定时间有效
+	Validtype               int32     `json:"validtype"  xorm:"'VALIDTYPE'" binding:"required"`          // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效 5指定时间有效
 	Validtime               time.Time `json:"validtime"  xorm:"'VALIDTIME'"`                             // 有效期限
-	Volumetype              uint32    `json:"volumetype"  xorm:"'VOLUMETYPE'"`                           // 当时间有效类型为 “立即执行否则取消 IOC” 时,需要此项 - 0:任意量  1:最小量(暂时不支持) 2:全部量
-	Operatetype             uint32    `json:"operatetype"  xorm:"'OPERATETYPE'" binding:"required"`      // 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
+	Volumetype              int32     `json:"volumetype"  xorm:"'VOLUMETYPE'"`                           // 当时间有效类型为 “立即执行否则取消 IOC” 时,需要此项 - 0:任意量  1:最小量(暂时不支持) 2:全部量
+	Operatetype             int32     `json:"operatetype"  xorm:"'OPERATETYPE'" binding:"required"`      // 操作类型 - 1:正常下单 2:斩仓 3:转单 4:结算撤单 5:系统卖出(适用于先平后建的卖出) 6:行情源报价 7:(结算)到期强平 8:(结算)协议转让 9:系统对冲单 10:(结算)到期无效 11:交割协议转让 12:交割协议平仓 13:交割成交(所有权) 14:管理端强行平仓 15:管理端协议转让
 	Ordertime               time.Time `json:"ordertime"  xorm:"'ORDERTIME'" binding:"required"`          // 委托时间
-	Ordersrc                uint32    `json:"ordersrc"  xorm:"'ORDERSRC'"`                               // 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
-	Orderstatus             uint32    `json:"orderstatus"  xorm:"'ORDERSTATUS'"`                         // 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
-	Operatorid              uint64    `json:"operatorid"  xorm:"'OPERATORID'"`                           // 登录账号(LoginID)
+	Ordersrc                int32     `json:"ordersrc"  xorm:"'ORDERSRC'"`                               // 委托来源 -  1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 7:商品强平 8:管理端商品退市强平 9:交易接口 10:交割服务商被动(受托竞价) 11:预埋触发
+	Orderstatus             int32     `json:"orderstatus"  xorm:"'ORDERSTATUS'"`                         // 委托状态 - 1: 委托请求 2:待冻结 3:委托成功 4: 委托失败 5:配对成功 6: 已撤销 7:部分成交 8:已成交 9:部成部撤 10:成交失败 11:已拒绝 12:经过摘牌(先摘后挂专用-先摘后挂已摘过) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用)
+	Operatorid              int64     `json:"operatorid"  xorm:"'OPERATORID'"`                           // 登录账号(LoginID)
 	Updatetime              time.Time `json:"updatetime"  xorm:"'UPDATETIME'"`                           // 更新时间
 	Clientordertime         time.Time `json:"clientordertime"  xorm:"'CLIENTORDERTIME'"`                 // 客户端委托时间
 	Clientticket            string    `json:"clientticket"  xorm:"'CLIENTTICKET'"`                       // 客户端流水号
 	UUID                    string    `json:"uuid"  xorm:"'UUID'"`                                       // 发起端唯一id
-	Clienttype              uint32    `json:"clienttype"  xorm:"'CLIENTTYPE'"`                           // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
-	Retcode                 uint32    `json:"retcode"  xorm:"'RETCODE'"`                                 // 错误代码
-	Tradeproperty           uint32    `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
-	Listingselecttype       uint32    `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"`             // 挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
-	Delistingtype           uint32    `json:"delistingtype"  xorm:"'DELISTINGTYPE'"`                     // 摘牌类型 - 1:价格最优 2:点选成交
-	Marginalgorithm         uint32    `json:"marginalgorithm"  xorm:"'MARGINALGORITHM'"`                 // 保证金收取方式  1:比率  2:固定
+	Clienttype              int32     `json:"clienttype"  xorm:"'CLIENTTYPE'"`                           // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+	Retcode                 int32     `json:"retcode"  xorm:"'RETCODE'"`                                 // 错误代码
+	Tradeproperty           int32     `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
+	Listingselecttype       int32     `json:"listingselecttype"  xorm:"'LISTINGSELECTTYPE'"`             // 挂牌点选类型 - 1:挂牌 2:摘牌 3:先摘后挂
+	Delistingtype           int32     `json:"delistingtype"  xorm:"'DELISTINGTYPE'"`                     // 摘牌类型 - 1:价格最优 2:点选成交
+	Marginalgorithm         int32     `json:"marginalgorithm"  xorm:"'MARGINALGORITHM'"`                 // 保证金收取方式  1:比率  2:固定
 	Marginvalue             float64   `json:"marginvalue"  xorm:"'MARGINVALUE'"`                         // 即市保证金设置值
-	Openfeealgorithm        uint32    `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
+	Openfeealgorithm        int32     `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
 	Openmemberchargevalue   float64   `json:"openmemberchargevalue"  xorm:"'OPENMEMBERCHARGEVALUE'"`     // 建仓会员手续费设置值
 	Openexchagechargevalue  float64   `json:"openexchagechargevalue"  xorm:"'OPENEXCHAGECHARGEVALUE'"`   // 建仓交易所手续费设置值
-	Closefeealgorithm       uint32    `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
+	Closefeealgorithm       int32     `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
 	Closememberchargevalue  float64   `json:"closememberchargevalue"  xorm:"'CLOSEMEMBERCHARGEVALUE'"`   // 平仓会员手续费设置值
 	Closeexchagechargevalue float64   `json:"closeexchagechargevalue"  xorm:"'CLOSEEXCHAGECHARGEVALUE'"` // 平仓交易所手续费设置值
-	Optiontype              uint32    `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
+	Optiontype              int32     `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
 	Premium                 float64   `json:"premium"  xorm:"'PREMIUM'"`                                 // 权利金
-	Ispreexercise           uint32    `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
+	Ispreexercise           int32     `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
 	Preexerciseprice        float64   `json:"preexerciseprice"  xorm:"'PREEXERCISEPRICE'"`               // 预申报价格
-	Isconfirmexercise       uint32    `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
-	Quoteid                 uint64    `json:"quoteid"  xorm:"'QUOTEID'"`                                 // 报价单ID
-	Gcaccountid             uint64    `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
-	Sessionid               uint64    `json:"sessionid"  xorm:"'SESSIONID'"`                             // 会话ID
+	Isconfirmexercise       int32     `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
+	Quoteid                 int64     `json:"quoteid"  xorm:"'QUOTEID'"`                                 // 报价单ID
+	Gcaccountid             int64     `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
+	Sessionid               int64     `json:"sessionid"  xorm:"'SESSIONID'"`                             // 会话ID
 	Histradedate            string    `json:"histradedate"  xorm:"'HISTRADEDATE'" binding:"required"`    // 历史交易日
-	Isvaliddata             uint32    `json:"isvaliddata"  xorm:"'ISVALIDDATA'"`                         // 是否有效 - 0:无效 1:有效
+	Isvaliddata             int32     `json:"isvaliddata"  xorm:"'ISVALIDDATA'"`                         // 是否有效 - 0:无效 1:有效
 }
 
 // TableName is HIS_TRADE_ORDERDETAIL
@@ -188,31 +188,31 @@ func (Histradeorderdetail) TableName() string {
 
 // Tradequotedetailnew 报价商报价表 - 导历史
 type Tradequotedetailnew struct {
-	Quoterid             uint64    `json:"quoterid"  xorm:"'QUOTERID'" binding:"required"`      // 报价商ID
-	Goodsid              uint32    `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`        // 商品ID
-	Buyorsell            uint32    `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`    // 买卖方向 - 0:买 1:卖
+	Quoterid             int64     `json:"quoterid"  xorm:"'QUOTERID'" binding:"required"`      // 报价商ID
+	Goodsid              int32     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`        // 商品ID
+	Buyorsell            int32     `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`    // 买卖方向 - 0:买 1:卖
 	Tradedate            string    `json:"tradedate"  xorm:"'TRADEDATE'"`                       // 交易日(yyyyMMdd)
 	Quotetime            time.Time `json:"quotetime"  xorm:"'QUOTETIME'"`                       // 报价时间
-	Orderid              uint64    `json:"orderid"  xorm:"'ORDERID'"`                           // 委托单ID(使用委托单规则生成)
-	Quoteid              uint64    `json:"quoteid"  xorm:"'QUOTEID'"`                           // 报价单ID(自动报价)
+	Orderid              int64     `json:"orderid"  xorm:"'ORDERID'"`                           // 委托单ID(使用委托单规则生成)
+	Quoteid              int64     `json:"quoteid"  xorm:"'QUOTEID'"`                           // 报价单ID(自动报价)
 	Price                float64   `json:"price"  xorm:"'PRICE'"`                               // 价格
-	Qty                  uint64    `json:"qty"  xorm:"'QTY'"`                                   // 数量
-	Curqty               uint64    `json:"curqty"  xorm:"'CURQTY'"`                             // 当前量
+	Qty                  int64     `json:"qty"  xorm:"'QTY'"`                                   // 数量
+	Curqty               int64     `json:"curqty"  xorm:"'CURQTY'"`                             // 当前量
 	Move                 float64   `json:"move"  xorm:"'MOVE'"`                                 // 点差  整数 可零正负
 	Limitprice           float64   `json:"limitprice"  xorm:"'LIMITPRICE'"`                     // 最高买价/最低卖价
-	Quotesource          uint32    `json:"quotesource"  xorm:"'QUOTESOURCE'"`                   // 报价来源 - 0:外部行情 1:管理端手动报价2:自动报价服务报价 3:交易接口
-	Quoteeffectivesecond uint64    `json:"quoteeffectivesecond"  xorm:"'QUOTEEFFECTIVESECOND'"` // 行情有效时间(秒)
+	Quotesource          int32     `json:"quotesource"  xorm:"'QUOTESOURCE'"`                   // 报价来源 - 0:外部行情 1:管理端手动报价2:自动报价服务报价 3:交易接口
+	Quoteeffectivesecond int64     `json:"quoteeffectivesecond"  xorm:"'QUOTEEFFECTIVESECOND'"` // 行情有效时间(秒)
 	Expireddate          time.Time `json:"expireddate"  xorm:"'EXPIREDDATE'"`                   // 有效时间(根据秒算出实际时间)
 	Freezeamount         float64   `json:"freezeamount"  xorm:"'FREEZEAMOUNT'"`                 // 剩余冻结资金(所有权)
-	Freezestatus         uint32    `json:"freezestatus"  xorm:"'FREEZESTATUS'"`                 // 冻结状态(所有权) - 1:无冻结 2:已冻结 3:已解冻
-	Pricetype            uint32    `json:"pricetype"  xorm:"'PRICETYPE'"`                       // 报价类型 - 1:不报价 2:手工报价
-	Qtytype              uint32    `json:"qtytype"  xorm:"'QTYTYPE'"`                           // 报量类型 - 1:随机量 2:手工报量 3:延用量
-	Isvalid              uint32    `json:"isvalid"  xorm:"'ISVALID'"`                           // 是否撤销 - 0:未撤销 1:已撤销
-	Marketid             uint32    `json:"marketid"  xorm:"'MARKETID'"`                         // 市场ID
-	Tradeproperty        uint32    `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`               // 交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情
+	Freezestatus         int32     `json:"freezestatus"  xorm:"'FREEZESTATUS'"`                 // 冻结状态(所有权) - 1:无冻结 2:已冻结 3:已解冻
+	Pricetype            int32     `json:"pricetype"  xorm:"'PRICETYPE'"`                       // 报价类型 - 1:不报价 2:手工报价
+	Qtytype              int32     `json:"qtytype"  xorm:"'QTYTYPE'"`                           // 报量类型 - 1:随机量 2:手工报量 3:延用量
+	Isvalid              int32     `json:"isvalid"  xorm:"'ISVALID'"`                           // 是否撤销 - 0:未撤销 1:已撤销
+	Marketid             int32     `json:"marketid"  xorm:"'MARKETID'"`                         // 市场ID
+	Tradeproperty        int32     `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`               // 交易属性 -  1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情
 	Freezeprice          float64   `json:"freezeprice"  xorm:"'FREEZEPRICE'"`                   // 冻结资金价格
 	Serialnumber         string    `json:"serialnumber"  xorm:"'SERIALNUMBER'"`                 // 外部流水号
-	Accountid            uint64    `json:"accountid"  xorm:"'ACCOUNTID'"`                       // 报价资金账号
+	Accountid            int64     `json:"accountid"  xorm:"'ACCOUNTID'"`                       // 报价资金账号
 }
 
 // TableName is TRADE_QUOTEDETAILNEW
@@ -223,47 +223,47 @@ func (Tradequotedetailnew) TableName() string {
 // Tradetradedetail 交易成交单表 - 导历史
 type Tradetradedetail struct {
 	Tradeid                 string    `json:"tradeid"  xorm:"'TRADEID'" binding:"required"`              // 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
-	Buyorsell               uint32    `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 方向 - 0:买 1:卖
+	Buyorsell               int32     `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 方向 - 0:买 1:卖
 	Orderid                 string    `json:"orderid"  xorm:"'ORDERID'" binding:"required"`              // 委托单号
 	Tradedate               string    `json:"tradedate"  xorm:"'TRADEDATE'" binding:"required"`          // 交易日(yyyyMMdd)
-	Accountid               uint64    `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
-	Goodsid                 uint32    `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
-	Marketid                uint32    `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
-	Memberuserid            uint64    `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 会员id 个人投资者 需要填写
-	Matchaccountid          uint64    `json:"matchaccountid"  xorm:"'MATCHACCOUNTID'"`                   // 对手账号id
+	Accountid               int64     `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
+	Goodsid                 int32     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
+	Marketid                int32     `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
+	Memberuserid            int64     `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 会员id 个人投资者 需要填写
+	Matchaccountid          int64     `json:"matchaccountid"  xorm:"'MATCHACCOUNTID'"`                   // 对手账号id
 	Tradetime               time.Time `json:"tradetime"  xorm:"'TRADETIME'" binding:"required"`          // 成交时间
 	Tradeprice              float64   `json:"tradeprice"  xorm:"'TRADEPRICE'" binding:"required"`        // 成交价格
-	Tradeqty                uint64    `json:"tradeqty"  xorm:"'TRADEQTY'" binding:"required"`            // 成交数量
+	Tradeqty                int64     `json:"tradeqty"  xorm:"'TRADEQTY'" binding:"required"`            // 成交数量
 	Tradeamount             float64   `json:"tradeamount"  xorm:"'TRADEAMOUNT'" binding:"required"`      // 成交金额[账户币种,用于所有权]
 	Closepl                 float64   `json:"closepl"  xorm:"'CLOSEPL'"`                                 // 平仓盈亏
 	Intclosepl              int64     `json:"intclosepl"  xorm:"'INTCLOSEPL'"`                           // 整型盈亏(用于交易结算试算平衡-收益权)
 	Opencharge              float64   `json:"opencharge"  xorm:"'OPENCHARGE'"`                           // 建仓手续费(支付总手续费=(交易所比率+会员比率)*成交金额)
 	Closecharge             float64   `json:"closecharge"  xorm:"'CLOSECHARGE'"`                         // 平仓手续费(支付总手续费=(交易所比率+会员比率)*成交金额)
-	Tradetype               uint32    `json:"tradetype"  xorm:"'TRADETYPE'"`                             // 成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交 7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓
-	Buildtype               uint32    `json:"buildtype"  xorm:"'BUILDTYPE'"`                             // 委托单据类型 1:建仓 2:平仓 3:先平后建
-	Openqty                 uint64    `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作 需要记录)
-	Closeqty                uint64    `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
-	Status                  uint32    `json:"status"  xorm:"'STATUS'"`                                   // 处理状态 - 1:待处理 2:已处理 3:处理失败
-	Isreckoned              uint32    `json:"isreckoned"  xorm:"'ISRECKONED'"`                           // 是否结算 - 0:未结算 1:已结算
-	Tradeproperty           uint32    `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
-	Openfeealgorithm        uint32    `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
+	Tradetype               int32     `json:"tradetype"  xorm:"'TRADETYPE'"`                             // 成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交 7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓
+	Buildtype               int32     `json:"buildtype"  xorm:"'BUILDTYPE'"`                             // 委托单据类型 1:建仓 2:平仓 3:先平后建
+	Openqty                 int64     `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作 需要记录)
+	Closeqty                int64     `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
+	Status                  int32     `json:"status"  xorm:"'STATUS'"`                                   // 处理状态 - 1:待处理 2:已处理 3:处理失败
+	Isreckoned              int32     `json:"isreckoned"  xorm:"'ISRECKONED'"`                           // 是否结算 - 0:未结算 1:已结算
+	Tradeproperty           int32     `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
+	Openfeealgorithm        int32     `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
 	Openmemberchargevalue   float64   `json:"openmemberchargevalue"  xorm:"'OPENMEMBERCHARGEVALUE'"`     // 建仓会员手续费设置值
 	Openexchagechargevalue  float64   `json:"openexchagechargevalue"  xorm:"'OPENEXCHAGECHARGEVALUE'"`   // 建仓交易所手续费设置值
-	Closefeealgorithm       uint32    `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
+	Closefeealgorithm       int32     `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
 	Closememberchargevalue  float64   `json:"closememberchargevalue"  xorm:"'CLOSEMEMBERCHARGEVALUE'"`   // 平仓会员手续费设置值
 	Closeexchagechargevalue float64   `json:"closeexchagechargevalue"  xorm:"'CLOSEEXCHAGECHARGEVALUE'"` // 平仓交易所手续费设置值
-	Optiontype              uint32    `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
+	Optiontype              int32     `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
 	Premium                 float64   `json:"premium"  xorm:"'PREMIUM'"`                                 // 权利金 - [持仓单的权利金]
-	Ispreexercise           uint32    `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
+	Ispreexercise           int32     `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
 	Preexerciseprice        float64   `json:"preexerciseprice"  xorm:"'PREEXERCISEPRICE'"`               // 预申报价格
-	Isconfirmexercise       uint32    `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
-	Ismain                  uint32    `json:"ismain"  xorm:"'ISMAIN'"`                                   // 是否主单 - 0:不是 1:是
-	Performanceplanid       uint64    `json:"performanceplanid"  xorm:"'PERFORMANCEPLANID'"`             // 履约计划ID[期权]
-	Performancestatus       uint32    `json:"performancestatus"  xorm:"'PERFORMANCESTATUS'"`             // 履约状态[期权] - 0:无履约 1:未履约 2:履约中 3:履约完成
+	Isconfirmexercise       int32     `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
+	Ismain                  int32     `json:"ismain"  xorm:"'ISMAIN'"`                                   // 是否主单 - 0:不是 1:是
+	Performanceplanid       int64     `json:"performanceplanid"  xorm:"'PERFORMANCEPLANID'"`             // 履约计划ID[期权]
+	Performancestatus       int32     `json:"performancestatus"  xorm:"'PERFORMANCESTATUS'"`             // 履约状态[期权] - 0:无履约 1:未履约 2:履约中 3:履约完成
 	Creditamount            float64   `json:"creditamount"  xorm:"'CREDITAMOUNT'"`                       // 授信金额
-	Gcaccountid             uint64    `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
+	Gcaccountid             int64     `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
 	Closepl2                float64   `json:"closepl2"  xorm:"'CLOSEPL2'"`                               // 平仓盈亏[逐笔]
-	Relatedouttradeid       uint64    `json:"relatedouttradeid"  xorm:"'RELATEDOUTTRADEID'"`             // 关联外部成交单ID
+	Relatedouttradeid       int64     `json:"relatedouttradeid"  xorm:"'RELATEDOUTTRADEID'"`             // 关联外部成交单ID
 }
 
 // TableName is TRADE_TRADEDETAIL
@@ -274,49 +274,49 @@ func (Tradetradedetail) TableName() string {
 // Histradetradedetail 历史交易成交单表
 type Histradetradedetail struct {
 	Tradeid                 string    `json:"tradeid"  xorm:"'TRADEID'" binding:"required"`              // 成交单号(101+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
-	Buyorsell               uint32    `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 方向 - 0:买 1:卖
+	Buyorsell               int32     `json:"buyorsell"  xorm:"'BUYORSELL'" binding:"required"`          // 方向 - 0:买 1:卖
 	Orderid                 string    `json:"orderid"  xorm:"'ORDERID'" binding:"required"`              // 委托单号
 	Tradedate               string    `json:"tradedate"  xorm:"'TRADEDATE'" binding:"required"`          // 交易日(yyyyMMdd)
-	Accountid               uint64    `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
-	Goodsid                 uint32    `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
-	Marketid                uint32    `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
-	Memberuserid            uint64    `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 会员id 个人投资者 需要填写
-	Matchaccountid          uint64    `json:"matchaccountid"  xorm:"'MATCHACCOUNTID'"`                   // 对手账号id
+	Accountid               int64     `json:"accountid"  xorm:"'ACCOUNTID'" binding:"required"`          // 账户ID[报价币种]
+	Goodsid                 int32     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`              // 商品ID
+	Marketid                int32     `json:"marketid"  xorm:"'MARKETID'" binding:"required"`            // 市场ID
+	Memberuserid            int64     `json:"memberuserid"  xorm:"'MEMBERUSERID'" binding:"required"`    // 会员id 个人投资者 需要填写
+	Matchaccountid          int64     `json:"matchaccountid"  xorm:"'MATCHACCOUNTID'"`                   // 对手账号id
 	Tradetime               time.Time `json:"tradetime"  xorm:"'TRADETIME'" binding:"required"`          // 成交时间
 	Tradeprice              float64   `json:"tradeprice"  xorm:"'TRADEPRICE'" binding:"required"`        // 成交价格
-	Tradeqty                uint64    `json:"tradeqty"  xorm:"'TRADEQTY'" binding:"required"`            // 成交数量
+	Tradeqty                int64     `json:"tradeqty"  xorm:"'TRADEQTY'" binding:"required"`            // 成交数量
 	Tradeamount             float64   `json:"tradeamount"  xorm:"'TRADEAMOUNT'" binding:"required"`      // 成交金额[账户币种,用于所有权]
 	Closepl                 float64   `json:"closepl"  xorm:"'CLOSEPL'"`                                 // 平仓盈亏
 	Intclosepl              int64     `json:"intclosepl"  xorm:"'INTCLOSEPL'"`                           // 整型盈亏(用于交易结算试算平衡-收益权)
 	Opencharge              float64   `json:"opencharge"  xorm:"'OPENCHARGE'"`                           // 建仓手续费(支付总手续费=(交易所比率+会员比率)*成交金额)
 	Closecharge             float64   `json:"closecharge"  xorm:"'CLOSECHARGE'"`                         // 平仓手续费(支付总手续费=(交易所比率+会员比率)*成交金额)
-	Tradetype               uint32    `json:"tradetype"  xorm:"'TRADETYPE'"`                             // 成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交 7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓
-	Buildtype               uint32    `json:"buildtype"  xorm:"'BUILDTYPE'"`                             // 委托单据类型 1:建仓 2:平仓 3:先平后建
-	Openqty                 uint64    `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作 需要记录)
-	Closeqty                uint64    `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
-	Status                  uint32    `json:"status"  xorm:"'STATUS'"`                                   // 处理状态 - 1:待处理 2:已处理 3:处理失败
-	Isreckoned              uint32    `json:"isreckoned"  xorm:"'ISRECKONED'"`                           // 是否结算 - 0:未结算 1:已结算
-	Tradeproperty           uint32    `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
-	Openfeealgorithm        uint32    `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
+	Tradetype               int32     `json:"tradetype"  xorm:"'TRADETYPE'"`                             // 成交类别 - 1:正常委托成交 2:定向做市成交(接单) 3:交割协议平仓成交 4:交割减仓成交 5:到期强平成交 6:风控斩仓成交 7:协议平仓(管理端)成交 8:仓单转持仓成交 9: 交割协议转让成交 10:受托竞价成交(接单) 11:协议转让成交 12:系统强行平仓 13:期权违约平仓
+	Buildtype               int32     `json:"buildtype"  xorm:"'BUILDTYPE'"`                             // 委托单据类型 1:建仓 2:平仓 3:先平后建
+	Openqty                 int64     `json:"openqty"  xorm:"'OPENQTY'"`                                 // 开仓数量(先建后平操作 需要记录)
+	Closeqty                int64     `json:"closeqty"  xorm:"'CLOSEQTY'"`                               // 平仓数量(先建后平操作 需要记录)
+	Status                  int32     `json:"status"  xorm:"'STATUS'"`                                   // 处理状态 - 1:待处理 2:已处理 3:处理失败
+	Isreckoned              int32     `json:"isreckoned"  xorm:"'ISRECKONED'"`                           // 是否结算 - 0:未结算 1:已结算
+	Tradeproperty           int32     `json:"tradeproperty"  xorm:"'TRADEPROPERTY'"`                     // 交易属性
+	Openfeealgorithm        int32     `json:"openfeealgorithm"  xorm:"'OPENFEEALGORITHM'"`               // 建仓手续费收取方式  1:比率  2:固定
 	Openmemberchargevalue   float64   `json:"openmemberchargevalue"  xorm:"'OPENMEMBERCHARGEVALUE'"`     // 建仓会员手续费设置值
 	Openexchagechargevalue  float64   `json:"openexchagechargevalue"  xorm:"'OPENEXCHAGECHARGEVALUE'"`   // 建仓交易所手续费设置值
-	Closefeealgorithm       uint32    `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
+	Closefeealgorithm       int32     `json:"closefeealgorithm"  xorm:"'CLOSEFEEALGORITHM'"`             // 平仓手续费收取方式 1:比率  2:固定
 	Closememberchargevalue  float64   `json:"closememberchargevalue"  xorm:"'CLOSEMEMBERCHARGEVALUE'"`   // 平仓会员手续费设置值
 	Closeexchagechargevalue float64   `json:"closeexchagechargevalue"  xorm:"'CLOSEEXCHAGECHARGEVALUE'"` // 平仓交易所手续费设置值
-	Optiontype              uint32    `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
+	Optiontype              int32     `json:"optiontype"  xorm:"'OPTIONTYPE'"`                           // 期权类型 - 1:认购(看涨) 2:认沽(看跌)
 	Premium                 float64   `json:"premium"  xorm:"'PREMIUM'"`                                 // 权利金 - [持仓单的权利金]
-	Ispreexercise           uint32    `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
+	Ispreexercise           int32     `json:"ispreexercise"  xorm:"'ISPREEXERCISE'"`                     // 是否预申报- 0:否 1:是
 	Preexerciseprice        float64   `json:"preexerciseprice"  xorm:"'PREEXERCISEPRICE'"`               // 预申报价格
-	Isconfirmexercise       uint32    `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
-	Ismain                  uint32    `json:"ismain"  xorm:"'ISMAIN'"`                                   // 是否主单 - 0:不是 1:是
-	Performanceplanid       uint64    `json:"performanceplanid"  xorm:"'PERFORMANCEPLANID'"`             // 履约计划ID[期权]
-	Performancestatus       uint32    `json:"performancestatus"  xorm:"'PERFORMANCESTATUS'"`             // 履约状态[期权] - 0:无履约 1:未履约 2:履约中 3:履约完成
+	Isconfirmexercise       int32     `json:"isconfirmexercise"  xorm:"'ISCONFIRMEXERCISE'"`             // 是否确认行权- 0:否 1:是
+	Ismain                  int32     `json:"ismain"  xorm:"'ISMAIN'"`                                   // 是否主单 - 0:不是 1:是
+	Performanceplanid       int64     `json:"performanceplanid"  xorm:"'PERFORMANCEPLANID'"`             // 履约计划ID[期权]
+	Performancestatus       int32     `json:"performancestatus"  xorm:"'PERFORMANCESTATUS'"`             // 履约状态[期权] - 0:无履约 1:未履约 2:履约中 3:履约完成
 	Creditamount            float64   `json:"creditamount"  xorm:"'CREDITAMOUNT'"`                       // 授信金额
-	Gcaccountid             uint64    `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
+	Gcaccountid             int64     `json:"gcaccountid"  xorm:"'GCACCOUNTID'"`                         // 账户ID[合约币种]
 	Closepl2                float64   `json:"closepl2"  xorm:"'CLOSEPL2'"`                               // 平仓盈亏[逐笔]
-	Relatedouttradeid       uint64    `json:"relatedouttradeid"  xorm:"'RELATEDOUTTRADEID'"`             // 关联外部成交单ID
+	Relatedouttradeid       int64     `json:"relatedouttradeid"  xorm:"'RELATEDOUTTRADEID'"`             // 关联外部成交单ID
 	Histradedate            string    `json:"histradedate"  xorm:"'HISTRADEDATE'" binding:"required"`    // 历史交易日
-	Isvaliddata             uint32    `json:"isvaliddata"  xorm:"'ISVALIDDATA'"`                         // 是否有效 - 0:无效 1:有效
+	Isvaliddata             int32     `json:"isvaliddata"  xorm:"'ISVALIDDATA'"`                         // 是否有效 - 0:无效 1:有效
 }
 
 // TableName is HIS_TRADE_TRADEDETAIL

+ 2 - 0
routers/router.go

@@ -164,6 +164,8 @@ func InitRouter() *gin.Engine {
 		hsbyR.GET("/QueryTopGoods", hsby.QueryTopGoods)
 		// 查询二级市场(挂牌点选)商品信息详情
 		hsbyR.GET("/QueryHsbyListingGoodsDetail", hsby.QueryHsbyListingGoodsDetail)
+		// 查询二级市场(挂牌点选)商品对应的挂牌委托单信息
+		hsbyR.GET("/QueryHsbyGoodsOrderDetails", hsby.QueryHsbyGoodsOrderDetails)
 	}
 
 	return r