Jelajahi Sumber

增加查询新品发布接口

zou.yingbin 3 tahun lalu
induk
melakukan
9d3e3453bb
6 mengubah file dengan 259 tambahan dan 0 penghapusan
  1. 18 0
      controllers/wrTrade2/qryWrTrade.go
  2. 53 0
      docs/docs.go
  3. 53 0
      docs/swagger.json
  4. 33 0
      docs/swagger.yaml
  5. 101 0
      models/wrTrade2.go
  6. 1 0
      routers/router.go

+ 18 - 0
controllers/wrTrade2/qryWrTrade.go

@@ -717,3 +717,21 @@ func QuerySpotGroupTradeSumDetail(c *gin.Context) {
 	a.DoBindReq(&m)
 	a.DoGetDataI(&m)
 }
+
+// QueryWrPreSaleInfo
+// @Summary 查询新品发布
+// @Produce json
+// @Security ApiKeyAuth
+// @param marketid query int false "市场id"
+// @param presalestatus query string false "预售状态(逗号隔开,如1,2,3)  1:未开始 2:进行中 3:已结束 4:已关闭"
+// @param lotteryflag query int false "摇号标识 - 0:未摇号 1:已摇号"
+// @Success 200 {array} models.WrSpotGroupTradeSumDetail
+// @Failure 500 {object} app.Response
+// @Router /WrTrade2/QueryWrPreSaleInfo [get]
+// @Tags 仓单贸易v2
+func QueryWrPreSaleInfo(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.WrPreSaleInfo{LOTTERYFLAG: -1}
+	a.DoBindReq(&m)
+	a.DoGetDataI(&m)
+}

+ 53 - 0
docs/docs.go

