Ver Fonte

Merge branch 'master' of 192.168.30.132:MTP2.0/MTP20_IF

zwl há 5 anos atrás
pai
commit
8a14435259
5 ficheiros alterados com 83 adições e 84 exclusões
  1. 2 2
      controllers/hsby/hsby.go
  2. 16 16
      docs/docs.go
  3. 16 16
      docs/swagger.json
  4. 12 12
      docs/swagger.yaml
  5. 37 38
      models/hsby.go

+ 2 - 2
controllers/hsby/hsby.go

@@ -374,10 +374,10 @@ func QueryHsbyPreGoodses(c *gin.Context) {
 			return true
 		} else if preGoodses[i].Goodsstatus == 3 && preGoodses[j].Goodsstatus == 3 {
 			// 已开始商品按结束时间顺序排
-			return preGoodses[i].Endtime.Before(preGoodses[j].Endtime)
+			return preGoodses[i].Lasttradedate.Before(preGoodses[j].Lasttradedate)
 		} else if preGoodses[i].Goodsstatus == 2 && preGoodses[j].Goodsstatus == 2 {
 			// 未开始商品按开始时间顺序排
-			return preGoodses[i].Starttime.Before(preGoodses[j].Starttime)
+			return preGoodses[i].Listingdate.Before(preGoodses[j].Listingdate)
 		}
 
 		return false

+ 16 - 16
docs/docs.go

@@ -4807,10 +4807,6 @@ var doc = `{
                     "description": "剩余数量",
                     "type": "integer"
                 },
-                "endtime": {
-                    "description": "预售结束时间",
-                    "type": "string"
-                },
                 "goodscode": {
                     "description": "商品代码(内部)",
                     "type": "string"
@@ -4827,6 +4823,14 @@ var doc = `{
                     "description": "商品状态- 2:未上市 3:上市",
                     "type": "integer"
                 },
