package models import ( "mtp2_if/db" "mtp2_if/utils" "strings" "time" ) // Warehouseinfo 仓库信息表 type GZWarehouseinfo struct { AUTOID int64 `json:"autoid" xorm:"AUTOID"` // 自增ID WAREHOUSECODE string `json:"warehousecode" xorm:"WAREHOUSECODE"` // 仓库代码 WAREHOUSENAME string `json:"warehousename" xorm:"WAREHOUSENAME"` // 仓库名称 WAREHOUSETYPE int32 `json:"warehousetype" xorm:"WAREHOUSETYPE"` // 仓库类型 - 1 厂库 2 自有库 3 合作库 AREAUSERID int64 `json:"areauserid" xorm:"AREAUSERID"` // 所属机构 WAREHOUSESTATUS int32 `json:"warehousestatus" xorm:"WAREHOUSESTATUS"` // 仓库状态 - 1:正常 2:注销 3:待审核 4:审核拒绝 COUNTRYID int32 `json:"countryid" xorm:"COUNTRYID"` // 国家 PROVINCEID int32 `json:"provinceid" xorm:"PROVINCEID"` // 省 CITYID int32 `json:"cityid" xorm:"CITYID"` // 市 DISTRICTID int32 `json:"districtid" xorm:"DISTRICTID"` // 区 ADDRESS string `json:"address" xorm:"ADDRESS"` // 详细地址 REMARK string `json:"remark" xorm:"REMARK"` // 审核备注 CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间 HASVIDEO int32 `json:"hasvideo" xorm:"HASVIDEO"` // 是否有视频 - 0:无 1:有 VIDEOURL string `json:"videourl" xorm:"VIDEOURL"` // 视频地址 CONTACTNAME string `json:"contactname" xorm:"CONTACTNAME"` // 联系人 CONTACTNUM string `json:"contactnum" xorm:"CONTACTNUM"` // 联系电话 PageEx `xorm:"extends"` // 页码信息 UserId int64 `json:"-" form:"userid" binding:"required"` // 用户ID Status string `json:"-" form:"status"` // 仓库状态(可多项,逗号隔开) 1:正常 2:注销 3:待审核 4:审核拒绝 IsIncludeExchange bool `json:"-" form:"isincludeexchange"` // 是返回交易所仓库 } // TableName is WAREHOUSEINFO func (r *GZWarehouseinfo) TableName() string { return "WAREHOUSEINFO" } func (r *GZWarehouseinfo) calc() { } func (r *GZWarehouseinfo) buildSql() string { var sqlId utils.SQLVal = `SELECT t.AUTOID, t.WAREHOUSECODE, t.WAREHOUSENAME, t.WAREHOUSETYPE, t.AREAUSERID, t.WAREHOUSESTATUS, t.COUNTRYID, t.PROVINCEID, t.CITYID, t.DISTRICTID, t.ADDRESS, t.REMARK, to_char(t.CREATETIME,'yyyy-mm-dd hh24:mi:ss') CREATETIME, t.HASVIDEO, t.VIDEOURL, t.CONTACTNAME, t.CONTACTNUM FROM WAREHOUSEINFO t WHERE (t.AREAUSERID = %v) ` sqlId.FormatParam(r.UserId) if r.IsIncludeExchange { sqlId.Join(" OR (t.AREAUSERID IS NULL) OR (t.AREAUSERID = 1)") } if len(r.Status) > 0 { sqlId.JoinFormat(" and (t.WAREHOUSESTATUS in (%v))", r.Status) } sqlId.Page(r.Page, r.PageSize) return sqlId.String() } // GetDataByPage 获取团队订单 func (r *GZWarehouseinfo) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]GZWarehouseinfo, 0) err := db.GetEngine().SQL(r.buildSql()).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // MyWRPosition 我的库存 type MyWRPosition struct { ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询) SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 账户名称(机构名称) SELLMOBILE string `json:"sellmobile" xorm:"SELLMOBILE"` // 手机号码(加密存储) ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` // ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` // ZSCURRENCYTYPEDISPLAYUNIT string `json:"zscurrencytypedisplayunit" xorm:"ZSCURRENCYTYPEDISPLAYUNIT"` // WAREHOUSENAMEDISPLAY string `json:"warehousenamedisplay" xorm:"WAREHOUSENAMEDISPLAY"` // ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` // ZSCOLORTYPE1DISPLAY string `json:"zscolortype1display" xorm:"ZSCOLORTYPE1DISPLAY"` // ZSCOLORTYPE2DISPLAY string `json:"zscolortype2display" xorm:"ZSCOLORTYPE2DISPLAY"` // ZSCLARITYTYPE1DISPLAY string `json:"zsclaritytype1display" xorm:"ZSCLARITYTYPE1DISPLAY"` // ZSCLARITYTYPE2DISPLAY string `json:"zsclaritytype2display" xorm:"ZSCLARITYTYPE2DISPLAY"` // ZSCUTTYPE1DISPLAY string `json:"zscuttype1display" xorm:"ZSCUTTYPE1DISPLAY"` // ZSCUTTYPE2DISPLAY string `json:"zscuttype2display" xorm:"ZSCUTTYPE2DISPLAY"` // ZSSYMMETRYTYPE1DISPLAY string `json:"zssymmetrytype1display" xorm:"ZSSYMMETRYTYPE1DISPLAY"` // ZSSYMMETRYTYPE2DISPLAY string `json:"zssymmetrytype2display" xorm:"ZSSYMMETRYTYPE2DISPLAY"` // ZSPOLISHTYPE1DISPLAY string `json:"zspolishtype1display" xorm:"ZSPOLISHTYPE1DISPLAY"` // ZSPOLISHTYPE2DISPLAY string `json:"zspolishtype2display" xorm:"ZSPOLISHTYPE2DISPLAY"` // ZSFLUORESCENCETYPE1DISPLAY string `json:"zsfluorescencetype1display" xorm:"ZSFLUORESCENCETYPE1DISPLAY"` // ZSFLUORESCENCETYPE2DISPLAY string `json:"zsfluorescencetype2display" xorm:"ZSFLUORESCENCETYPE2DISPLAY"` // ZSCERTTYPEDISPLAY string `json:"zscerttypedisplay" xorm:"ZSCERTTYPEDISPLAY"` // ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` // ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` // ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` // ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` // ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` // WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID USERID int64 `json:"userid" xorm:"USERID"` // 用户ID ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“ ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType” GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号 WAREHOUSEID int64 `json:"warehouseid" xorm:"WAREHOUSEID" form:"warehouseid"` // 仓库ID MARKETPRICE string `json:"marketprice" xorm:"MARKETPRICE"` // 市场价 IMAGEPATH string `json:"imagepath" xorm:"IMAGEPATH"` // 商品照片(相对地址) WRPATH string `json:"wrpath" xorm:"WRPATH"` // 仓单扫描件(相对地址) REMARK string `json:"remark" xorm:"REMARK"` // 备注 PRICE float64 `json:"price" xorm:"PRICE"` // 总价(价格) - 类型:1,2,3,4,5 WEIGHT float64 `json:"weight" xorm:"WEIGHT"` // 总重量(克拉重量) - 类型:1,2,3,4,5 WEIGHTAVG float64 `json:"weightavg" xorm:"WEIGHTAVG"` // 平均单颗重量 - 类型:1,3 PRICEPER string `json:"priceper" xorm:"PRICEPER"` // 克拉单价 - 类型:1,2,3,5 ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔) ZSCOLORTYPE1 int32 `json:"zscolortype1" xorm:"ZSCOLORTYPE1"` // 颜色1 - 枚举”ZSColorType“ - 类型:1,2,3,4 ZSCOLORTYPE2 int32 `json:"zscolortype2" xorm:"ZSCOLORTYPE2"` // 颜色2 - 枚举”ZSColorType“ - 类型:1,3 ZSCLARITYTYPE1 int32 `json:"zsclaritytype1" xorm:"ZSCLARITYTYPE1"` // 净度1 - 枚举”ZSClarityType“ - 类型:1,2,3,4,5 ZSCLARITYTYPE2 int32 `json:"zsclaritytype2" xorm:"ZSCLARITYTYPE2"` // 净度2 - 枚举”ZSClarityType“ - 类型:1,3 ZSCUTTYPE1 int32 `json:"zscuttype1" xorm:"ZSCUTTYPE1"` // 切工1 - 枚举”ZSCutType“ - 类型:1,2,4,5 ZSCUTTYPE2 int32 `json:"zscuttype2" xorm:"ZSCUTTYPE2"` // 切工2 - 枚举”ZSCutType“ - 类型:1 ZSSYMMETRYTYPE1 int32 `json:"zssymmetrytype1" xorm:"ZSSYMMETRYTYPE1"` // 对称度1 - 枚举”ZSSymmetryType“ - 类型:1,2,4,5 ZSSYMMETRYTYPE2 int32 `json:"zssymmetrytype2" xorm:"ZSSYMMETRYTYPE2"` // 对称度2 - 枚举”ZSSymmetryType“ - 类型:1 ZSPOLISHTYPE1 int32 `json:"zspolishtype1" xorm:"ZSPOLISHTYPE1"` // 抛光度1 - 枚举”ZSPolishType“ - 类型:1,2,4,5 ZSPOLISHTYPE2 int32 `json:"zspolishtype2" xorm:"ZSPOLISHTYPE2"` // 抛光度2 - 枚举”ZSPolishType“ - 类型:1 ZSFLUORESCENCETYPE1 int32 `json:"zsfluorescencetype1" xorm:"ZSFLUORESCENCETYPE1"` // 荧光1 - 枚举”ZSFluorescenceType“ - 类型:1,2,3,4,5 ZSFLUORESCENCETYPE2 int32 `json:"zsfluorescencetype2" xorm:"ZSFLUORESCENCETYPE2"` // 荧光2 - 枚举”ZSFluorescenceType” - 类型:1,3 SIZE1 string `json:"size1" xorm:"SIZE1"` // 尺寸1 - 类型:2,4,5 SIZE2 string `json:"size2" xorm:"SIZE2"` // 尺寸2 - 类型:2,4,5 SIZE3 string `json:"size3" xorm:"SIZE3"` // 尺寸3 - 类型:2,4,5 ZSCERTTYPE int32 `json:"zscerttype" xorm:"ZSCERTTYPE"` // 证书类型 - 枚举”ZSCertType“ - 类型:2,4,5 CERNO string `json:"cerno" xorm:"CERNO"` // 证书编号 - 类型:2,4,5 ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型范围 - 枚举“ZSCrystalType“ - 类型:3, 多个,逗号分隔 CPCERTNO string `json:"cpcertno" xorm:"CPCERTNO"` // 金伯利证书编号 - 类型:3 ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地 - 类型:3 KPWEIGHT string `json:"kpweight" xorm:"KPWEIGHT"` // 金伯利证书重量 - 类型:3 KPPATH string `json:"kppath" xorm:"KPPATH"` // 金伯利证书图片(相对地址) - 类型:3 ZSSTYLETYPE int32 `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 类型:4 STONEDESC string `json:"stonedesc" xorm:"STONEDESC"` // 配石描述 - 类型:4 SETTINGMATERIAL string `json:"settingmaterial" xorm:"SETTINGMATERIAL"` // 镶嵌材料 - 类型:4 ZSCZCOLOR1TYPE int32 `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1 - 枚举”ZSCZColor1Type“ - 类型:5 ZSCZCOLOR2TYPE int32 `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2 - 枚举”ZSCZColor2Type“ - 类型:5 ZSCZCOLOR3TYPE int32 `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3 - 枚举”ZSCZColor3Type“ - 类型:5 ISVALID int32 `json:"isvalid" xorm:"ISVALID"` // 是否有效 - 0:无效 1:有效 TOTALQTY int64 `json:"-" xorm:"TOTALQTY"` FREEZEQTY int64 `json:"-" xorm:"FREEZEQTY"` FTOTALQTY float64 `json:"ftotalqty"` // 库存数量:WRPosition表:TOTALQTY /100 , 保留两位小数 FFREEZEQTY float64 `json:"ffreezeqty"` // 冻结数量:WRPosition表:FREEZEQTY/100 , 保留两位小数 PageEx `xorm:"extends"` // 页码信息 WRUSERID int64 `json:"wruserid" xorm:"WRUSERID" form:"wruserid" binding:"required"` // 登录用户ID } func (r *MyWRPosition) calc() { if r.TOTALQTY != 0 { a := SFLOAT64(r.TOTALQTY / 100) a.Round(2) r.FTOTALQTY = a.Float64() } if r.FREEZEQTY != 0 { a := SFLOAT64(r.FREEZEQTY / 100) a.Round(2) r.FFREEZEQTY = a.Float64() } } func (r *MyWRPosition) buildSql() string { var sqlId utils.SQLVal = ` SELECT t.TOTALQTY, t.FREEZEQTY, wr.* FROM WRPosition t INNER JOIN WRFactorType ft ON t.wrfactortypeid = ft.wrfactortypeid INNER JOIN View_GZ_WRStandard_Ex_Query wr ON ft.wrstandardid = wr.wrstandardid WHERE t.wruserid = %v ` sqlId.FormatParam(r.WRUSERID) sqlId.AndEx("wr.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("wr.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("wr.WAREHOUSEID", r.WAREHOUSEID, r.WAREHOUSEID > 0) sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MyWRPosition) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]MyWRPosition, 0) err := db.GetEngine().SQL(r.buildSql()).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // BuyOrder 求购大厅委托单 type BuyOrder struct { ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询) ZSTABLEDISPLAY string `json:"zstabledisplay" xorm:"ZSTABLEDISPLAY"` // 求购信息 BUYUSERNAME string `json:"buyusername" xorm:"BUYUSERNAME" form:"buyusername"` // 买方 ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` // ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` // ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` // ZSCOLORTYPEDISPLAY string `json:"zscolortypedisplay" xorm:"ZSCOLORTYPEDISPLAY"` // ZSCLARITYTYPEDISPLAY string `json:"zsclaritytypedisplay" xorm:"ZSCLARITYTYPEDISPLAY"` // ZSCUTTYPEDISPLAY string `json:"zscuttypedisplay" xorm:"ZSCUTTYPEDISPLAY"` // ZSSYMMETRYTYPEDISPLAY string `json:"zssymmetrytypedisplay" xorm:"ZSSYMMETRYTYPEDISPLAY"` // ZSPOLISHTYPEDISPLAY string `json:"zspolishtypedisplay" xorm:"ZSPOLISHTYPEDISPLAY"` // ZSFLUORESCENCETYPEDISPLAY string `json:"zsfluorescencetypedisplay" xorm:"ZSFLUORESCENCETYPEDISPLAY"` // ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` // ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` // ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` // ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` // ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` // WAREHOUSEINFOSDISPLAY string `json:"warehouseinfosdisplay" xorm:"WAREHOUSEINFOSDISPLAY"` // WRTRADEORDERID int64 `json:"wrtradeorderid" xorm:"WRTRADEORDERID" form:"wrtradeorderid"` // [委托单号]买委托单ID(320+Unix秒时间戳(10位)+xxxxxx) USERID int64 `json:"userid" xorm:"USERID"` // 用户ID ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“ ZSCURRENCYTYPE string `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 多个, 逗号分隔 ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 多个, 逗号分隔 ZSCOLORTYPE string `json:"zscolortype" xorm:"ZSCOLORTYPE"` // 颜色 - 两个, 逗号分隔 ZSCLARITYTYPE string `json:"zsclaritytype" xorm:"ZSCLARITYTYPE"` // 净度 - 两个, 逗号分隔 ZSCUTTYPE string `json:"zscuttype" xorm:"ZSCUTTYPE"` // 切工 - 两个, 逗号分隔 ZSSYMMETRYTYPE string `json:"zssymmetrytype" xorm:"ZSSYMMETRYTYPE"` // 对称度 - 两个, 逗号分隔 ZSPOLISHTYPE string `json:"zspolishtype" xorm:"ZSPOLISHTYPE"` // 抛光度 - 两个, 逗号分隔 ZSFLUORESCENCETYPE string `json:"zsfluorescencetype" xorm:"ZSFLUORESCENCETYPE"` // 荧光 - 多个, 逗号分隔 ZSSIZE string `json:"zssize" xorm:"ZSSIZE"` // 尺寸 - 两个小数, 逗号分隔 ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型 - 多个,逗号分隔 ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地 ZSSTYLETYPE string `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 多个, 逗号分隔 ZSCZCOLOR1TYPE string `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1, 逗号分隔 ZSCZCOLOR2TYPE string `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2, 逗号分隔 ZSCZCOLOR3TYPE string `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3, 逗号分隔 REMARK string `json:"remark" xorm:"REMARK"` // 备注 WAREHOUSEIDS string `json:"warehouseids" xorm:"WAREHOUSEIDS"` // 仓库ID - 多个, 逗号分隔 MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID PageEx `xorm:"extends"` // 页码信息 } func (r *BuyOrder) calc() { } func (r *BuyOrder) buildSql() string { var sqlId utils.SQLVal = ` SELECT q.* FROM WRTrade_OrderDetail t INNER JOIN View_GZ_BuyOrderDetail_Query q ON t.wrtradeorderid = q.wrtradeorderid WHERE t.marketid=67201 AND t.BuyOrSell = 0 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("q.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID > 0) sqlId.AndLike("q.BUYUSERNAME", r.BUYUSERNAME) sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *BuyOrder) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]BuyOrder, 0) err := db.GetEngine().SQL(r.buildSql()).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // SellOrderQueryReq 钻石搜索入参 type SellOrderQueryReq struct { ZSCATEGORY int32 `json:"zscategory" binding:"required"` // 钻石分类 - 枚举”ZSCategory“ ZSCURRENCYTYPE []string `json:"zscurrencytype"` // 货币类型 - 枚举“ZSCurrencyType” WAREHOUSEID int64 `json:"warehouseid"` // 仓库ID WEIGHT1 float64 `json:"weight1"` // 总重量(克拉重量)-从 WEIGHT2 float64 `json:"weight2"` // 总重量(克拉重量)-至 WEIGHTAVG1 float64 `json:"weightavg1"` // 平均单颗重量-从 WEIGHTAVG2 float64 `json:"weightavg2"` // 平均单颗重量-至 ZSSHAPETYPE []string `json:"zsshapetype"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔) ZSCOLORTYPE []int32 `json:"zscolortype"` // 颜色 ZSCLARITYTYPE []int32 `json:"zsclaritytype"` // 净度 ZSCUTTYPE []int32 `json:"zscuttype"` // 切工 ZSSYMMETRYTYPE []int32 `json:"zssymmetrytype"` // 对称度 ZSPOLISHTYPE []int32 `json:"zspolishtype"` // 抛光度 ZSFLUORESCENCETYPE []int32 `json:"zsfluorescencetype"` // 荧光 ZSCERTTYPE []string `json:"zscerttype"` // 证书类型 ORIGIN string `json:"origin"` // 原产地 ZSSTYLETYPE []string `json:"zsstyletype"` // 款式 ZSCZCOLOR1TYPE []string `json:"zsczcolor1type"` // 彩钻颜色1 PageJosn // 分页 } // SellOrder 出售大厅委托单 type SellOrder struct { ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询) SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME" form:"sellusername"` // 卖方(查询字段-模糊查询) WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID USERID int64 `json:"userid" xorm:"USERID"` // 用户ID ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“ ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType” GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号 IsQueryDiamond bool // 是否钻石查询 ZSCURRENCYTYPE_S []string `json:"-"` // 货币类型 - 枚举“ZSCurrencyType” WAREHOUSEID int64 `json:"-"` // 仓库ID WEIGHT float64 `json:"-"` // 总重量(克拉重量) - 类型:1,2,3,4,5 WEIGHT_END float64 `json:"-"` // 总重量(克拉重量) - 类型:1,2,3,4,5 WEIGHTAVG float64 `json:"-"` // 平均单颗重量 - 类型:1,3 WEIGHTAVG_END float64 `json:"-"` // 平均单颗重量 - 类型:1,3 ZSSHAPETYPE []string `json:"-"` // 形状 - 枚举”ZSShapeType“ - 类型:1,2,4,5 ;(1为多个,逗号分隔) ZSCOLORTYPE1 int32 `json:"-"` // 颜色1 - 枚举”ZSColorType“ - 类型:1,2,3,4 ZSCOLORTYPE2 int32 `json:"-"` // 颜色2 - 枚举”ZSColorType“ - 类型:1,3 ZSCOLORTYPE []int32 `json:"-"` // 颜色 ZSCLARITYTYPE1 int32 `json:"-"` // 净度1 - 枚举”ZSClarityType“ - 类型:1,2,3,4,5 ZSCLARITYTYPE2 int32 `json:"-"` // 净度2 - 枚举”ZSClarityType“ - 类型:1,3 ZSCLARITYTYPE []int32 `json:"-"` // 净度 ZSCUTTYPE1 int32 `json:"-"` // 切工1 - 枚举”ZSCutType“ - 类型:1,2,4,5 ZSCUTTYPE2 int32 `json:"-"` // 切工2 - 枚举”ZSCutType“ - 类型:1 ZSCUTTYPE []int32 `json:"-"` // 切工 ZSSYMMETRYTYPE1 int32 `json:"-"` // 对称度1 - 枚举”ZSSymmetryType“ - 类型:1,2,4,5 ZSSYMMETRYTYPE2 int32 `json:"-"` // 对称度2 - 枚举”ZSSymmetryType“ - 类型:1 ZSSYMMETRYTYPE []int32 `json:"-"` // 对称度 ZSPOLISHTYPE1 int32 `json:"-"` // 抛光度1 - 枚举”ZSPolishType“ - 类型:1,2,4,5 ZSPOLISHTYPE2 int32 `json:"-"` // 抛光度2 - 枚举”ZSPolishType“ - 类型:1 ZSPOLISHTYPE []int32 `json:"-"` // 抛光度 ZSFLUORESCENCETYPE1 int32 `json:"-"` // 荧光1 - 枚举”ZSFluorescenceType“ - 类型:1,2,3,4,5 ZSFLUORESCENCETYPE2 int32 `json:"-"` // 荧光2 - 枚举”ZSFluorescenceType” - 类型:1,3 ZSFLUORESCENCETYPE []int32 `json:"-"` // 荧光 ZSCERTTYPE []string `json:"-"` // 证书类型 ORIGIN string `json:"-"` // 原产地 - 类型:3 ZSSTYLETYPE []string `json:"-"` // 款式 - 类型:4 ZSCZCOLOR1TYPE []string `json:"-" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1 - 枚举”ZSCZColor1Type“ - 类型:5 WRTRADEORDERID int64 `json:"wrtradeorderid" xorm:"WRTRADEORDERID" form:"wrtradeorderid"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx) TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd) WRTRADETYPE int32 `json:"wrtradetype" xorm:"WRTRADETYPE"` // 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国) BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖 RELATEDWRTRADEORDERID int64 `json:"relatedwrtradeorderid" xorm:"RELATEDWRTRADEORDERID"` // 关联委托单号(摘牌委托关联挂牌委托单ID) MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账号 WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID/商品ID(77) ORDERQTY int64 `json:"orderqty" xorm:"ORDERQTY"` // 委托数量 TRADEQTY int64 `json:"tradeqty" xorm:"TRADEQTY"` // 成交数量 CANCELQTY int64 `json:"cancelqty" xorm:"CANCELQTY"` // 撤销数量 WRPRICETYPE int32 `json:"wrpricetype" xorm:"WRPRICETYPE"` // 价格方式 - 1:固定价 2-浮动价 - [挂牌] FIXEDPRICE float64 `json:"fixedprice" xorm:"FIXEDPRICE"` // 固定价格 - [挂牌] ISSPECIFIED int32 `json:"isspecified" xorm:"ISSPECIFIED"` // 是否指定对手 - 0:不指定 1:指定好友(贸易圈) 2:指定对手 - [挂牌] PRICEFACTOR float64 `json:"pricefactor" xorm:"PRICEFACTOR"` // 价格系数(浮动价时填写) - [挂牌] PRICEMOVE float64 `json:"pricemove" xorm:"PRICEMOVE"` // 升贴水(浮动价时填写) - [挂牌] FIRSTRATIO float64 `json:"firstratio" xorm:"FIRSTRATIO"` // 首付比率 - [挂牌时指定,摘牌时使用] WRTRANSFERUSERID int64 `json:"wrtransferuserid" xorm:"WRTRANSFERUSERID"` // 仓单受让用户 - [摘牌] TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 - [摘牌] (浮动价 ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水) FREEZEFIRSTAMOUNT float64 `json:"freezefirstamount" xorm:"FREEZEFIRSTAMOUNT"` // 冻结首付金额 - [摘牌] UNFREEZEFIRSTAMOUNT float64 `json:"unfreezefirstamount" xorm:"UNFREEZEFIRSTAMOUNT"` // 解冻首付金额 - [摘牌] PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID VALIDTYPE int32 `json:"validtype" xorm:"VALIDTYPE"` // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效 VALIDTIME time.Time `json:"validtime" xorm:"VALIDTIME"` // 有效期限 ORDERTIME time.Time `json:"ordertime" xorm:"ORDERTIME"` // 委托时间 CANCELTIME time.Time `json:"canceltime" xorm:"CANCELTIME"` // 撤销时间 WRTRADEORDERSTATUS int32 `json:"wrtradeorderstatus" xorm:"WRTRADEORDERSTATUS"` // 委托状态 - 参考枚举'WRTradeOrderStatus' - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败 CLIENTTICKET string `json:"-" xorm:"CLIENTTICKET"` // 客户端流水号 ORDERSRC int32 `json:"-" xorm:"ORDERSRC"` // 委托来源 - 1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 CLIENTTYPE int32 `json:"-" xorm:"CLIENTTYPE"` // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江) UUID string `json:"uuid" xorm:"UUID"` // 发起端唯一id CLIENTORDERTIME time.Time `json:"clientordertime" xorm:"CLIENTORDERTIME"` // 客户端委托时间 RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 错误代码 OPERATORID int64 `json:"-" xorm:"OPERATORID"` // 操作员ID PRICEDISPLAYMODE int32 `json:"-" xorm:"PRICEDISPLAYMODE"` // 浮动价显示方式 - 1:合并显示 2:分开显示1: 价格显示一个值 :(商品拟合价*价格系统+升贴水)2: 价格显示两个值:(商品拟合价*价格系统) 、 升贴水 FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金 UNFREEZEMARGIN float64 `json:"unfreezemargin" xorm:"UNFREEZEMARGIN"` // 解冻保证金 FREEZECHARGE float64 `json:"freezecharge" xorm:"FREEZECHARGE"` // 冻结手续费 UNFREEZECHARGE float64 `json:"unfreezecharge" xorm:"UNFREEZECHARGE"` // 解冻手续费 MARGINALGORITHM int32 `json:"marginalgorithm" xorm:"MARGINALGORITHM"` // 保证金方式 - 1:比率 2:固定 MARGINVALUE float64 `json:"marginvalue" xorm:"MARGINVALUE"` // 保证金设置值 CHARGEALGORITHM int32 `json:"chargealgorithm" xorm:"CHARGEALGORITHM"` // 手续费收取方式 1:比率 2:固定 CHARGEALGORITHMVALUE float64 `json:"chargealgorithmvalue" xorm:"CHARGEALGORITHMVALUE"` // 手续费设置值(交易所部分) CHARGEALGORITHMVALUE2 float64 `json:"chargealgorithmvalue2" xorm:"CHARGEALGORITHMVALUE2"` // 手续费设置值(会员部分) CANBARGAIN int32 `json:"canbargain" xorm:"CANBARGAIN"` // 是否可议价 - 0:不可 1:可 WRBARGAINID int64 `json:"wrbargainid" xorm:"WRBARGAINID"` // 议价申请单ID ATTACHMENT1 string `json:"attachment1" xorm:"ATTACHMENT1"` // 附件1 ATTACHMENT2 string `json:"attachment2" xorm:"ATTACHMENT2"` // 附件2 APPLYID int64 `json:"applyid" xorm:"APPLYID"` // 申请单ID EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率[67] ORDERAMOUNT float64 `json:"orderamount" xorm:"ORDERAMOUNT"` // 挂牌金额[账户] [67]= OrderQty * FixedPrice * ExchangeRate /100 PageEx `xorm:"extends"` // 页码信息 } func (r *SellOrder) calc() { } // buildSql 出售大厅 func (r *SellOrder) buildSql() string { var sqlId utils.SQLVal = ` SELECT q.SELLUSERNAME, q.ZSCATEGORY, q.ZSCURRENCYTYPE, q.GOODSNO, t.* FROM WRTrade_OrderDetail t INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid WHERE t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID > 0) sqlId.AndLike("q.SELLUSERNAME", r.SELLUSERNAME) sqlId.OrderByDesc("t.WRTRADEORDERID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } // buildQueryDiamond 钻石搜索 func (r *SellOrder) buildQueryDiamond() string { var sqlId utils.SQLVal = ` SELECT q.SELLUSERNAME, q.ZSCATEGORY, q.ZSCURRENCYTYPE, q.GOODSNO, t.* FROM WRTrade_OrderDetail t INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid WHERE t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.And("q.ZSCATEGORY", r.ZSCATEGORY) if len(r.ZSCURRENCYTYPE_S) > 0 { sqlId.JoinFormat(" AND q.ZSCURRENCYTYPE IN (%v)", strings.Join(r.ZSCURRENCYTYPE_S, ",")) } sqlId.AndEx("q.WAREHOUSEID", r.WAREHOUSEID, r.WAREHOUSEID > 0) utils.AndBetween(&sqlId, "q.WEIGHT", r.WEIGHT, r.WEIGHT_END) utils.AndBetween(&sqlId, "q.WEIGHTAVG", r.WEIGHTAVG, r.WEIGHTAVG_END) sqlId.AndLikes("q.ZSSHAPETYPE", r.ZSSHAPETYPE...) for _, t := range r.ZSCOLORTYPE { sqlId.LessOrEq("q.ZSCOLORTYPE1", t) sqlId.BiggerOrEq("q.ZSCOLORTYPE2", t) } for _, t := range r.ZSCLARITYTYPE { sqlId.LessOrEq("q.ZSCLARITYTYPE1", t) sqlId.BiggerOrEq("q.ZSCLARITYTYPE2", t) } for _, t := range r.ZSCUTTYPE { sqlId.LessOrEq("q.ZSCUTTYPE1", t) sqlId.BiggerOrEq("q.ZSCUTTYPE2", t) } for _, t := range r.ZSSYMMETRYTYPE { sqlId.LessOrEq("q.ZSSYMMETRYTYPE1", t) sqlId.BiggerOrEq("q.ZSSYMMETRYTYPE2", t) } for _, t := range r.ZSPOLISHTYPE { sqlId.LessOrEq("q.ZSPOLISHTYPE1", t) sqlId.BiggerOrEq("q.ZSPOLISHTYPE2", t) } for _, t := range r.ZSFLUORESCENCETYPE { sqlId.LessOrEq("q.ZSFLUORESCENCETYPE1", t) sqlId.BiggerOrEq("q.ZSFLUORESCENCETYPE2", t) } if len(r.ZSCERTTYPE) > 0 { sqlId.JoinFormat(" AND q.ZSCERTTYPE IN (%v)", strings.Join(r.ZSCERTTYPE, ",")) } sqlId.AndLike("q.ORIGIN", r.ORIGIN) if len(r.ZSSTYLETYPE) > 0 { sqlId.JoinFormat(" AND q.ZSSTYLETYPE IN (%v)", strings.Join(r.ZSSTYLETYPE, ",")) } if len(r.ZSCZCOLOR1TYPE) > 0 { sqlId.JoinFormat(" AND q.ZSCZCOLOR1TYPE IN (%v)", strings.Join(r.ZSCZCOLOR1TYPE, ",")) } sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *SellOrder) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]SellOrder, 0) sql := "" if !r.IsQueryDiamond { // 出售大厅查询 sql = r.buildSql() } else { // 钻石搜索 sql = r.buildQueryDiamond() } err := db.GetEngine().SQL(sql).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // MyBuyOrder 我的求购 type MyBuyOrder struct { ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询) ZSTABLEDISPLAY string `json:"zstabledisplay" xorm:"ZSTABLEDISPLAY"` // 求购信息 ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` // ZSCURRENCYTYPEDISPLAY string `json:"zscurrencytypedisplay" xorm:"ZSCURRENCYTYPEDISPLAY"` // ZSSHAPETYPEDISPLAY string `json:"zsshapetypedisplay" xorm:"ZSSHAPETYPEDISPLAY"` // ZSCOLORTYPEDISPLAY string `json:"zscolortypedisplay" xorm:"ZSCOLORTYPEDISPLAY"` // ZSCLARITYTYPEDISPLAY string `json:"zsclaritytypedisplay" xorm:"ZSCLARITYTYPEDISPLAY"` // ZSCUTTYPEDISPLAY string `json:"zscuttypedisplay" xorm:"ZSCUTTYPEDISPLAY"` // ZSSYMMETRYTYPEDISPLAY string `json:"zssymmetrytypedisplay" xorm:"ZSSYMMETRYTYPEDISPLAY"` // ZSPOLISHTYPEDISPLAY string `json:"zspolishtypedisplay" xorm:"ZSPOLISHTYPEDISPLAY"` // ZSFLUORESCENCETYPEDISPLAY string `json:"zsfluorescencetypedisplay" xorm:"ZSFLUORESCENCETYPEDISPLAY"` // ZSCRYSTALTYPEDISPLAY string `json:"zscrystaltypedisplay" xorm:"ZSCRYSTALTYPEDISPLAY"` // ZSSTYLETYPEDISPLAY string `json:"zsstyletypedisplay" xorm:"ZSSTYLETYPEDISPLAY"` // ZSCZCOLOR1TYPEDISPLAY string `json:"zsczcolor1typedisplay" xorm:"ZSCZCOLOR1TYPEDISPLAY"` // ZSCZCOLOR2TYPEDISPLAY string `json:"zsczcolor2typedisplay" xorm:"ZSCZCOLOR2TYPEDISPLAY"` // ZSCZCOLOR3TYPEDISPLAY string `json:"zsczcolor3typedisplay" xorm:"ZSCZCOLOR3TYPEDISPLAY"` // WAREHOUSEINFOSDISPLAY string `json:"warehouseinfosdisplay" xorm:"WAREHOUSEINFOSDISPLAY"` // WRTRADEORDERID int64 `json:"wrtradeorderid" xorm:"WRTRADEORDERID" form:"wrtradeorderid"` // [委托单号]买委托单ID(320+Unix秒时间戳(10位)+xxxxxx) USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账户ID ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“ ZSCURRENCYTYPE string `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 多个, 逗号分隔 ZSSHAPETYPE string `json:"zsshapetype" xorm:"ZSSHAPETYPE"` // 形状 - 多个, 逗号分隔 ZSCOLORTYPE string `json:"zscolortype" xorm:"ZSCOLORTYPE"` // 颜色 - 两个, 逗号分隔 ZSCLARITYTYPE string `json:"zsclaritytype" xorm:"ZSCLARITYTYPE"` // 净度 - 两个, 逗号分隔 ZSCUTTYPE string `json:"zscuttype" xorm:"ZSCUTTYPE"` // 切工 - 两个, 逗号分隔 ZSSYMMETRYTYPE string `json:"zssymmetrytype" xorm:"ZSSYMMETRYTYPE"` // 对称度 - 两个, 逗号分隔 ZSPOLISHTYPE string `json:"zspolishtype" xorm:"ZSPOLISHTYPE"` // 抛光度 - 两个, 逗号分隔 ZSFLUORESCENCETYPE string `json:"zsfluorescencetype" xorm:"ZSFLUORESCENCETYPE"` // 荧光 - 多个, 逗号分隔 ZSSIZE string `json:"zssize" xorm:"ZSSIZE"` // 尺寸 - 两个小数, 逗号分隔 ZSCRYSTALTYPE string `json:"zscrystaltype" xorm:"ZSCRYSTALTYPE"` // 晶型 - 多个,逗号分隔 ORIGIN string `json:"origin" xorm:"ORIGIN"` // 原产地 ZSSTYLETYPE string `json:"zsstyletype" xorm:"ZSSTYLETYPE"` // 款式 - 多个, 逗号分隔 ZSCZCOLOR1TYPE string `json:"zsczcolor1type" xorm:"ZSCZCOLOR1TYPE"` // 彩钻颜色1, 逗号分隔 ZSCZCOLOR2TYPE string `json:"zsczcolor2type" xorm:"ZSCZCOLOR2TYPE"` // 彩钻颜色2, 逗号分隔 ZSCZCOLOR3TYPE string `json:"zsczcolor3type" xorm:"ZSCZCOLOR3TYPE"` // 彩钻颜色3, 逗号分隔 REMARK string `json:"remark" xorm:"REMARK"` // 备注 WAREHOUSEIDS string `json:"warehouseids" xorm:"WAREHOUSEIDS"` // 仓库ID - 多个, 逗号分隔 MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID IsHis bool `json:"-" form:"ishis"` // 是否历史查询 PageEx `xorm:"extends"` // 页码信息 } func (r *MyBuyOrder) calc() { } func (r *MyBuyOrder) buildSql() string { var sqlId utils.SQLVal = ` SELECT q.* FROM WRTrade_OrderDetail t INNER JOIN View_GZ_BuyOrderDetail_Query q ON t.wrtradeorderid = q.wrtradeorderid WHERE t.marketid=67201 AND t.BuyOrSell = 0 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.And("t.USERID", r.USERID) sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID > 0) sqlId.OrderByDesc("t.WRTRADEORDERID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MyBuyOrder) buildSql_His() string { var sqlId utils.SQLVal = ` SELECT q.* FROM HIS_WRTrade_OrderDetail t INNER JOIN View_GZ_BuyOrderDetail_Query q ON t.wrtradeorderid = q.wrtradeorderid WHERE t.isvaliddata =1 AND t.marketid=67201 AND t.BuyOrSell = 0 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.And("t.USERID", r.USERID) sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID > 0) sqlId.OrderByDesc("t.WRTRADEORDERID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MyBuyOrder) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]MyBuyOrder, 0) sql := "" if r.IsHis { sql = r.buildSql_His() } else { sql = r.buildSql() } err := db.GetEngine().SQL(sql).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // MySellOrder 我的出售 type MySellOrder struct { ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询) WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“ ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType” GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号 WRTRADEORDERID int64 `json:"wrtradeorderid" xorm:"WRTRADEORDERID" form:"wrtradeorderid"` // 仓单贸易委托单ID(320+Unix秒时间戳(10位)+xxxxxx) TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd) WRTRADETYPE int32 `json:"wrtradetype" xorm:"WRTRADETYPE"` // 仓单贸易类型 - 1:挂牌 2:摘牌 3:提货卖(文化中国) 4:提货买(文化中国) BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖 RELATEDWRTRADEORDERID int64 `json:"relatedwrtradeorderid" xorm:"RELATEDWRTRADEORDERID"` // 关联委托单号(摘牌委托关联挂牌委托单ID) MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 资金账号 WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID/商品ID(77) ORDERQTY int64 `json:"orderqty" xorm:"ORDERQTY"` // 委托数量 TRADEQTY int64 `json:"tradeqty" xorm:"TRADEQTY"` // 成交数量 CANCELQTY int64 `json:"cancelqty" xorm:"CANCELQTY"` // 撤销数量 WRPRICETYPE int32 `json:"wrpricetype" xorm:"WRPRICETYPE"` // 价格方式 - 1:固定价 2-浮动价 - [挂牌] FIXEDPRICE float64 `json:"fixedprice" xorm:"FIXEDPRICE"` // 固定价格 - [挂牌] ISSPECIFIED int32 `json:"isspecified" xorm:"ISSPECIFIED"` // 是否指定对手 - 0:不指定 1:指定好友(贸易圈) 2:指定对手 - [挂牌] PRICEFACTOR float64 `json:"pricefactor" xorm:"PRICEFACTOR"` // 价格系数(浮动价时填写) - [挂牌] PRICEMOVE float64 `json:"pricemove" xorm:"PRICEMOVE"` // 升贴水(浮动价时填写) - [挂牌] FIRSTRATIO float64 `json:"firstratio" xorm:"FIRSTRATIO"` // 首付比率 - [挂牌时指定,摘牌时使用] WRTRANSFERUSERID int64 `json:"wrtransferuserid" xorm:"WRTRANSFERUSERID"` // 仓单受让用户 - [摘牌] TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 - [摘牌] (浮动价 ((商品1价格*商品1价格系数+升贴水)* 商品1重量系数 + 商品2价格*商品2价格系数+商品2升贴水)* 商品2重量系数 ...)* 委托单价格系数 + 委托单升贴水) FREEZEFIRSTAMOUNT float64 `json:"freezefirstamount" xorm:"FREEZEFIRSTAMOUNT"` // 冻结首付金额 - [摘牌] UNFREEZEFIRSTAMOUNT float64 `json:"unfreezefirstamount" xorm:"UNFREEZEFIRSTAMOUNT"` // 解冻首付金额 - [摘牌] PERFORMANCETEMPLATEID int64 `json:"performancetemplateid" xorm:"PERFORMANCETEMPLATEID"` // 履约计划模板ID VALIDTYPE int32 `json:"validtype" xorm:"VALIDTYPE"` // 有效类型 - 1当日有效 2本周有效 3指定日期有效 4一直有效 VALIDTIME time.Time `json:"validtime" xorm:"VALIDTIME"` // 有效期限 ORDERTIME time.Time `json:"ordertime" xorm:"ORDERTIME"` // 委托时间 CANCELTIME time.Time `json:"canceltime" xorm:"CANCELTIME"` // 撤销时间 WRTRADEORDERSTATUS int32 `json:"wrtradeorderstatus" xorm:"WRTRADEORDERSTATUS"` // 委托状态 - 参考枚举'WRTradeOrderStatus' - 1:委托请求 2:待冻结 3:委托成功 4:委托失败 5:配对成功 6:已撤 7:部成 8:已成 9:部成部撤 10:成交失败 11:委托拒绝 12:经过摘牌(先摘后挂专用) 13:冻结成功(通道交易专用) 14:通道已撤 15:通道部成部撤 16:成交失败违约(荷兰式竞拍专用) 17:冻结PD成功 18:冻结PD失败 19:冻结能量成功 20:冻结能量失败 21:预约已报价 22:过期未付 23:优惠券处理中 24:仓单生成失败 25:首付扣款失败 26:履约失败 27:撤单解冻贷款失败 CLIENTTICKET string `json:"-" xorm:"CLIENTTICKET"` // 客户端流水号 ORDERSRC int32 `json:"-" xorm:"ORDERSRC"` // 委托来源 - 1:客户端 2:管理端 3:风控服务 4:交割服务 5:交易服务 6:交易日结 CLIENTTYPE int32 `json:"-" xorm:"CLIENTTYPE"` // 客户端类型 - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端_安卓 4:网页客户端 5:微信客户端 6:手机客户端_苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江) UUID string `json:"uuid" xorm:"UUID"` // 发起端唯一id CLIENTORDERTIME time.Time `json:"clientordertime" xorm:"CLIENTORDERTIME"` // 客户端委托时间 RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 错误代码 OPERATORID int64 `json:"-" xorm:"OPERATORID"` // 操作员ID PRICEDISPLAYMODE int32 `json:"-" xorm:"PRICEDISPLAYMODE"` // 浮动价显示方式 - 1:合并显示 2:分开显示1: 价格显示一个值 :(商品拟合价*价格系统+升贴水)2: 价格显示两个值:(商品拟合价*价格系统) 、 升贴水 FREEZEMARGIN float64 `json:"freezemargin" xorm:"FREEZEMARGIN"` // 冻结保证金 UNFREEZEMARGIN float64 `json:"unfreezemargin" xorm:"UNFREEZEMARGIN"` // 解冻保证金 FREEZECHARGE float64 `json:"freezecharge" xorm:"FREEZECHARGE"` // 冻结手续费 UNFREEZECHARGE float64 `json:"unfreezecharge" xorm:"UNFREEZECHARGE"` // 解冻手续费 MARGINALGORITHM int32 `json:"marginalgorithm" xorm:"MARGINALGORITHM"` // 保证金方式 - 1:比率 2:固定 MARGINVALUE float64 `json:"marginvalue" xorm:"MARGINVALUE"` // 保证金设置值 CHARGEALGORITHM int32 `json:"chargealgorithm" xorm:"CHARGEALGORITHM"` // 手续费收取方式 1:比率 2:固定 CHARGEALGORITHMVALUE float64 `json:"chargealgorithmvalue" xorm:"CHARGEALGORITHMVALUE"` // 手续费设置值(交易所部分) CHARGEALGORITHMVALUE2 float64 `json:"chargealgorithmvalue2" xorm:"CHARGEALGORITHMVALUE2"` // 手续费设置值(会员部分) CANBARGAIN int32 `json:"canbargain" xorm:"CANBARGAIN"` // 是否可议价 - 0:不可 1:可 WRBARGAINID int64 `json:"wrbargainid" xorm:"WRBARGAINID"` // 议价申请单ID ATTACHMENT1 string `json:"attachment1" xorm:"ATTACHMENT1"` // 附件1 ATTACHMENT2 string `json:"attachment2" xorm:"ATTACHMENT2"` // 附件2 APPLYID int64 `json:"applyid" xorm:"APPLYID"` // 申请单ID EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率[67] ORDERAMOUNT float64 `json:"orderamount" xorm:"ORDERAMOUNT"` // 挂牌金额[账户] [67]= OrderQty * FixedPrice * ExchangeRate /100 IsHis bool `json:"-" form:"ishis"` // 是否历史查询 PageEx `xorm:"extends"` // 页码信息 } func (r *MySellOrder) calc() { } func (r *MySellOrder) buildSql() string { var sqlId utils.SQLVal = ` SELECT q.ZSCATEGORY, q.ZSCURRENCYTYPE, q.GOODSNO, t.* FROM WRTrade_OrderDetail t INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid WHERE t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.And("q.USERID", r.USERID) sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID > 0) sqlId.OrderByDesc("t.WRTRADEORDERID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MySellOrder) buildSql_His() string { var sqlId utils.SQLVal = ` SELECT q.ZSCATEGORY, q.ZSCURRENCYTYPE, q.GOODSNO, t.* FROM HIS_WRTrade_OrderDetail t INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid WHERE t.isvaliddata =1 AND t.marketid=67201 AND t.BuyOrSell = 1 AND t.WRTradeOrderStatus IN (3,7) ` sqlId.And("q.USERID", r.USERID) sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("t.WRTRADEORDERID", r.WRTRADEORDERID, r.WRTRADEORDERID > 0) sqlId.OrderByDesc("t.WRTRADEORDERID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MySellOrder) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]MySellOrder, 0) sql := "" if r.IsHis { sql = r.buildSql_His() } else { sql = r.buildSql() } err := db.GetEngine().SQL(sql).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // MyDeListing 我的摘牌 type MyDeListing struct { ZSALLPROPERTIES string `json:"-" xorm:"ZSALLPROPERTIES" form:"zsallproperties"` // 商品(查询字段-模糊查询) SELLUSERNAME string `json:"-" xorm:"SELLUSERNAME"` // 卖方 BUYUSERNAME string `json:"-" xorm:"BUYUSERNAME"` // 买方 USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID ZSCATEGORY int32 `json:"zscategory" xorm:"ZSCATEGORY" form:"zscategory"` // 钻石分类 - 枚举”ZSCategory“ ZSCATEGORYDISPLAY string `json:"zscategorydisplay" xorm:"ZSCATEGORYDISPLAY"` // ZSCURRENCYTYPE int32 `json:"zscurrencytype" xorm:"ZSCURRENCYTYPE"` // 货币类型 - 枚举“ZSCurrencyType” GOODSNO string `json:"goodsno" xorm:"GOODSNO"` // 商品编号 WRTRADEDETAILID int64 `json:"wrtradedetailid" xorm:"WRTRADEDETAILID" form:"wrtradedetailid"` // 仓单贸易成交单ID(321+Unix秒时间戳(10位)+xxxxxx) TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd) MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID DELIVERYGOODSID int32 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID WRSTANDARDID int32 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID BUYUSERID int64 `json:"buyuserid" xorm:"BUYUSERID"` // 买方用户ID BUYACCOUNTID int64 `json:"buyaccountid" xorm:"BUYACCOUNTID"` // 买方账号ID SELLUSERID int64 `json:"selluserid" xorm:"SELLUSERID"` // 卖方用户ID SELLACCOUNTID int64 `json:"sellaccountid" xorm:"SELLACCOUNTID"` // 卖方账号ID TRADETIME time.Time `json:"tradetime" xorm:"TRADETIME"` // 成交时间 TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // 成交价格 TRADEQTY int64 `json:"tradeqty" xorm:"TRADEQTY"` // 成交数量 TRADEAMOUNT float64 `json:"tradeamount" xorm:"TRADEAMOUNT"` // 成交金额 PERFORMANCEPLANID int64 `json:"performanceplanid" xorm:"PERFORMANCEPLANID"` // 履约计划ID/合同ID EXCHANGERATE float64 `json:"exchangerate" xorm:"EXCHANGERATE"` // 汇率 BUYCHARGEVALUE float64 `json:"buychargevalue" xorm:"BUYCHARGEVALUE"` // 买方手续费 SELLCHARGEVALUE float64 `json:"sellchargevalue" xorm:"SELLCHARGEVALUE"` // 卖方手续费 ORITRADEAMOUNT float64 `json:"oritradeamount" xorm:"ORITRADEAMOUNT"` // 成交金额[商品币种] MATCHUSERNAME string `json:"matchusername"` // 对手方 BuyOrSell int64 `json:"buyorsell" form:"buyorsell"` // 方向 - 0:全部 1:买 2:卖 BeginDate string `json:"-" form:"begindate"` // 开始交易日 EndDate string `json:"-" form:"enddate"` // 结束交易日 PageEx `xorm:"extends"` // 页码信息 } func (r *MyDeListing) calc() { // 设置对手方 if r.USERID == r.BUYUSERID { r.MATCHUSERNAME = r.SELLUSERNAME r.BuyOrSell = 1 } else if r.USERID == r.SELLUSERID { r.MATCHUSERNAME = r.BUYUSERNAME r.BuyOrSell = 2 } } func (r *MyDeListing) buildSql() string { var sqlId utils.SQLVal = ` SELECT ua1.accountname BUYUSERNAME, q.SELLUSERNAME, q.USERID, q.ZSCATEGORY, q.ZSCATEGORYDISPLAY, q.ZSCURRENCYTYPE, q.GOODSNO, t.* FROM WRTrade_TradeQuote t INNER JOIN View_GZ_WRStandard_Ex_Query q ON t.wrstandardid = q.wrstandardid LEFT JOIN UserAccount ua1 ON t.BuyUserID = ua1.userid WHERE t.marketid=67201 ` sqlId.AndEx("q.ZSCATEGORY", r.ZSCATEGORY, r.ZSCATEGORY > 0) sqlId.AndLike("q.ZSALLPROPERTIES", r.ZSALLPROPERTIES) sqlId.AndEx("t.WRTRADEDETAILID", r.WRTRADEDETAILID, r.WRTRADEDETAILID > 0) switch r.BuyOrSell { case 0: // 全部 sqlId.JoinFormat(" AND (t.BUYUSERID=%v OR t.SELLUSERID=%v)", r.USERID, r.USERID) case 1: // 买 sqlId.And("t.BUYUSERID", r.USERID) case 2: // 卖 sqlId.And("t.SELLUSERID", r.USERID) } if r.BeginDate != "" && r.EndDate != "" { sqlId.JoinFormat(" AND (t.TRADEDATE >= '%v' AND t.TRADEDATE <= '%v')", r.BeginDate, r.EndDate) } sqlId.OrderByDesc("t.WRTRADEDETAILID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MyDeListing) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]MyDeListing, 0) err := db.GetEngine().SQL(r.buildSql()).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // MyBargainApply 我的询价-求购 type MyBargainApply struct { WRBARGAINID int64 `json:"wrbargainid" xorm:"WRBARGAINID"` // [询价单号]议价申请单ID(327+Unix秒时间戳(10位)+xxxxxx) WRTRADEORDERID int64 `json:"wrtradeorderid" xorm:"WRTRADEORDERID"` // 关联委托单ID TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd) MARKETID int64 `json:"marketid" xorm:"MARKETID"` // 市场ID USERID int64 `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 摘牌人用户ID ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 摘牌资金账号 BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 买卖 - 0:买 1:卖 APPLYQTY int64 `json:"applyqty" xorm:"APPLYQTY"` // 摘牌数量 APPLYPRICE string `json:"applyprice" xorm:"APPLYPRICE"` // 申请价格 APPLYSTATUS int32 `json:"applystatus" xorm:"APPLYSTATUS" form:"applystatus"` // 申请状态 - 1:待确认 2:已确认 3:已拒绝 4:已撤销 5:系统撤销 6:处理失败 7:确认中 HANDLESTATUS int32 `json:"handlestatus" xorm:"HANDLESTATUS"` // 处理状态 APPLYTIME time.Time `json:"applytime" xorm:"APPLYTIME"` // 申请时间 APPLYREMARK string `json:"applyremark" xorm:"APPLYREMARK"` // 申请备注 CONFIRMQTY int64 `json:"confirmqty" xorm:"CONFIRMQTY"` // 可接受数量(拒绝时填写)-作废 CONFIRMPRICE float64 `json:"confirmprice" xorm:"CONFIRMPRICE"` // 可接受价格(拒绝时填写)-作废 CONFIRMUSERID int64 `json:"confirmuserid" xorm:"CONFIRMUSERID"` // 确认人 CONFIRMTIME time.Time `json:"confirmtime" xorm:"CONFIRMTIME"` // 确认时间 CONFIRMREMARK string `json:"confirmremark" xorm:"CONFIRMREMARK"` // 确认备注 REFPRICE string `json:"refprice" xorm:"REFPRICE"` // 参考价格 RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 委托返回代码 MATCHUSERID int64 `json:"matchuserid" xorm:"MATCHUSERID"` // 挂牌方用户ID MATCHACCOUNTID int64 `json:"matchaccountid" xorm:"MATCHACCOUNTID"` // 挂牌方资金账号 LADINGBILLID int64 `json:"ladingbillid" xorm:"LADINGBILLID"` // 摘牌方提单ID [卖] SUBNUM int32 `json:"subnum" xorm:"SUBNUM"` // 摘牌方提单子单号 [卖] SELLUSERNAME string `json:"sellusername" xorm:"SELLUSERNAME"` // 卖方 PageEx `xorm:"extends"` // 页码信息 } func (r *MyBargainApply) calc() { } func (r *MyBargainApply) buildSql() string { var sqlId utils.SQLVal = ` SELECT ua.accountname SELLUSERNAME, t.*, FROM WRTrade_BargainApply t LEFT JOIN UserAccount ua ON t.MATCHUSERID = ua.userid WHERE t.marketid=67201 ` sqlId.And("t.USERID", r.USERID) sqlId.AndEx("t.APPLYSTATUS", r.APPLYSTATUS, r.APPLYSTATUS > 0) sqlId.OrderByDesc("t.WRBARGAINID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MyBargainApply) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]MyBargainApply, 0) err := db.GetEngine().SQL(r.buildSql()).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total } // MyDelistingApply 我的询价-出售 type MyDelistingApply struct { SELLDELISTINGAPPLYID int64 `json:"selldelistingapplyid" xorm:"SELLDELISTINGAPPLYID"` // [询价单号]卖摘牌申请ID(916+Unix秒时间戳(10位)+xxxxxx) BUYWRTRADEORDERID int64 `json:"buywrtradeorderid" xorm:"BUYWRTRADEORDERID"` // 买委托单ID BUYUSERID int64 `json:"buyuserid" xorm:"BUYUSERID"` // 买方用户ID SELLUSERID int64 `json:"selluserid" xorm:"SELLUSERID" form:"userid" binding:"required"` // 卖方用户ID SELLACCOUNTID int64 `json:"sellaccountid" xorm:"SELLACCOUNTID"` // 卖方账户ID WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID APPLYQTY float64 `json:"applyqty" xorm:"APPLYQTY"` // 申请数量 APPLYPRICE float64 `json:"applyprice" xorm:"APPLYPRICE"` // 申请价格 APPLYSTATUS int32 `json:"applystatus" xorm:"APPLYSTATUS" form:"applystatus"` // 申请状态 - 1:待确认 2:已确认 3:已拒绝 4:已撤销 5:系统撤销 6:处理失败 7:确认中 APPLYREMARK string `json:"applyremark" xorm:"APPLYREMARK"` // 申请备注 APPLYTIME time.Time `json:"applytime" xorm:"APPLYTIME"` // 申请时间 AUDITREMARK string `json:"auditremark" xorm:"AUDITREMARK"` // 确认备注 SELLTRADEORDERID int64 `json:"selltradeorderid" xorm:"SELLTRADEORDERID"` // 卖方委托ID(买方确认成交后更新) AUDITTIME time.Time `json:"audittime" xorm:"AUDITTIME"` // 确认时间 LADINGBILLID int64 `json:"ladingbillid" xorm:"LADINGBILLID"` // 卖方提单ID SUBNUM int32 `json:"subnum" xorm:"SUBNUM"` // 卖方提单子单号 MARKETID int32 `json:"marketid" xorm:"MARKETID"` // 市场ID BUYUSERNAME string `json:"buyusername" xorm:"BUYUSERNAME"` // 买方 PageEx `xorm:"extends"` // 页码信息 } func (r *MyDelistingApply) calc() { } func (r *MyDelistingApply) buildSql() string { var sqlId utils.SQLVal = ` SELECT ua.accountname BUYUSERNAME, t.*, FROM GZ_SellDelistingApply t LEFT JOIN UserAccount ua ON t.BUYUSERID = ua.userid WHERE t.marketid=67201 ` sqlId.And("t.SELLUSERID", r.SELLUSERID) sqlId.AndEx("t.APPLYSTATUS", r.APPLYSTATUS, r.APPLYSTATUS > 0) sqlId.OrderByDesc("t.SELLDELISTINGAPPLYID") sqlId.Page(r.Page, r.PageSize) return sqlId.String() } func (r *MyDelistingApply) GetDataByPage() (interface{}, error, int, int, int) { sData := make([]MyDelistingApply, 0) err := db.GetEngine().SQL(r.buildSql()).Find(&sData) total := 0 for i := range sData { sData[i].calc() total = sData[i].Total } return sData, err, r.Page, r.PageSize, total }