@@ -13617,6 +13617,59 @@ var doc = `{
                 }
             }
         },
+        "/WrTrade2/QueryWrPreSaleInfo": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "仓单贸易v2"
+                ],
+                "summary": "查询新品发布",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "市场id",
+                        "name": "marketid",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "预售状态(逗号隔开,如1,2,3)  1:未开始 2:进行中 3:已结束 4:已关闭",
+                        "name": "presalestatus",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "摇号标识 - 0:未摇号 1:已摇号",
+                        "name": "lotteryflag",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.WrSpotGroupTradeSumDetail"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/WrTrade2/QueryWrScfContract": {
             "get": {
                 "security": [

+ 53 - 0
docs/swagger.json

@@ -13602,6 +13602,59 @@
                 }
             }
         },
+        "/WrTrade2/QueryWrPreSaleInfo": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "仓单贸易v2"
+                ],
+                "summary": "查询新品发布",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "市场id",
+                        "name": "marketid",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "预售状态(逗号隔开,如1,2,3)  1:未开始 2:进行中 3:已结束 4:已关闭",
+                        "name": "presalestatus",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "摇号标识 - 0:未摇号 1:已摇号",
+                        "name": "lotteryflag",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.WrSpotGroupTradeSumDetail"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/WrTrade2/QueryWrScfContract": {
             "get": {
                 "security": [

+ 33 - 0
docs/swagger.yaml

@@ -27952,6 +27952,39 @@ paths:
       summary: 查询现货(预售)仓单持仓
       tags:
       - 仓单贸易v2
+  /WrTrade2/QueryWrPreSaleInfo:
+    get:
+      parameters:
+      - description: 市场id
+        in: query
+        name: marketid
+        type: integer
+      - description: 预售状态(逗号隔开,如1,2,3)  1:未开始 2:进行中 3:已结束 4:已关闭
+        in: query
+        name: presalestatus
+        type: string
+      - description: 摇号标识 - 0:未摇号 1:已摇号
+        in: query
+        name: lotteryflag
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            items:
+              $ref: '#/definitions/models.WrSpotGroupTradeSumDetail'
+            type: array
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 查询新品发布
+      tags:
+      - 仓单贸易v2
   /WrTrade2/QueryWrScfContract:
     get:
       parameters:

+ 101 - 0
models/wrTrade2.go

@@ -4461,3 +4461,104 @@ func (r *WrSpotGroupTradeSumDetail) GetDataEx() (interface{}, error) {
 	}
 	return sData, err
 }
+
+// WrPreSaleInfo 新品发布
+type WrPreSaleInfo struct {
+	PRESALEAPPLYID     int64   `json:"presaleapplyid"  xorm:"PRESALEAPPLYID" form:"presaleapplyid"`    // 预售申请ID(184+Unix秒时间戳(10位)+xxxxxx)
+	SELLUSERID         int64   `json:"selluserid"  xorm:"SELLUSERID" form:"selluserid"`                // 发行方用户ID
+	SELLACCOUNTID      int64   `json:"sellaccountid"  xorm:"SELLACCOUNTID" form:"sellaccountid"`       // 发行方资金账户ID
+	DELIVERYGOODSID    int32   `json:"deliverygoodsid"  xorm:"DELIVERYGOODSID" form:"deliverygoodsid"` // 现货品种ID
+	WAREHOUSEID        int64   `json:"warehouseid"  xorm:"WAREHOUSEID" form:"warehouseid"`             // 仓库ID
+	WRSTANDARDID       int64   `json:"wrstandardid"  xorm:"WRSTANDARDID" form:"wrstandardid"`          // 现货商品ID
+	WRFACTORTYPEID     int64   `json:"wrfactortypeid"  xorm:"WRFACTORTYPEID" form:"wrfactortypeid"`    // 仓单要素类型ID - 根据现货商品\仓库生成
+	WRSTANDARDNAME     string  `json:"wrstandardname"  xorm:"WRSTANDARDNAME"`                          // 现货商品名称
+	UNITID             int32   `json:"unitid"  xorm:"UNITID" form:"unitid"`                            // 单位ID
+	UNITPRICE          float64 `json:"unitprice"  xorm:"UNITPRICE"`                                    // 商品单价
+	PRESALEQTY         float64 `json:"presaleqty"  xorm:"PRESALEQTY"`                                  // 预售总量
+	BASEQTY            float64 `json:"baseqty"  xorm:"BASEQTY"`                                        // 中签基数
+	MAXBUYQTY          float64 `json:"maxbuyqty"  xorm:"MAXBUYQTY"`                                    // 单人最大申购量
+	MAXLUCKYQTY        float64 `json:"maxluckyqty"  xorm:"MAXLUCKYQTY"`                                // 单人最大中签量
+	STARTDATE          string  `json:"startdate"  xorm:"STARTDATE" form:"startdate"`                   // 预售开始日期
+	ENDDATE            string  `json:"enddate"  xorm:"ENDDATE" form:"enddate"`                         // 预售结束日期
+	TAKESTARTDATE      string  `json:"takestartdate"  xorm:"TAKESTARTDATE" form:"takestartdate"`       // 提货开始日期
+	THUMURLS           string  `json:"thumurls"  xorm:"THUMURLS"`                                      // 缩略图片(1:1)(逗号分隔)
+	PICTUREURLS        string  `json:"pictureurls"  xorm:"PICTUREURLS"`                                // 详情图片(逗号分隔)
+	BANNERPICURL       string  `json:"bannerpicurl"  xorm:"BANNERPICURL"`                              // Banner图
+	PRESALESTATUS      int32   `json:"presalestatus"  xorm:"PRESALESTATUS"`                            // 预售状态 - 1:未开始 2:进行中 3:已结束 4:已关闭
+	LOTTERYFLAG        int32   `json:"lotteryflag"  xorm:"LOTTERYFLAG" form:"lotteryflag"`             // 摇号标识 - 0:未摇号 1:已摇号
+	LOTTERYQTY         float64 `json:"lotteryqty"  xorm:"LOTTERYQTY"`                                  // 摇号总量
+	LUCKYQTY           float64 `json:"luckyqty"  xorm:"LUCKYQTY"`                                      // 已中签量
+	PLACEQTY           float64 `json:"placeqty"  xorm:"PLACEQTY"`                                      // 已配售量
+	MARKETID           int32   `json:"marketid"  xorm:"MARKETID" form:"marketid"`                      // 市场ID
+	SELLWRTRADEORDERID string  `json:"sellwrtradeorderid"  xorm:"SELLWRTRADEORDERID"`                  // 发行方卖委托单ID
+	CREATETIME         string  `json:"createtime"  xorm:"CREATETIME"`                                  // 创建时间
+	TRADEDATE          string  `json:"tradedate"  xorm:"TRADEDATE" form:"tradedate"`                   // 交易日
+	WAREHOUSECODE      string  `json:"warehousecode"  xorm:"'WAREHOUSECODE'"`                          // 仓库代码(仓库简称)
+	WAREHOUSENAME      string  `json:"warehousename"  xorm:"'WAREHOUSENAME'"`                          // 仓库名称
+	USERNAME           string  `json:"username"  xorm:"'USERNAME'"`                                    // 发行方用户名称
+	ENUMDICNAME        string  `json:"enumdicname"  xorm:"'ENUMDICNAME'"`                              // 单位名称
+
+	FilterStatus string `json:"-" form:"presalestatus"` // 预售状态(逗号隔开,如1,2,3)  1:未开始 2:进行中 3:已结束 4:已关闭
+}
+
+func (r *WrPreSaleInfo) calc() {
+
+}
+
+func (r *WrPreSaleInfo) buildSql() string {
+	var sqlId utils.SQLVal = `
+SELECT t.PRESALEAPPLYID,
+       t.SELLUSERID,
+       t.SELLACCOUNTID,
+       t.DELIVERYGOODSID,
+       t.WAREHOUSEID,
+       t.WRSTANDARDID,
+       t.WRFACTORTYPEID,
+       t.WRSTANDARDNAME,
+       t.UNITID,
+       t.UNITPRICE,
+       t.PRESALEQTY,
+       t.BASEQTY,
+       t.MAXBUYQTY,
+       t.MAXLUCKYQTY,
+       to_char(t.STARTDATE, 'yyyy-mm-dd hh24:mi:ss') STARTDATE,
+       to_char(t.ENDDATE, 'yyyy-mm-dd hh24:mi:ss') ENDDATE,
+       to_char(t.TAKESTARTDATE, 'yyyy-mm-dd hh24:mi:ss') TAKESTARTDATE,
+       t.THUMURLS,
+       t.PICTUREURLS,
+       t.BANNERPICURL,
+       t.PRESALESTATUS,
+       t.LOTTERYFLAG,
+       t.LOTTERYQTY,
+       t.LUCKYQTY,
+       t.PLACEQTY,
+       t.MARKETID,
+       to_char(t.SELLWRTRADEORDERID) SELLWRTRADEORDERID,
+       to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
+       t.TRADEDATE,
+       h.warehousecode,
+       h.warehousename,
+       u.accountname username,
+       e.enumdicname
+  FROM WR_PRESALEINFO t
+  LEFT JOIN WAREHOUSEINFO h on t.warehouseid=h.autoid
+  LEFT JOIN USERACCOUNT u on t.selluserid=u.userid
+  LEFT JOIN ENUMDICITEM e on t.unitid=e.enumitemname and e.enumdiccode='goodsunit'
+ WHERE 1 = 1
+`
+	sqlId.AndEx("t.MARKETID", r.MARKETID, r.MARKETID > 0)
+	sqlId.AndEx("t.LOTTERYFLAG", r.LOTTERYFLAG, r.LOTTERYFLAG >= 0)
+	sqlId.JoinEx(r.FilterStatus != "", fmt.Sprintf(" and t.PRESALESTATUS in(%s)", r.FilterStatus))
+	sqlId.Join(" order by t.createtime desc")
+	return sqlId.String()
+}
+
+// GetDataEx 获取新品发布
+func (r *WrPreSaleInfo) GetDataEx() (interface{}, error) {
+	sData := make([]WrPreSaleInfo, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	for i := range sData {
+		sData[i].calc()
+	}
+	return sData, err
+}

+ 1 - 0
routers/router.go

@@ -580,6 +580,7 @@ func InitRouter() *gin.Engine {
 		wrTrade2R.GET("QueryDeliveryGoodsSection", wrTrade2.QueryDeliveryGoodsSection)
 		wrTrade2R.GET("QuerySpotGroupTradeSum", wrTrade2.QuerySpotGroupTradeSum)
 		wrTrade2R.GET("QuerySpotGroupTradeSumDetail", wrTrade2.QuerySpotGroupTradeSumDetail)
+		wrTrade2R.GET("QueryWrPreSaleInfo", wrTrade2.QueryWrPreSaleInfo)
 	}
 
 	// **************************天津麦顿*************************