|
|
@@ -89,3 +89,91 @@ func QueryPreasleApply(c *gin.Context) {
|
|
|
|
|
|
appG.Response(http.StatusOK, e.SUCCESS, cptradepresaleapplys)
|
|
|
}
|
|
|
+
|
|
|
+// QueryCPTradeUserGoodsDataReq 远期订单查询请求参数
|
|
|
+type QueryCPTradeUserGoodsDataReq struct {
|
|
|
+ AccountID int `form:"accountid" binding:"required"`
|
|
|
+}
|
|
|
+
|
|
|
+// Cptradeusergoodsdata 用户合约数据表 - 导历史 (远期订单数据)
|
|
|
+type Cptradeusergoodsdata struct {
|
|
|
+ Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'" binding:"required"` // 账户ID
|
|
|
+ Goodsid int64 `json:"goodsid" xorm:"'GOODSID'" binding:"required"` // 商品ID
|
|
|
+ Wrstandardid int64 `json:"wrstandardid" xorm:"'WRSTANDARDID'"` // 仓单标准ID
|
|
|
+ Userid int64 `json:"userid" xorm:"'USERID'"` // 用户ID
|
|
|
+ Inqty int64 `json:"inqty" xorm:"'INQTY'"` // 转入量
|
|
|
+ Cancelqty int64 `json:"cancelqty" xorm:"'CANCELQTY'"` // 注销量
|
|
|
+ Deliveryqty int64 `json:"deliveryqty" xorm:"'DELIVERYQTY'"` // 交割量
|
|
|
+ Curpresaleqty int64 `json:"curpresaleqty" xorm:"'CURPRESALEQTY'"` // 当前预售量
|
|
|
+ Presaledqty int64 `json:"presaledqty" xorm:"'PRESALEDQTY'"` // 已预售量
|
|
|
+ Presaledamount int64 `json:"presaledamount" xorm:"'PRESALEDAMOUNT'"` // 已预售总金额
|
|
|
+ Marketid int64 `json:"marketid" xorm:"'MARKETID'"` // 市场ID
|
|
|
+ Freezeamount float64 `json:"freezeamount" xorm:"'FREEZEAMOUNT'"` // 冻结金额
|
|
|
+ Hasspotfreeze int64 `json:"hasspotfreeze" xorm:"'HASSPOTFREEZE'"` // 是否有现货冻结 - 0:否 1:有
|
|
|
+ Goodscode string `json:"GoodsCode"` // 订单商品代码
|
|
|
+ Goodsname string `json:"GoodsName"` // 订单商品名称
|
|
|
+ Wrstandardcode string `json:"WRStandardCode"` // 仓单标准代码
|
|
|
+ Wrstandardname string `json:"WRStandardName"` // 仓单标准名称
|
|
|
+ Enabledqty int64 `json:"EnabledQty"` // 可用量
|
|
|
+}
|
|
|
+
|
|
|
+// TableName is CPTRADE_USERGOODSDATA
|
|
|
+func (Cptradeusergoodsdata) TableName() string {
|
|
|
+ return "CPTRADE_USERGOODSDATA"
|
|
|
+}
|
|
|
+
|
|
|
+// QueryCPTradeUserGoodsData 查询远期订单信息
|
|
|
+// @Summary 查询远期订单信息
|
|
|
+// @Produce json
|
|
|
+// @Security ApiKeyAuth
|
|
|
+// @Param accountid query int true "资金账户ID"
|
|
|
+// @Success 200 {object} Cptradeusergoodsdata
|
|
|
+// @Failure 500 {object} app.Response
|
|
|
+// @Router /CPTrade/QueryCPTradeUserGoodsData [get]
|
|
|
+// @Tags 产能预售
|
|
|
+func QueryCPTradeUserGoodsData(c *gin.Context) {
|
|
|
+ appG := app.Gin{C: c}
|
|
|
+
|
|
|
+ // 获取请求参数
|
|
|
+ var queryCPTradeUserGoodsDataReq QueryCPTradeUserGoodsDataReq
|
|
|
+ if err := appG.C.ShouldBindQuery(&queryCPTradeUserGoodsDataReq); err != nil {
|
|
|
+ logger.GetLogger().Errorf("QueryCPTradeUserGoodsData failed: %s", err.Error())
|
|
|
+ appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询数据
|
|
|
+ engine := db.GetEngine()
|
|
|
+ cptradeusergoodsdatas := make([]Cptradeusergoodsdata, 0)
|
|
|
+ err := engine.SQL(`select
|
|
|
+ t.AccountID,
|
|
|
+ t.GoodsID,
|
|
|
+ t.WRStandardID,
|
|
|
+ t.UserID,
|
|
|
+ t.InQty,
|
|
|
+ t.CancelQty,
|
|
|
+ t.DeliveryQty,
|
|
|
+ t.CurPresaleQty,
|
|
|
+ t.PresaledQty,
|
|
|
+ t.PresaledAmount,
|
|
|
+ t.FreezeAmount,
|
|
|
+ t.MarketID,
|
|
|
+ t.HasSpotFreeze,
|
|
|
+ g.GoodsCode,
|
|
|
+ g.GoodsName,
|
|
|
+ ws.WRStandardCode,
|
|
|
+ ws.WRStandardName,
|
|
|
+ (t.InQty - t.CancelQty - t.DeliveryQty - t.CurPresaleQty) EnabledQty
|
|
|
+ from CPTrade_UserGoodsData t
|
|
|
+ left join goods g on t.goodsid = g.goodsid
|
|
|
+ left join WRStandard ws on t.wrstandardid = ws.wrstandardid
|
|
|
+ where t.accountid = ?`, queryCPTradeUserGoodsDataReq.AccountID).Find(&cptradeusergoodsdatas)
|
|
|
+ if err != nil {
|
|
|
+ // 查询失败
|
|
|
+ logger.GetLogger().Errorf("QueryCPTradeUserGoodsData failed: %s", err.Error())
|
|
|
+ appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ appG.Response(http.StatusOK, e.SUCCESS, cptradeusergoodsdatas)
|
|
|
+}
|