|
|
@@ -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
|
|
|
}
|
|
|
|