+                "lasttradedate": {
+                    "description": "最后交易日期(状态:待退市)",
+                    "type": "string"
+                },
+                "listingdate": {
+                    "description": "交易开始日期",
+                    "type": "string"
+                },
                 "marketid": {
                     "description": "所属市场ID",
                     "type": "integer"
@@ -4855,10 +4859,6 @@ var doc = `{
                     "description": "关联交易合约ID",
                     "type": "integer"
                 },
-                "starttime": {
-                    "description": "预售开始时间",
-                    "type": "string"
-                },
                 "trademode": {
                     "description": "交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价",
                     "type": "integer"
@@ -4915,10 +4915,6 @@ var doc = `{
                     "description": "剩余数量",
                     "type": "integer"
                 },
-                "endtime": {
-                    "description": "预售结束时间",
-                    "type": "string"
-                },
                 "goodscode": {
                     "description": "商品代码(内部)",
                     "type": "string"
@@ -4943,6 +4939,14 @@ var doc = `{
                     "description": "报价单位",
                     "type": "string"
                 },
+                "lasttradedate": {
+                    "description": "最后交易日期(状态:待退市)",
+                    "type": "string"
+                },
+                "listingdate": {
+                    "description": "交易开始日期",
+                    "type": "string"
+                },
                 "lotsize": {
                     "description": "手数最小变动单位",
                     "type": "integer"
@@ -4975,10 +4979,6 @@ var doc = `{
                     "description": "关联交易合约ID",
                     "type": "integer"
                 },
-                "starttime": {
-                    "description": "预售开始时间",
-                    "type": "string"
-                },
                 "stepvalue": {
                     "description": "价格最小变动单位",
                     "type": "number"

+ 16 - 16
docs/swagger.json

@@ -4791,10 +4791,6 @@
                     "description": "剩余数量",
                     "type": "integer"
                 },
-                "endtime": {
-                    "description": "预售结束时间",
-                    "type": "string"
-                },
                 "goodscode": {
                     "description": "商品代码(内部)",
                     "type": "string"
@@ -4811,6 +4807,14 @@
                     "description": "商品状态- 2:未上市 3:上市",
                     "type": "integer"
                 },
+                "lasttradedate": {
+                    "description": "最后交易日期(状态:待退市)",
+                    "type": "string"
+                },
+                "listingdate": {
+                    "description": "交易开始日期",
+                    "type": "string"
+                },
                 "marketid": {
                     "description": "所属市场ID",
                     "type": "integer"
@@ -4839,10 +4843,6 @@
                     "description": "关联交易合约ID",
                     "type": "integer"
                 },
-                "starttime": {
-                    "description": "预售开始时间",
-                    "type": "string"
-                },
                 "trademode": {
                     "description": "交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价",
                     "type": "integer"
@@ -4899,10 +4899,6 @@
                     "description": "剩余数量",
                     "type": "integer"
                 },
-                "endtime": {
-                    "description": "预售结束时间",
-                    "type": "string"
-                },
                 "goodscode": {
                     "description": "商品代码(内部)",
                     "type": "string"
@@ -4927,6 +4923,14 @@
                     "description": "报价单位",
                     "type": "string"
                 },
+                "lasttradedate": {
+                    "description": "最后交易日期(状态:待退市)",
+                    "type": "string"
+                },
+                "listingdate": {
+                    "description": "交易开始日期",
+                    "type": "string"
+                },
                 "lotsize": {
                     "description": "手数最小变动单位",
                     "type": "integer"
@@ -4959,10 +4963,6 @@
                     "description": "关联交易合约ID",
                     "type": "integer"
                 },
-                "starttime": {
-                    "description": "预售开始时间",
-                    "type": "string"
-                },
                 "stepvalue": {
                     "description": "价格最小变动单位",
                     "type": "number"

+ 12 - 12
docs/swagger.yaml

@@ -1593,9 +1593,6 @@ definitions:
       enableqty:
         description: 剩余数量
         type: integer
-      endtime:
-        description: 预售结束时间
-        type: string
       goodscode:
         description: 商品代码(内部)
         type: string
@@ -1608,6 +1605,12 @@ definitions:
       goodsstatus:
         description: 商品状态- 2:未上市 3:上市
         type: integer
+      lasttradedate:
+        description: 最后交易日期(状态:待退市)
+        type: string
+      listingdate:
+        description: 交易开始日期
+        type: string
       marketid:
         description: 所属市场ID
         type: integer
@@ -1629,9 +1632,6 @@ definitions:
       relatedgoodsid:
         description: 关联交易合约ID
         type: integer
-      starttime:
-        description: 预售开始时间
-        type: string
       trademode:
         description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
           21:竞拍-大宗式 22:受托竞价
@@ -1675,9 +1675,6 @@ definitions:
       enableqty:
         description: 剩余数量
         type: integer
-      endtime:
-        description: 预售结束时间
-        type: string
       goodscode:
         description: 商品代码(内部)
         type: string
@@ -1696,6 +1693,12 @@ definitions:
       goodunit:
         description: 报价单位
         type: string
+      lasttradedate:
+        description: 最后交易日期(状态:待退市)
+        type: string
+      listingdate:
+        description: 交易开始日期
+        type: string
       lotsize:
         description: 手数最小变动单位
         type: integer
@@ -1720,9 +1723,6 @@ definitions:
       relatedgoodsid:
         description: 关联交易合约ID
         type: integer
-      starttime:
-        description: 预售开始时间
-        type: string
       stepvalue:
         description: 价格最小变动单位
         type: number

+ 37 - 38
models/hsby.go

@@ -524,22 +524,22 @@ func GetHsbyMyGoods(accountIDs string) ([]HsbyMyGoods, error) {
 
 // HsbyPreGoods 新品上市商品(一级市场产能预售)
 type HsbyPreGoods struct {
-	Goodsid      int64   `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`     // 商品ID(自增ID SEQ_GOODS)
-	Goodscode    string  `json:"goodscode"  xorm:"'GOODSCODE'" binding:"required"` // 商品代码(内部)
-	Goodsname    string  `json:"goodsname"  xorm:"'GOODSNAME'" binding:"required"` // 商品名称
-	Decimalplace int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`              // 报价小数位
-	Marketid     int64   `json:"marketid"  xorm:"'MARKETID'" binding:"required"`   // 所属市场ID
-	Goodsstatus  int64   `json:"goodsstatus"  xorm:"'GOODSSTATUS'"`                // 商品状态- 2:未上市 3:上市
-	Quoteminunit int64   `json:"quoteminunit"  xorm:"'QUOTEMINUNIT'"`              // 行情最小变动单位 [整数,报价小数位一起使用]
-	Agreeunit    float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`                    // 合约单位
-
-	Relatedgoodsid int64     `json:"relatedgoodsid"  xorm:"'RELATEDGOODSID'"` // 关联交易合约ID
-	Presaleqty     int64     `json:"presaleqty"  xorm:"'PRESALEQTY'"`         // 预售数量
-	Starttime      time.Time `json:"starttime"  xorm:"'STARTTIME'"`           // 预售开始时间
-	Endtime        time.Time `json:"endtime"  xorm:"'ENDTIME'"`               // 预售结束时间
-	Refprice       float64   `json:"refprice"  xorm:"'REFPRICE'"`             // 参考价格[一口价]
-	Presaledqty    int64     `json:"presaledqty"  xorm:"'PRESALEDQTY'"`       // 已预售量(预售结束时更新)
-	EnableQty      int64     `json:"enableqty" xorm:"ENABLEQTY"`              // 剩余数量
+	Goodsid       int64     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`     // 商品ID(自增ID SEQ_GOODS)
+	Goodscode     string    `json:"goodscode"  xorm:"'GOODSCODE'" binding:"required"` // 商品代码(内部)
+	Goodsname     string    `json:"goodsname"  xorm:"'GOODSNAME'" binding:"required"` // 商品名称
+	Decimalplace  int64     `json:"decimalplace"  xorm:"'DECIMALPLACE'"`              // 报价小数位
+	Marketid      int64     `json:"marketid"  xorm:"'MARKETID'" binding:"required"`   // 所属市场ID
+	Goodsstatus   int64     `json:"goodsstatus"  xorm:"'GOODSSTATUS'"`                // 商品状态- 2:未上市 3:上市
+	Quoteminunit  int64     `json:"quoteminunit"  xorm:"'QUOTEMINUNIT'"`              // 行情最小变动单位 [整数,报价小数位一起使用]
+	Agreeunit     float64   `json:"agreeunit"  xorm:"'AGREEUNIT'"`                    // 合约单位
+	Listingdate   time.Time `json:"listingdate"  xorm:"'LISTINGDATE'"`                // 交易开始日期
+	Lasttradedate time.Time `json:"lasttradedate"  xorm:"'LASTTRADEDATE'"`            // 最后交易日期(状态:待退市)
+
+	Relatedgoodsid int64   `json:"relatedgoodsid"  xorm:"'RELATEDGOODSID'"` // 关联交易合约ID
+	Presaleqty     int64   `json:"presaleqty"  xorm:"'PRESALEQTY'"`         // 预售数量
+	Refprice       float64 `json:"refprice"  xorm:"'REFPRICE'"`             // 参考价格[一口价]
+	Presaledqty    int64   `json:"presaledqty"  xorm:"'PRESALEDQTY'"`       // 已预售量(预售结束时更新)
+	EnableQty      int64   `json:"enableqty" xorm:"ENABLEQTY"`              // 剩余数量
 
 	Currency     string `json:"currency" xorm:"'CURRENCY'"`         // 货币
 	Currencysign string `json:"currencysign" xorm:"'CURRENCYSIGN'"` // 货币符号
@@ -560,11 +560,11 @@ func GetHsbyPreGoodses(marketIDs string, descProvinceID, descCityID int) ([]Hsby
 	engine := db.GetEngine()
 
 	// 注意:一级产能预售市场使用的商品实际上是和二级市场有关系的,所以要使用 CPTRADE_PRESALEGOODSEX.RELATEDGOODSID 进行关联
+	// 注意:CPTRADE_PRESALEGOODSEX 表的开始与结束时间是给大宗用的
 	preGoodses := make([]HsbyPreGoods, 0)
 	session := engine.Table("GOODS").
 		Select(`GOODS.*, 
-				CPTRADE_PRESALEGOODSEX.RELATEDGOODSID, CPTRADE_PRESALEGOODSEX.PRESALEQTY, 
-				CPTRADE_PRESALEGOODSEX.STARTTIME, CPTRADE_PRESALEGOODSEX.ENDTIME, CPTRADE_PRESALEGOODSEX.REFPRICE, 
+				CPTRADE_PRESALEGOODSEX.RELATEDGOODSID, CPTRADE_PRESALEGOODSEX.PRESALEQTY, CPTRADE_PRESALEGOODSEX.REFPRICE, 
 				CPTRADE_PRESALEGOODSEX.PRESALEDQTY, (CPTRADE_PRESALEGOODSEX.PRESALEQTY - CPTRADE_PRESALEGOODSEX.PRESALEDQTY) ENABLEQTY, 
 				ENUMDICITEM.ENUMDICNAME CURRENCY, ENUMDICITEM.PARAM2 CURRENCYSIGN, 
 				HSBY_GOODSEX.VIDEOURLS, HSBY_GOODSEX.PICURLS, 
@@ -598,22 +598,22 @@ func GetHsbyPreGoodses(marketIDs string, descProvinceID, descCityID int) ([]Hsby
 
 // HsbyPreGoodsDetail 一级市场(产能预售)商品信息详情
 type HsbyPreGoodsDetail struct {
-	Goodsid      int64   `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`     // 商品ID(自增ID SEQ_GOODS)
-	Goodscode    string  `json:"goodscode"  xorm:"'GOODSCODE'" binding:"required"` // 商品代码(内部)
-	Goodsname    string  `json:"goodsname"  xorm:"'GOODSNAME'" binding:"required"` // 商品名称
-	Decimalplace int64   `json:"decimalplace"  xorm:"'DECIMALPLACE'"`              // 报价小数位
-	Marketid     int64   `json:"marketid"  xorm:"'MARKETID'" binding:"required"`   // 所属市场ID
-	Goodsstatus  int64   `json:"goodsstatus"  xorm:"'GOODSSTATUS'"`                // 商品状态- 2:未上市 3:上市
-	Quoteminunit int64   `json:"quoteminunit"  xorm:"'QUOTEMINUNIT'"`              // 行情最小变动单位 [整数,报价小数位一起使用]
-	Agreeunit    float64 `json:"agreeunit"  xorm:"'AGREEUNIT'"`                    // 合约单位
-
-	Relatedgoodsid int64     `json:"relatedgoodsid"  xorm:"'RELATEDGOODSID'"` // 关联交易合约ID
-	Presaleqty     int64     `json:"presaleqty"  xorm:"'PRESALEQTY'"`         // 预售数量
-	Starttime      time.Time `json:"starttime"  xorm:"'STARTTIME'"`           // 预售开始时间
-	Endtime        time.Time `json:"endtime"  xorm:"'ENDTIME'"`               // 预售结束时间
-	Refprice       float64   `json:"refprice"  xorm:"'REFPRICE'"`             // 参考价格[一口价]
-	Presaledqty    int64     `json:"presaledqty"  xorm:"'PRESALEDQTY'"`       // 已预售量(预售结束时更新)
-	EnableQty      int64     `json:"enableqty" xorm:"ENABLEQTY"`              // 剩余数量
+	Goodsid       int64     `json:"goodsid"  xorm:"'GOODSID'" binding:"required"`     // 商品ID(自增ID SEQ_GOODS)
+	Goodscode     string    `json:"goodscode"  xorm:"'GOODSCODE'" binding:"required"` // 商品代码(内部)
+	Goodsname     string    `json:"goodsname"  xorm:"'GOODSNAME'" binding:"required"` // 商品名称
+	Decimalplace  int64     `json:"decimalplace"  xorm:"'DECIMALPLACE'"`              // 报价小数位
+	Marketid      int64     `json:"marketid"  xorm:"'MARKETID'" binding:"required"`   // 所属市场ID
+	Goodsstatus   int64     `json:"goodsstatus"  xorm:"'GOODSSTATUS'"`                // 商品状态- 2:未上市 3:上市
+	Quoteminunit  int64     `json:"quoteminunit"  xorm:"'QUOTEMINUNIT'"`              // 行情最小变动单位 [整数,报价小数位一起使用]
+	Agreeunit     float64   `json:"agreeunit"  xorm:"'AGREEUNIT'"`                    // 合约单位
+	Listingdate   time.Time `json:"listingdate"  xorm:"'LISTINGDATE'"`                // 交易开始日期
+	Lasttradedate time.Time `json:"lasttradedate"  xorm:"'LASTTRADEDATE'"`            // 最后交易日期(状态:待退市)
+
+	Relatedgoodsid int64   `json:"relatedgoodsid"  xorm:"'RELATEDGOODSID'"` // 关联交易合约ID
+	Presaleqty     int64   `json:"presaleqty"  xorm:"'PRESALEQTY'"`         // 预售数量
+	Refprice       float64 `json:"refprice"  xorm:"'REFPRICE'"`             // 参考价格[一口价]
+	Presaledqty    int64   `json:"presaledqty"  xorm:"'PRESALEDQTY'"`       // 已预售量(预售结束时更新)
+	EnableQty      int64   `json:"enableqty" xorm:"ENABLEQTY"`              // 剩余数量
 
 	Videourls      string `json:"videourls"  xorm:"'VIDEOURLS'"`           // 介绍视频[多张用逗号分隔]
 	Picurls        string `json:"picurls"  xorm:"'PICURLS'"`               // 介绍图片[多张用逗号分隔]
@@ -650,8 +650,7 @@ func GetHsbyPreGoodsDetail(goodsID, accountID int) (*HsbyPreGoodsDetail, error)
 	// FIXME: - 这里使用Get方法,会造成SQL语句的嵌套出错,后期再研究
 	session := engine.Table("GOODS").
 		Select(`GOODS.*, 
-				CPTRADE_PRESALEGOODSEX.RELATEDGOODSID, CPTRADE_PRESALEGOODSEX.PRESALEQTY, 
-				CPTRADE_PRESALEGOODSEX.STARTTIME, CPTRADE_PRESALEGOODSEX.ENDTIME, CPTRADE_PRESALEGOODSEX.REFPRICE, 
+				CPTRADE_PRESALEGOODSEX.RELATEDGOODSID, CPTRADE_PRESALEGOODSEX.PRESALEQTY, CPTRADE_PRESALEGOODSEX.REFPRICE, 
 				CPTRADE_PRESALEGOODSEX.PRESALEDQTY, (CPTRADE_PRESALEGOODSEX.PRESALEQTY - CPTRADE_PRESALEGOODSEX.PRESALEDQTY) ENABLEQTY, 
 				HSBY_GOODSEX.VIDEOURLS, HSBY_GOODSEX.PICURLS, HSBY_GOODSEX.DESCPROVINCEID, HSBY_GOODSEX.Desccityid, HSBY_GOODSEX.Goodsdesc,
 				ENUMDICITEM.ENUMDICNAME CURRENCY, ENUMDICITEM.PARAM2 CURRENCYSIGN, 
@@ -957,9 +956,9 @@ func GetHsbyProvincesAndCities(provinceID int) ([]Division, error) {
 	divisions := make([]Division, 0)
 	session := engine.Where("DIVISIONLEVEL = 'province' or DIVISIONLEVEL = 'city'").
 		And(`AUTOID in (
-				(select DESCPROVINCEID AUTOID from HSBY_GOODSEX inner join GOODS on GOODS.GOODSID = HSBY_GOODSEX.GOODSID and GOODS.GOODSSTATUS = 3)
+				(select DESCPROVINCEID AUTOID from HSBY_GOODSEX inner join GOODS on GOODS.GOODSID = HSBY_GOODSEX.GOODSID and GOODS.GOODSSTATUS in (2,3))
 				union all
-				(select DESCCITYID AUTOID from HSBY_GOODSEX inner join GOODS on GOODS.GOODSID = HSBY_GOODSEX.GOODSID and GOODS.GOODSSTATUS = 3)
+				(select DESCCITYID AUTOID from HSBY_GOODSEX inner join GOODS on GOODS.GOODSID = HSBY_GOODSEX.GOODSID and GOODS.GOODSSTATUS in (2,3))
 						)`)
 	if provinceID > 0 {
 		session = session.And("AUTOID = ?", provinceID)