|
|
@@ -533,6 +533,7 @@ type HsbyPreGoodsDetail struct {
|
|
|
|
|
|
Currency string `json:"currency" xorm:"'CURRENCY'"` // 货币
|
|
|
Currencysign string `json:"currencysign" xorm:"'CURRENCYSIGN'"` // 货币符号
|
|
|
+ Goodunit string `json:"goodunit" xorm:"GOODUNIT"` // 报价单位
|
|
|
|
|
|
Vendorname string `json:"vendorname" xorm:"'VENDORNAME'"` // 供应商名称
|
|
|
Vendorphone string `json:"vendorphone" xorm:"'VENDORPHONE'"` // 供应商客服电话
|
|
|
@@ -543,19 +544,24 @@ type HsbyPreGoodsDetail struct {
|
|
|
// 参数 goodsID int 目标商品ID
|
|
|
// 返回 *HsbyListingGoodsDetail 二级市场(挂牌点选)商品信息详情,查询无结果返回nil
|
|
|
// 返回 error error
|
|
|
-func GetHsbyPreGoodsDetail(goodsID int) (*HsbyListingGoodsDetail, error) {
|
|
|
+func GetHsbyPreGoodsDetail(goodsID int) (*HsbyPreGoodsDetail, error) {
|
|
|
engine := db.GetEngine()
|
|
|
|
|
|
- details := make([]HsbyListingGoodsDetail, 0)
|
|
|
+ details := make([]HsbyPreGoodsDetail, 0)
|
|
|
// 获取挂牌商品信息,以及扩展表信息
|
|
|
// FIXME: - 这里使用Get方法,会造成SQL语句的嵌套出错,后期再研究
|
|
|
session := engine.Table("GOODS").
|
|
|
- Select(`GOODS.GOODSID, GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.DECIMALPLACE, GOODS.MARKETID,
|
|
|
- HSBY_GOODSEX.HOTINDEX, HSBY_GOODSEX.VIDEOURLS, HSBY_GOODSEX.PICURLS, HSBY_GOODSEX.DESCPROVINCEID, HSBY_GOODSEX.Desccityid, HSBY_GOODSEX.Goodsdesc,
|
|
|
+ Select(`GOODS.*,
|
|
|
+ CPTRADE_PRESALEGOODSEX.RELATEDGOODSID, CPTRADE_PRESALEGOODSEX.PRESALEQTY,
|
|
|
+ CPTRADE_PRESALEGOODSEX.STARTTIME, CPTRADE_PRESALEGOODSEX.ENDTIME, CPTRADE_PRESALEGOODSEX.REFPRICE,
|
|
|
+ HSBY_GOODSEX.VIDEOURLS, HSBY_GOODSEX.PICURLS, HSBY_GOODSEX.DESCPROVINCEID, HSBY_GOODSEX.Desccityid, HSBY_GOODSEX.Goodsdesc,
|
|
|
ENUMDICITEM.ENUMDICNAME CURRENCY, ENUMDICITEM.PARAM2 CURRENCYSIGN,
|
|
|
+ E1.ENUMDICNAME GOODUNIT,
|
|
|
HSBY_SUPPLIERINFO.VENDORNAME, HSBY_SUPPLIERINFO.VENDORPHONE, HSBY_SUPPLIERINFO.VENDORATTR`).
|
|
|
- Join("LEFT", "HSBY_GOODSEX", "HSBY_GOODSEX.GOODSID = GOODS.GOODSID").
|
|
|
+ Join("INNER", "CPTRADE_PRESALEGOODSEX", "CPTRADE_PRESALEGOODSEX.GOODSID = GOODS.GOODSID").
|
|
|
+ Join("LEFT", "HSBY_GOODSEX", "HSBY_GOODSEX.GOODSID = CPTRADE_PRESALEGOODSEX.RELATEDGOODSID").
|
|
|
Join("LEFT", "ENUMDICITEM", "ENUMDICITEM.ENUMITEMNAME = GOODS.CURRENCYID and ENUMDICITEM.ENUMDICCODE = 'currency'").
|
|
|
+ Join("LEFT", "ENUMDICITEM E1", "E1.ENUMITEMNAME = GOODS.GOODUNITID and E1.ENUMDICCODE = 'goodsunit'").
|
|
|
Join("LEFT", "HSBY_SUPPLIERINFO", "HSBY_SUPPLIERINFO.VENDORID = HSBY_GOODSEX.VENDORID").
|
|
|
Where("GOODS.GOODSID = ?", goodsID)
|
|
|
if err := session.Find(&details); err != nil {
|
|
|
@@ -565,24 +571,7 @@ func GetHsbyPreGoodsDetail(goodsID int) (*HsbyListingGoodsDetail, error) {
|
|
|
if len(details) == 0 {
|
|
|
return nil, nil
|
|
|
}
|
|
|
- hsbyListingGoodsDetail := details[0]
|
|
|
-
|
|
|
- // 获取商品现价和涨跌停价
|
|
|
- quoteDays, err := GetQuoteDays(hsbyListingGoodsDetail.Goodscode)
|
|
|
- if err != nil {
|
|
|
- return nil, err
|
|
|
- }
|
|
|
- if len(quoteDays) > 0 {
|
|
|
- if quoteDays[0].Last != 0 {
|
|
|
- hsbyListingGoodsDetail.Last = utils.IntToFloat64(int(quoteDays[0].Last), int(hsbyListingGoodsDetail.Decimalplace))
|
|
|
- }
|
|
|
- if quoteDays[0].Limitup != 0 {
|
|
|
- hsbyListingGoodsDetail.Limitup = utils.IntToFloat64(int(quoteDays[0].Limitup), int(hsbyListingGoodsDetail.Decimalplace))
|
|
|
- }
|
|
|
- if quoteDays[0].Limitdown != 0 {
|
|
|
- hsbyListingGoodsDetail.Limitdown = utils.IntToFloat64(int(quoteDays[0].Limitdown), int(hsbyListingGoodsDetail.Decimalplace))
|
|
|
- }
|
|
|
- }
|
|
|
+ preGoodsDetail := details[0]
|
|
|
|
|
|
- return &hsbyListingGoodsDetail, nil
|
|
|
+ return &preGoodsDetail, nil
|
|
|
}
|