Parcourir la source

接口增加参数

zhou.xiaoning il y a 5 ans
Parent
commit
5119a214bf
5 fichiers modifiés avec 74 ajouts et 9 suppressions
  1. 4 2
      controllers/hsby/hsby.go
  2. 14 0
      docs/docs.go
  3. 14 0
      docs/swagger.json
  4. 10 0
      docs/swagger.yaml
  5. 32 7
      models/hsby.go

+ 4 - 2
controllers/hsby/hsby.go

@@ -519,7 +519,8 @@ func QueryHsbySellMyDetails(c *gin.Context) {
 
 // QueryHsbyMyPackagesReq 查询我的包裹信息请求参数
 type QueryHsbyMyPackagesReq struct {
-	AccountIDs string `form:"accountIDs" binding:"required"`
+	AccountIDs      string `form:"accountIDs" binding:"required"`
+	TakeOrderStatus int    `form:"takeOrderStatus"`
 }
 
 // QueryHsbyMyPackages 查询我的包裹信息
@@ -527,6 +528,7 @@ type QueryHsbyMyPackagesReq struct {
 // @Produce json
 // @Security ApiKeyAuth
 // @Param accountIDs query string true "资金账户列表,格式:1,2,3"
+// @Param takeOrderStatus query int false "提货状态 - 1:待发货 2:已发货 3:已收货"
 // @Success 200 {object} models.HsbyMyPackage
 // @Failure 500 {object} app.Response
 // @Router /HSBY/QueryHsbyMyPackages [get]
@@ -543,7 +545,7 @@ func QueryHsbyMyPackages(c *gin.Context) {
 	}
 
 	// 获取数据
-	goodsInfo, err := models.GetHsbyMyPackages(req.AccountIDs)
+	goodsInfo, err := models.GetHsbyMyPackages(req.AccountIDs, req.TakeOrderStatus)
 	if err != nil {
 		// 查询失败
 		logger.GetLogger().Errorf("QueryHsbyMyPackages failed: %s", err.Error())

+ 14 - 0
docs/docs.go

@@ -959,6 +959,12 @@ var doc = `{
                         "name": "accountIDs",
                         "in": "query",
                         "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "提货状态 - 1:待发货 2:已发货 3:已收货",
+                        "name": "takeOrderStatus",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -4133,6 +4139,10 @@ var doc = `{
                 "userid": {
                     "description": "用户ID",
                     "type": "integer"
+                },
+                "vendorname": {
+                    "description": "供应商名称",
+                    "type": "string"
                 }
             }
         },
@@ -4430,6 +4440,10 @@ var doc = `{
                 "trademode": {
                     "description": "交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价",
                     "type": "integer"
+                },
+                "vendorname": {
+                    "description": "供应商名称",
+                    "type": "string"
                 }
             }
         },

+ 14 - 0
docs/swagger.json

@@ -943,6 +943,12 @@
                         "name": "accountIDs",
                         "in": "query",
                         "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "提货状态 - 1:待发货 2:已发货 3:已收货",
+                        "name": "takeOrderStatus",
+                        "in": "query"
                     }
                 ],
                 "responses": {
@@ -4117,6 +4123,10 @@
                 "userid": {
                     "description": "用户ID",
                     "type": "integer"
+                },
+                "vendorname": {
+                    "description": "供应商名称",
+                    "type": "string"
                 }
             }
         },
@@ -4414,6 +4424,10 @@
                 "trademode": {
                     "description": "交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价",
                     "type": "integer"
+                },
+                "vendorname": {
+                    "description": "供应商名称",
+                    "type": "string"
                 }
             }
         },

+ 10 - 0
docs/swagger.yaml

@@ -1476,6 +1476,9 @@ definitions:
       userid:
         description: 用户ID
         type: integer
+      vendorname:
+        description: 供应商名称
+        type: string
     required:
     - goodscode
     - goodsname
@@ -1696,6 +1699,9 @@ definitions:
         description: 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式
           21:竞拍-大宗式 22:受托竞价
         type: integer
+      vendorname:
+        description: 供应商名称
+        type: string
     required:
     - accountid
     - buyorsell
@@ -4120,6 +4126,10 @@ paths:
         name: accountIDs
         required: true
         type: string
+      - description: 提货状态 - 1:待发货 2:已发货 3:已收货
+        in: query
+        name: takeOrderStatus
+        type: integer
       produces:
       - application/json
       responses:

+ 32 - 7
models/hsby.go

@@ -133,6 +133,10 @@ func GetHsbyTopGoodses(marketIDs string, descProvinceID, descCityID int) ([]Hsby
 				if q.Last != 0 {
 					topGoods.Last = utils.IntToFloat64(int(q.Last), int(g.Decimalplace))
 				}
+				// 没有现价则尝试用昨结
+				if topGoods.Last == 0 && q.Presettle != 0 {
+					topGoods.Last = utils.IntToFloat64(int(q.Presettle), int(g.Decimalplace))
+				}
 
 				continue
 			}
@@ -212,6 +216,10 @@ func GetHsbyListingGoodsDetail(goodsID int) (*HsbyListingGoodsDetail, error) {
 		if quoteDays[0].Last != 0 {
 			hsbyListingGoodsDetail.Last = utils.IntToFloat64(int(quoteDays[0].Last), int(hsbyListingGoodsDetail.Decimalplace))
 		}
+		// 没有现价则尝试用昨结
+		if hsbyListingGoodsDetail.Last == 0 && quoteDays[0].Presettle != 0 {
+			hsbyListingGoodsDetail.Last = utils.IntToFloat64(int(quoteDays[0].Presettle), int(hsbyListingGoodsDetail.Decimalplace))
+		}
 		if quoteDays[0].Limitup != 0 {
 			hsbyListingGoodsDetail.Limitup = utils.IntToFloat64(int(quoteDays[0].Limitup), int(hsbyListingGoodsDetail.Decimalplace))
 		}
@@ -682,6 +690,8 @@ type HsbySellMyDetail struct {
 	Trademode uint32 `json:"trademode"  xorm:"'TRADEMODE'" binding:"required"` // 交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
 
 	Currencysign string `json:"currencysign" xorm:"'CURRENCYSIGN'"` // 货币符号
+
+	Vendorname string `json:"vendorname"  xorm:"'VENDORNAME'"` // 供应商名称
 }
 
 // GetHsbySellMyOrderDetails 获取"我的闲置 - 已发布"单据信息
@@ -718,11 +728,13 @@ func GetHsbySellMyOrderDetails(accountIDs string) ([]HsbySellMyDetail, error) {
 				GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.DECIMALPLACE, GOODS.AGREEUNIT, 
 				HSBY_GOODSEX.PICURLS, 
 				MARKET.TRADEMODE, 
-				ENUMDICITEM.PARAM2 CURRENCYSIGN`).
+				ENUMDICITEM.PARAM2 CURRENCYSIGN, 
+				HSBY_SUPPLIERINFO.VENDORNAME`).
 		Join("LEFT", "GOODS", "GOODS.GOODSID = TRADE_ORDERDETAIL.GOODSID").
 		Join("LEFT", "HSBY_GOODSEX", "HSBY_GOODSEX.GOODSID = GOODS.GOODSID").
 		Join("LEFT", "ENUMDICITEM", "GOODS.CURRENCYID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'currency'").
 		Join("LEFT", "MARKET", "MARKET.MARKETID = TRADE_ORDERDETAIL.MARKETID").
+		Join("LEFT", "HSBY_SUPPLIERINFO", "HSBY_SUPPLIERINFO.VENDORID = HSBY_GOODSEX.VENDORID").
 		Where(fmt.Sprintf(`TRADE_ORDERDETAIL.BUYORSELL = 1 and TRADE_ORDERDETAIL.LISTINGSELECTTYPE = 1 and (TRADE_ORDERDETAIL.ORDERSTATUS = 3 or TRADE_ORDERDETAIL.ORDERSTATUS = 7) 
 						   and TRADE_ORDERDETAIL.ACCOUNTID in (%s)`, accountIDs)).
 		And(fmt.Sprintf("TRADE_ORDERDETAIL.MARKETID in (%s)", marketIDs))
@@ -768,11 +780,13 @@ func GetHsbySellMyTradeDetails(accountIDs string) ([]HsbySellMyDetail, error) {
 				GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.DECIMALPLACE, GOODS.AGREEUNIT, 
 				HSBY_GOODSEX.PICURLS, 
 				MARKET.TRADEMODE, 
-				ENUMDICITEM.PARAM2 CURRENCYSIGN`).
+				ENUMDICITEM.PARAM2 CURRENCYSIGN, 
+				HSBY_SUPPLIERINFO.VENDORNAME`).
 		Join("LEFT", "GOODS", "GOODS.GOODSID = TRADE_TRADEDETAIL.GOODSID").
 		Join("LEFT", "HSBY_GOODSEX", "HSBY_GOODSEX.GOODSID = GOODS.GOODSID").
 		Join("LEFT", "ENUMDICITEM", "GOODS.CURRENCYID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'currency'").
 		Join("LEFT", "MARKET", "MARKET.MARKETID = TRADE_TRADEDETAIL.MARKETID").
+		Join("LEFT", "HSBY_SUPPLIERINFO", "HSBY_SUPPLIERINFO.VENDORID = HSBY_GOODSEX.VENDORID").
 		Where(fmt.Sprintf(`TRADE_TRADEDETAIL.BUYORSELL = 1 
 						   and TRADE_TRADEDETAIL.ACCOUNTID in (%s)`, accountIDs)).
 		And(fmt.Sprintf("TRADE_TRADEDETAIL.MARKETID in (%s)", marketIDs)).Find(&curOrders); err != nil {
@@ -791,11 +805,13 @@ func GetHsbySellMyTradeDetails(accountIDs string) ([]HsbySellMyDetail, error) {
 				GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.DECIMALPLACE, GOODS.AGREEUNIT, 
 				HSBY_GOODSEX.PICURLS, 
 				MARKET.TRADEMODE, 
-				ENUMDICITEM.PARAM2 CURRENCYSIGN`).
+				ENUMDICITEM.PARAM2 CURRENCYSIGN, 
+				HSBY_SUPPLIERINFO.VENDORNAME`).
 		Join("LEFT", "GOODS", "GOODS.GOODSID = HIS_TRADE_TRADEDETAIL.GOODSID").
 		Join("LEFT", "HSBY_GOODSEX", "HSBY_GOODSEX.GOODSID = GOODS.GOODSID").
 		Join("LEFT", "ENUMDICITEM", "GOODS.CURRENCYID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'currency'").
 		Join("LEFT", "MARKET", "MARKET.MARKETID = HIS_TRADE_TRADEDETAIL.MARKETID").
+		Join("LEFT", "HSBY_SUPPLIERINFO", "HSBY_SUPPLIERINFO.VENDORID = HSBY_GOODSEX.VENDORID").
 		Where(fmt.Sprintf(`HIS_TRADE_TRADEDETAIL.BUYORSELL = 1 and HIS_TRADE_TRADEDETAIL.ISVALIDDATA = 1 
 						   and HIS_TRADE_TRADEDETAIL.ACCOUNTID in (%s)`, accountIDs)).
 		And(fmt.Sprintf("HIS_TRADE_TRADEDETAIL.MARKETID in (%s)", marketIDs)).Find(&hisOrders); err != nil {
@@ -841,26 +857,35 @@ type HsbyMyPackage struct {
 	Picurls string `json:"picurls"  xorm:"'PICURLS'"` // 介绍图片[多张用逗号分隔]
 
 	Currencysign string `json:"currencysign" xorm:"'CURRENCYSIGN'"` // 货币符号
+
+	Vendorname string `json:"vendorname"  xorm:"'VENDORNAME'"` // 供应商名称
 }
 
 // GetHsbyMyPackages 获取我的包裹信息
 // 输入 accountIDs string 资金账户列表
+// 输入 takeOrderStatus int 提货状态 - 1:待发货 2:已发货 3:已收货
 // 输出 []HsbyMyPackage 我的包裹信息
 // 输出 error error
-func GetHsbyMyPackages(accountIDs string) ([]HsbyMyPackage, error) {
+func GetHsbyMyPackages(accountIDs string, takeOrderStatus int) ([]HsbyMyPackage, error) {
 	engine := db.GetEngine()
 
 	myPackages := make([]HsbyMyPackage, 0)
-	if err := engine.Table("TRADE_GOODSPICKUP").
+	session := engine.Table("TRADE_GOODSPICKUP").
 		Select(`to_char(TRADE_GOODSPICKUP.TAKEORDERID) TAKEORDERID, TRADE_GOODSPICKUP.*, 
 				(TRADE_GOODSPICKUP.AMOUNT/TRADE_GOODSPICKUP.QTY/GOODS.AGREEUNIT) AVERAGEPRICE, 
 				GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.DECIMALPLACE, GOODS.AGREEUNIT, 
 				HSBY_GOODSEX.PICURLS, 
-				ENUMDICITEM.PARAM2 CURRENCYSIGN`).
+				ENUMDICITEM.PARAM2 CURRENCYSIGN, 
+				HSBY_SUPPLIERINFO.VENDORNAME`).
 		Join("LEFT", "GOODS", "GOODS.GOODSID = TRADE_GOODSPICKUP.GOODSID").
 		Join("LEFT", "HSBY_GOODSEX", "HSBY_GOODSEX.GOODSID = GOODS.GOODSID").
 		Join("LEFT", "ENUMDICITEM", "GOODS.CURRENCYID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'currency'").
-		Where(fmt.Sprintf("TRADE_GOODSPICKUP.ACCOUNTID in (%s)", accountIDs)).Find(&myPackages); err != nil {
+		Join("LEFT", "HSBY_SUPPLIERINFO", "HSBY_SUPPLIERINFO.VENDORID = HSBY_GOODSEX.VENDORID").
+		Where(fmt.Sprintf("TRADE_GOODSPICKUP.ACCOUNTID in (%s)", accountIDs))
+	if takeOrderStatus > 0 {
+		session = session.And("TAKEORDERSTATUS = ?", takeOrderStatus)
+	}
+	if err := session.Find(&myPackages); err != nil {
 		return nil, err
 	}