| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- package models
- import (
- "fmt"
- "mtp2_if/db"
- "time"
- )
- // Szdz3goodspickup 商品提货单表
- type Szdz3goodspickup struct {
- Takeorderid string `json:"takeorderid" xorm:"'TAKEORDERID'" binding:"required"` // 提货单号(905+Unix秒时间戳(10位)+xxxxxx)
- Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 账户ID
- Goodsid int64 `json:"goodsid" xorm:"'GOODSID'"` // 商品ID
- Userid int64 `json:"userid" xorm:"'USERID'"` // 用户ID
- Qty float64 `json:"qty" xorm:"'QTY'"` // 提货数量
- Reqtime time.Time `json:"reqtime" xorm:"'REQTIME'"` // 更新时间
- Recivername string `json:"recivername" xorm:"'RECIVERNAME'"` // 提货人姓名
- Cardtypeid int32 `json:"cardtypeid" xorm:"'CARDTYPEID'"` // 提货人证件类型
- Cardnum string `json:"cardnum" xorm:"'CARDNUM'"` // 提货人证件号码
- Phonenum string `json:"phonenum" xorm:"'PHONENUM'"` // 提货人联系方式
- Takemode int32 `json:"takemode" xorm:"'TAKEMODE'"` // 提货方式 - 2:自提 3:配送
- Address string `json:"address" xorm:"'ADDRESS'"` // 提货人详细地址
- Takeremark string `json:"takeremark" xorm:"'TAKEREMARK'"` // 提货备注
- Takeorderstatus int32 `json:"takeorderstatus" xorm:"'TAKEORDERSTATUS'"` // 提货状态 - 1:待发货 2:已发货 3:已收货
- Auditer int32 `json:"auditer" xorm:"'AUDITER'"` // 审核人
- Audittime time.Time `json:"audittime" xorm:"'AUDITTIME'"` // 审核时间
- Checkremark string `json:"checkremark" xorm:"'CHECKREMARK'"` // 审核备注
- Tradedate string `json:"tradedate" xorm:"'TRADEDATE'"` // 交易日(yyyyMMdd)
- Marketid int32 `json:"marketid" xorm:"'MARKETID'"` // 市场ID
- Handlestatus int32 `json:"handlestatus" xorm:"'HANDLESTATUS'"` // 处理状态
- }
- // TableName is SZDZ3_GOODSPICKUP
- func (Szdz3goodspickup) TableName() string {
- return "SZDZ3_GOODSPICKUP"
- }
- // Szdz3convertlog 交易系统转换流水表
- type Szdz3convertlog struct {
- Logid int64 `json:"logid" xorm:"'LOGID'" binding:"required"` // LogID(901+Unix秒时间戳(10位)+2位(MarketServiceID)+xxxx)
- Tradedate string `json:"tradedate" xorm:"'TRADEDATE'"` // 交易日(yyyyMMdd)
- Converttype int32 `json:"converttype" xorm:"'CONVERTTYPE'"` // 转换类型 - 1:金点赞转交易 2:金点拍转交易 3:交易转金点赞 4:交易转金点拍
- Outergoodscode string `json:"outergoodscode" xorm:"'OUTERGOODSCODE'"` // 外部商品代码[JD\PD]
- Innergoodsid int64 `json:"innergoodsid" xorm:"'INNERGOODSID'"` // 内部商品ID
- Outvalue float64 `json:"outvalue" xorm:"'OUTVALUE'"` // 源值
- Invalue float64 `json:"invalue" xorm:"'INVALUE'"` // 目标值
- Outratio int64 `json:"outratio" xorm:"'OUTRATIO'"` // 配置转出比值
- Inratio int64 `json:"inratio" xorm:"'INRATIO'"` // 配置转入比值
- Daymaxvalue float64 `json:"daymaxvalue" xorm:"'DAYMAXVALUE'"` // 配置当日最大转入限制
- Timemaxvalue float64 `json:"timemaxvalue" xorm:"'TIMEMAXVALUE'"` // 配置单次最大转入限制
- Timeminvalue float64 `json:"timeminvalue" xorm:"'TIMEMINVALUE'"` // 配置单次最小数量限制
- Userid int64 `json:"userid" xorm:"'USERID'"` // 用户ID
- Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 资金账户ID
- Createtime time.Time `json:"createtime" xorm:"'CREATETIME'"` // 记账时间
- Handlestatus int32 `json:"handlestatus" xorm:"'HANDLESTATUS'"` // 处理状态
- Clientticket string `json:"clientticket" xorm:"'CLIENTTICKET'"` // 客户端流水号
- Remark string `json:"remark" xorm:"'REMARK'"` // 备注
- Mobile string `json:"mobile" xorm:"'MOBILE'"` // 手机号码(加密存储)
- Sessionid int64 `json:"sessionid" xorm:"'SESSIONID'"` // 会话ID
- Daymaxvalue2 float64 `json:"daymaxvalue2" xorm:"'DAYMAXVALUE2'"` // 配置当日最大转入限制(转入)
- Timemaxvalue2 float64 `json:"timemaxvalue2" xorm:"'TIMEMAXVALUE2'"` // 配置单次最大转入限制(转入)
- Timeminvalue2 float64 `json:"timeminvalue2" xorm:"'TIMEMINVALUE2'"` // 配置单次最小数量限制(转入)
- Pddecimalplace int32 `json:"pddecimalplace" xorm:"'PDDECIMALPLACE'"` // PD小数位
- }
- // TableName is SZDZ3_CONVERTLOG
- func (Szdz3convertlog) TableName() string {
- return "SZDZ3_CONVERTLOG"
- }
- // Szdz3searchwhitelist 搜索白名单表
- type Szdz3searchwhitelist struct {
- Userid int64 `json:"userid" xorm:"'USERID'" binding:"required"` // 用户ID
- Createtime time.Time `json:"createtime" xorm:"'CREATETIME'"` // 创建时间
- Creatorid int64 `json:"creatorid" xorm:"'CREATORID'"` // 创建人
- Modifierid int64 `json:"modifierid" xorm:"'MODIFIERID'"` // 修改人
- Modifytime time.Time `json:"modifytime" xorm:"'MODIFYTIME'"` // 修改时间
- }
- // TableName is SZDZ3_SEARCHWHITELIST
- func (Szdz3searchwhitelist) TableName() string {
- return "SZDZ3_SEARCHWHITELIST"
- }
- // Szdz3convertconfig 交易系统转换设置表
- type Szdz3convertconfig struct {
- Converttype int32 `json:"converttype" xorm:"'CONVERTTYPE'" binding:"required"` // 转换类型 - 1:金点赞转交易 2:金点拍转交易 3:交易转金点赞(不设置) 4:交易转金点拍(不设置) 5:花生米转交易 6:交易转花生米(不设置)
- Outergoodscode string `json:"outergoodscode" xorm:"'OUTERGOODSCODE'" binding:"required"` // 外部商品代码[JD\PD]
- Innergoodsid int64 `json:"innergoodsid" xorm:"'INNERGOODSID'" binding:"required"` // 内部商品ID[交易]
- Outratio int64 `json:"outratio" xorm:"'OUTRATIO'"` // 源值
- Inratio int64 `json:"inratio" xorm:"'INRATIO'"` // 目标值
- Daymaxvalue float64 `json:"daymaxvalue" xorm:"'DAYMAXVALUE'"` // 当日最大转入限制
- Timemaxvalue float64 `json:"timemaxvalue" xorm:"'TIMEMAXVALUE'"` // 单次最大转入限制
- Timeminvalue float64 `json:"timeminvalue" xorm:"'TIMEMINVALUE'"` // 单次最小转入限制
- Createtime time.Time `json:"createtime" xorm:"'CREATETIME'"` // 创建时间
- Creatorid int64 `json:"creatorid" xorm:"'CREATORID'"` // 创建人
- Modifierid int64 `json:"modifierid" xorm:"'MODIFIERID'"` // 修改人
- Modifytime time.Time `json:"modifytime" xorm:"'MODIFYTIME'"` // 修改时间
- Pddecimalplace int32 `json:"pddecimalplace" xorm:"'PDDECIMALPLACE'"` // PD小数位
- Canin int32 `json:"canin" xorm:"'CANIN'"` // 是否可转入 - 0:不可 1:可 [5:花生米转交易]
- Canout int32 `json:"canout" xorm:"'CANOUT'"` // 是否可转出 - 0:不可 1:可 [5:花生米转交易]
- Freezedays int32 `json:"freezedays" xorm:"'FREEZEDAYS'"` // 冻结天数 [5:花生米转交易]
- }
- // TableName is SZDZ3_CONVERTCONFIG
- func (Szdz3convertconfig) TableName() string {
- return "SZDZ3_CONVERTCONFIG"
- }
- // SZDZTradePosition 尚志大宗查买持仓数据库模型
- type SZDZTradePosition struct {
- Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 账号Id
- Goodsid int64 `json:"goodsid" xorm:"'GOODSID'"` // 商品Id
- Positionqty int64 `json:"positionqty" xorm:"'POSITIONQTY'"` // 期初持仓数量
- Holderamount float64 `json:"holderamount" xorm:"'HOLDERAMOUNT'"` // 期初持仓总金额
- Curpositionqty int64 `json:"curpositionqty" xorm:"'CURPOSITIONQTY'"` // 当前持仓总数量
- Curholderamount float64 `json:"curholderamount" xorm:"'CURHOLDERAMOUNT'"` // 当前持仓总金额
- Frozenqty int64 `json:"frozenqty" xorm:"'FROZENQTY'"` // 持仓冻结数量
- Otherfrozenqty int64 `json:"otherfrozenqty" xorm:"'OTHERFROZENQTY'"` // 持仓其他冻结数量(交割冻结)
- Openreqqty int64 `json:"openreqqty" xorm:"'OPENREQQTY'"` // 开仓申请数量
- Opentotalqty int64 `json:"opentotalqty" xorm:"'OPENTOTALQTY'"` // 开仓总数量
- Closetotalqty int64 `json:"closetotalqty" xorm:"'CLOSETOTALQTY'"` // 平仓总数量
- Tnqty int64 `json:"tnqty" xorm:"'TNQTY'"` // T+N冻结总量
- Tnusedqty int64 `json:"tnusedqty" xorm:"'TNUSEDQTY'"` // T+N使用量
- Usedmargin float64 `json:"usedmargin" xorm:"'USEDMARGIN'"` // 占用保证金
- Curtdposition int64 `json:"curtdposition" xorm:"'CURTDPOSITION'"` // 期末今日头寸
- Fretdposition int64 `json:"fretdposition" xorm:"'FRETDPOSITION'"` // 冻结今日头寸
- Goodscode string `json:"goodscode" xorm:"'GOODSCODE'"` // 商品代码(内部)
- Goodsname string `json:"goodsname" xorm:"'GOODSNAME'"` // 商品名称
- Currencyid int64 `json:"currencyid" xorm:"'CURRENCYID'"` // 报价货币ID
- Goodunitid int64 `json:"goodunitid" xorm:"'GOODUNITID'"` // 报价单位ID
- Goodunit string `json:"goodunit" xorm:"'GOODUNIT'"` // 报价单位
- Agreeunit float64 `json:"agreeunit" xorm:"'AGREEUNIT'"` // 合约单位
- Decimalplace int64 `json:"decimalplace" xorm:"'DECIMALPLACE'"` // 报价小数位
- Marketid int32 `json:"marketid" xorm:"'MARKETID'"` // 市场ID
- Trademode int32 `json:"trademode" xorm:"'TRADEMODE'"` // 交易模式
- SZDZ3FreezQTY int64 `json:"szdz3freezqty" xorm:"'SZDZ3FREEZQTY'"` // 尚志大宗转换冻结总数量
- }
- // GetSZDZBuyTradePosition 获取尚志大宗买持仓数据
- // 参数 accountID int 资金账户
- // 返回值 []SZDZTradePosition 尚志大宗买持仓数据
- // 返回值 error 错误
- func GetSZDZBuyTradePosition(accountID int) ([]SZDZTradePosition, error) {
- engine := db.GetEngine()
- // 查询数据, 使用Goods作为主表, TRADEPOSITION无记录时使用SZDZ3_FREEZEPOSITION
- tradePosition := make([]SZDZTradePosition, 0)
- s := engine.Table("GOODS").
- Join("LEFT", "TRADEPOSITION", fmt.Sprintf("TRADEPOSITION.GOODSID = GOODS.GOODSID and TRADEPOSITION.ACCOUNTID = %d", accountID)).
- Join("LEFT", "SZDZ3_FREEZEPOSITION", fmt.Sprintf("SZDZ3_FREEZEPOSITION.GOODSID = GOODS.GOODSID and SZDZ3_FREEZEPOSITION.ACCOUNTID = %d", accountID)).
- Join("LEFT", "MARKET", "GOODS.MARKETID = MARKET.MARKETID").
- Join("LEFT", "ENUMDICITEM", "GOODS.GOODUNITID = ENUMDICITEM.ENUMITEMNAME and ENUMDICITEM.ENUMDICCODE = 'goodsunit'").
- Select(`NVL(TRADEPOSITION.ACCOUNTID, SZDZ3_FREEZEPOSITION.ACCOUNTID) ACCOUNTID,
- NVL(TRADEPOSITION.GOODSID,SZDZ3_FREEZEPOSITION.GOODSID) GOODSID,
- NVL(TRADEPOSITION.BUYPOSITIONQTY, 0) POSITIONQTY,
- NVL(TRADEPOSITION.BUYHOLDERAMOUNT, 0) HOLDERAMOUNT,
- NVL(TRADEPOSITION.BUYCURPOSITIONQTY, 0) CURPOSITIONQTY,
- NVL(TRADEPOSITION.BUYCURHOLDERAMOUNT, 0) CURHOLDERAMOUNT,
- NVL(TRADEPOSITION.BUYFROZENQTY, 0) FROZENQTY,
- NVL(TRADEPOSITION.BUYOTHERFROZENQTY, 0) OTHERFROZENQTY,
- NVL(TRADEPOSITION.BUYOPENREQQTY, 0) OPENREQQTY,
- NVL(TRADEPOSITION.BUYOPENTOTALQTY, 0) OPENTOTALQTY,
- NVL(TRADEPOSITION.BUYCLOSETOTALQTY, 0) CLOSETOTALQTY,
- NVL(TRADEPOSITION.BUYTNQTY, 0) TNQTY,
- NVL(TRADEPOSITION.BUYTNUSEDQTY, 0) TNUSEDQTY,
- NVL(TRADEPOSITION.USEDMARGIN, 0) USEDMARGIN,
- NVL(TRADEPOSITION.BUYCURTDPOSITION, 0) CURTDPOSITION,
- NVL(TRADEPOSITION.BUYFRETDPOSITION, 0) FRETDPOSITION,
- NVL(SZDZ3_FREEZEPOSITION.QTY, 0) SZDZ3FreezQTY,
- GOODS.GOODSCODE, GOODS.GOODSNAME, GOODS.CURRENCYID, GOODS.GOODUNITID, ENUMDICITEM.ENUMDICNAME as GOODUNIT, GOODS.AGREEUNIT, GOODS.DECIMALPLACE, MARKET.MARKETID, MARKET.TRADEMODE`).
- Where(fmt.Sprintf(`TRADEPOSITION.ACCOUNTID = %d and TRADEPOSITION.BUYCURPOSITIONQTY > 0 or SZDZ3_FREEZEPOSITION.QTY > 0`, accountID))
- if err := s.Find(&tradePosition); err != nil {
- // 查询失败
- return tradePosition, err
- }
- return tradePosition, nil
- }
|