|
|
@@ -2,6 +2,7 @@
|
|
|
package cptrade
|
|
|
|
|
|
import (
|
|
|
+ "fmt"
|
|
|
"mtp2_if/db"
|
|
|
"mtp2_if/global/app"
|
|
|
"mtp2_if/global/e"
|
|
|
@@ -34,10 +35,14 @@ type Cptradepresaleapply struct {
|
|
|
Applystatus int64 `json:"applystatus" xorm:"'APPLYSTATUS'"` // 申请状态 - 1:已提交 2:初审通过 3:初审拒绝 4:初审失败 5复审通过 6:复审拒绝 7:复审失败 8:已撤销
|
|
|
Handlestatus int64 `json:"handlestatus" xorm:"'HANDLESTATUS'"` // 处理状态
|
|
|
Applytime time.Time `json:"applytime" xorm:"'APPLYTIME'"` // 申请时间
|
|
|
- Firstremark string `json:"firstremark" xorm:"'FIRSTREMARK'"` // 初审备注
|
|
|
Marketid int64 `json:"marketid" xorm:"'MARKETID'"` // 预售市场ID
|
|
|
- Secondremark string `json:"secondremark" xorm:"'SECONDREMARK'"` // 复审备注
|
|
|
Tradedate string `json:"tradedate" xorm:"'TRADEDATE'"` // 交易日(yyyyMMdd)
|
|
|
+
|
|
|
+ Relatedgoodscode string `json:"relatedgoodscode" xorm:"'RELATEDGOODSCODE'"` // 关联交易合约代码
|
|
|
+ Relatedgoodsname string `json:"relatedgoodsname" xorm:"'RELATEDGOODSNAME'"` // 关联交易合约名称
|
|
|
+ Marketname string `json:"marketname" xorm:"'MARKETNAME'"` // 预售市场名称
|
|
|
+ Trademode int64 `json:"trademode" xorm:"'TRADEMODE'"` // 交易模式 - 16:挂牌点选 21:大宗竞拍
|
|
|
+ Goodunit string `json:"goodunit" xorm:"'GOODUNIT'"` // 报价单位
|
|
|
}
|
|
|
|
|
|
// TableName is
|
|
|
@@ -45,8 +50,8 @@ func (Cptradepresaleapply) TableName() string {
|
|
|
return "CPTRADE_PRESALEAPPLY"
|
|
|
}
|
|
|
|
|
|
-// QueryPreasleApply 查询产能预售申请表信息
|
|
|
-// @Summary 查询产能预售申请表信息
|
|
|
+// QueryPreasleApply 查询产能预售申请信息
|
|
|
+// @Summary 查询产能预售申请信息
|
|
|
// @Produce json
|
|
|
// @Security ApiKeyAuth
|
|
|
// @Param userid query int true "账户ID"
|
|
|
@@ -60,8 +65,8 @@ func QueryPreasleApply(c *gin.Context) {
|
|
|
appG := app.Gin{C: c}
|
|
|
|
|
|
// 获取请求参数
|
|
|
- var queryPresaleApplyReq QueryPresaleApplyReq
|
|
|
- if err := appG.C.ShouldBindQuery(&queryPresaleApplyReq); err != nil {
|
|
|
+ var req QueryPresaleApplyReq
|
|
|
+ if err := appG.C.ShouldBindQuery(&req); err != nil {
|
|
|
logger.GetLogger().Errorf("QueryPreasleApply failed: %s", err.Error())
|
|
|
appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
|
|
|
return
|
|
|
@@ -69,25 +74,58 @@ func QueryPreasleApply(c *gin.Context) {
|
|
|
|
|
|
// 查询数据
|
|
|
engine := db.GetEngine()
|
|
|
- cptradepresaleapplys := make([]Cptradepresaleapply, 0)
|
|
|
- s := engine.Where("userid=?", queryPresaleApplyReq.UserID)
|
|
|
- if queryPresaleApplyReq.AccountID != 0 {
|
|
|
- s = s.And("accountid=?", queryPresaleApplyReq.AccountID)
|
|
|
+ datas := make([]Cptradepresaleapply, 0)
|
|
|
+ // s := engine.Where("userid=?", req.UserID)
|
|
|
+ // if req.AccountID != 0 {
|
|
|
+ // s = s.And("accountid=?", req.AccountID)
|
|
|
+ // }
|
|
|
+ // if req.ApplyID != 0 {
|
|
|
+ // s = s.And("applyid=?", req.ApplyID)
|
|
|
+ // }
|
|
|
+ sql := fmt.Sprintf(`select
|
|
|
+ t.ApplyID,
|
|
|
+ t.UserID,
|
|
|
+ t.AccountID,
|
|
|
+ t.GoodsCode,
|
|
|
+ t.GoodsName,
|
|
|
+ t.RelatedGoodsID,
|
|
|
+ t.PresaleQty,
|
|
|
+ t.StartTime,
|
|
|
+ t.EndTime,
|
|
|
+ t.AttachmentUrl,
|
|
|
+ t.ApplyStatus,
|
|
|
+ t.HandleStatus,
|
|
|
+ t.ApplyTime,
|
|
|
+ t.CreatorID,
|
|
|
+ t.CreateTime,
|
|
|
+ t.MarketID,
|
|
|
+ t.TradeDate,
|
|
|
+ g.goodscode RelatedGoodsCode,
|
|
|
+ g.goodsname RelatedGoodsName,
|
|
|
+ m.MarketName,
|
|
|
+ m.TradeMode,
|
|
|
+ e.enumdicname GoodUnit
|
|
|
+ from CPTrade_PresaleApply t
|
|
|
+ left join goods g on t.RelatedGoodsID = g.goodsid
|
|
|
+ left join market m on t.MarketID = m.marketid
|
|
|
+ left join enumdicitem e on g.goodunitid = e.enumitemname and e.enumdiccode = 'goodsunit'
|
|
|
+ where t.UserID = %d`, req.UserID)
|
|
|
+ if req.AccountID != 0 {
|
|
|
+ sql += fmt.Sprintf(` and t.AccountID = %d`, req.AccountID)
|
|
|
}
|
|
|
- if queryPresaleApplyReq.ApplyID != 0 {
|
|
|
- s = s.And("applyid=?", queryPresaleApplyReq.ApplyID)
|
|
|
+ if req.ApplyID != 0 {
|
|
|
+ sql += fmt.Sprintf(` and t.ApplyID = %d`, req.ApplyID)
|
|
|
}
|
|
|
-
|
|
|
- // 执行查询
|
|
|
- err := s.Find(&cptradepresaleapplys)
|
|
|
- if err != nil {
|
|
|
+ if err := engine.SQL(sql).Find(&datas); err != nil {
|
|
|
// 查询失败
|
|
|
logger.GetLogger().Errorf("QueryPreasleApply failed: %s", err.Error())
|
|
|
appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- appG.Response(http.StatusOK, e.SUCCESS, cptradepresaleapplys)
|
|
|
+ // 查询成功
|
|
|
+ logger.GetLogger().Infof("QueryPreasleApply successed: %v", datas)
|
|
|
+ appG.Response(http.StatusOK, e.SUCCESS, datas)
|
|
|
}
|
|
|
|
|
|
// QueryCPTradeUserGoodsDataReq 远期订单查询请求参数
|
|
|
@@ -110,11 +148,13 @@ type Cptradeusergoodsdata struct {
|
|
|
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"` // 可用量
|
|
|
+
|
|
|
+ Goodscode string `json:"GoodsCode" xorm:"'GOODSCODE'"` // 订单商品代码
|
|
|
+ Goodsname string `json:"GoodsName" xorm:"'GOODSNAME'"` // 订单商品名称
|
|
|
+ Wrstandardcode string `json:"WRStandardCode" xorm:"'WRSTANDARDCODE'"` // 仓单标准代码
|
|
|
+ Wrstandardname string `json:"WRStandardName" xorm:"'WRSTANDARDNAME'"` // 仓单标准名称
|
|
|
+ Enabledqty int64 `json:"EnabledQty" xorm:"'ENABLEDQTY'"` // 可用量
|
|
|
+ Goodunit string `json:"goodunit" xorm:"'GOODUNIT'"` // 报价单位
|
|
|
}
|
|
|
|
|
|
// TableName is CPTRADE_USERGOODSDATA
|
|
|
@@ -135,8 +175,8 @@ func QueryCPTradeUserGoodsData(c *gin.Context) {
|
|
|
appG := app.Gin{C: c}
|
|
|
|
|
|
// 获取请求参数
|
|
|
- var queryCPTradeUserGoodsDataReq QueryCPTradeUserGoodsDataReq
|
|
|
- if err := appG.C.ShouldBindQuery(&queryCPTradeUserGoodsDataReq); err != nil {
|
|
|
+ var req QueryCPTradeUserGoodsDataReq
|
|
|
+ if err := appG.C.ShouldBindQuery(&req); err != nil {
|
|
|
logger.GetLogger().Errorf("QueryCPTradeUserGoodsData failed: %s", err.Error())
|
|
|
appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
|
|
|
return
|
|
|
@@ -144,36 +184,137 @@ func QueryCPTradeUserGoodsData(c *gin.Context) {
|
|
|
|
|
|
// 查询数据
|
|
|
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
|
|
|
+ datas := make([]Cptradeusergoodsdata, 0)
|
|
|
+ if 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,
|
|
|
+ e.enumdicname GoodUnit
|
|
|
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 {
|
|
|
+ left join WRStandard ws on t.wrstandardid = ws.wrstandardid
|
|
|
+ left join enumdicitem e on g.goodunitid = e.enumitemname and e.enumdiccode = 'goodsunit'
|
|
|
+ where t.accountid = ?`, req.AccountID).Find(&datas); 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)
|
|
|
+ // 查询成功
|
|
|
+ logger.GetLogger().Infof("QueryCPTradeUserGoodsData successed: %v", datas)
|
|
|
+ appG.Response(http.StatusOK, e.SUCCESS, datas)
|
|
|
+}
|
|
|
+
|
|
|
+// QueryPositionCancelReq 查询远期订单注销申请请求参数
|
|
|
+type QueryPositionCancelReq struct {
|
|
|
+ UserID int `form:"userid" binding:"required"`
|
|
|
+ AccountID int `form:"accountid"`
|
|
|
+ CancelID int `form:"cancelid"`
|
|
|
+}
|
|
|
+
|
|
|
+// Cptradepositioncancel 远期订单注销申请表
|
|
|
+type Cptradepositioncancel struct {
|
|
|
+ Cancelid int64 `json:"cancelid" xorm:"'CANCELID'" binding:"required"` // 注销ID(SEQ_CPTRADE_POSITIONCANCEL)
|
|
|
+ Userid int64 `json:"userid" xorm:"'USERID'"` // 申请人ID
|
|
|
+ Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 申请人账户ID
|
|
|
+ Goodsid int64 `json:"goodsid" xorm:"'GOODSID'"` // 商品ID
|
|
|
+ Cancelqty int64 `json:"cancelqty" xorm:"'CANCELQTY'"` // 注销数量
|
|
|
+ Applystatus int64 `json:"applystatus" xorm:"'APPLYSTATUS'"` // 申请状态 - 1:已提交 2:初审通过 3:初审拒绝 4:初审失败 5复审通过 6:复审拒绝 7:复审失败 8:已撤销
|
|
|
+ Handlestatus int64 `json:"handlestatus" xorm:"'HANDLESTATUS'"` // 处理状态
|
|
|
+ Applytime time.Time `json:"applytime" xorm:"'APPLYTIME'"` // 申请时间
|
|
|
+ Creatorid int64 `json:"creatorid" xorm:"'CREATORID'"` // 创建人
|
|
|
+ Createtime time.Time `json:"createtime" xorm:"'CREATETIME'"` // 创建时间
|
|
|
+ Tradedate string `json:"tradedate" xorm:"'TRADEDATE'"` // 交易日(yyyyMMdd)
|
|
|
+ Marketid int64 `json:"marketid" xorm:"'MARKETID'"` // 市场ID
|
|
|
+
|
|
|
+ Goodscode string `json:"goodscode" xorm:"'GOODSCODE'"` // 订单商品代码
|
|
|
+ Goodsname string `json:"goodsname" xorm:"'GOODSNAME'"` // 订单商品名称
|
|
|
+ Marketname string `json:"marketname" xorm:"'GOODSNAME'"` // 市场名称
|
|
|
+ Goodunit string `json:"goodunit" xorm:"'GOODUNIT'"` // 报价单位
|
|
|
+}
|
|
|
+
|
|
|
+// TableName is CPTRADE_POSITIONCANCEL
|
|
|
+func (Cptradepositioncancel) TableName() string {
|
|
|
+ return "CPTRADE_POSITIONCANCEL"
|
|
|
+}
|
|
|
+
|
|
|
+// QueryCPTradePositionCancel 查询远期订单注销申请信息
|
|
|
+// @Summary 查询远期订单注销申请信息
|
|
|
+// @Produce json
|
|
|
+// @Security ApiKeyAuth
|
|
|
+// @Param userid query int true "账户ID"
|
|
|
+// @Param cancelid query int false "注销ID"
|
|
|
+// @Param accountid query int false "资金账户ID"
|
|
|
+// @Success 200 {object} Cptradepositioncancel
|
|
|
+// @Failure 500 {object} app.Response
|
|
|
+// @Router /CPTrade/QueryCPTradePositionCancel [get]
|
|
|
+// @Tags 产能预售
|
|
|
+func QueryCPTradePositionCancel(c *gin.Context) {
|
|
|
+ appG := app.Gin{C: c}
|
|
|
+
|
|
|
+ // 获取请求参数
|
|
|
+ var req QueryPositionCancelReq
|
|
|
+ if err := appG.C.ShouldBindQuery(&req); err != nil {
|
|
|
+ logger.GetLogger().Errorf("QueryCPTradePositionCancel failed: %s", err.Error())
|
|
|
+ appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询数据
|
|
|
+ sql := fmt.Sprintf(`select
|
|
|
+ t.CancelID,
|
|
|
+ t.UserID,
|
|
|
+ t.AccountID,
|
|
|
+ t.GoodsID,
|
|
|
+ t.CancelQty,
|
|
|
+ t.ApplyStatus,
|
|
|
+ t.HandleStatus,
|
|
|
+ t.ApplyTime,
|
|
|
+ t.CreatorID,
|
|
|
+ t.CreateTime,
|
|
|
+ t.TradeDate,
|
|
|
+ t.MarketID,
|
|
|
+ g.GoodsCode,
|
|
|
+ g.GoodsName,
|
|
|
+ m.MarketName,
|
|
|
+ e.enumdicname GoodUnit
|
|
|
+ from CPTrade_PositionCancel t
|
|
|
+ left join goods g on t.goodsid = g.goodsid
|
|
|
+ left join market m on t.marketid = m.marketid
|
|
|
+ left join enumdicitem e on g.goodunitid = e.enumitemname and e.enumdiccode = 'goodsunit'
|
|
|
+ where t.userid = %d`, req.UserID)
|
|
|
+ if req.AccountID != 0 {
|
|
|
+ sql += fmt.Sprintf(` and t.AccountID= %d`, req.AccountID)
|
|
|
+ }
|
|
|
+ if req.CancelID != 0 {
|
|
|
+ sql += fmt.Sprintf(` and t.CancelID= %d`, req.CancelID)
|
|
|
+ }
|
|
|
+ engine := db.GetEngine()
|
|
|
+ datas := make([]Cptradepositioncancel, 0)
|
|
|
+ if err := engine.SQL(sql).Find(&datas); err != nil {
|
|
|
+ // 查询失败
|
|
|
+ logger.GetLogger().Errorf("QueryCPTradePositionCancel failed: %s", err.Error())
|
|
|
+ appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询成功
|
|
|
+ logger.GetLogger().Infof("QueryCPTradePositionCancel successed: %v", datas)
|
|
|
+ appG.Response(http.StatusOK, e.SUCCESS, datas)
|
|
|
}
|