|
|
@@ -2044,10 +2044,13 @@ type WrMarketTradeConfig struct {
|
|
|
SELLCHARGEALGORITHMVALUE4 float64 `json:"sellchargealgorithmvalue4" xorm:"SELLCHARGEALGORITHMVALUE4" form:"sellchargealgorithmvalue4"` // 回购卖方手续费设置值(会员部分) --77:现货商城
|
|
|
BASISUPRATIO float64 `json:"basisupratio" xorm:"'BASISUPRATIO'"` // 浮动价基差上限比例(仓单贸易)
|
|
|
BASISDOWNRATIO float64 `json:"basisdownratio" xorm:"'BASISDOWNRATIO'"` // 浮动价基差下限比例(仓单贸易)
|
|
|
+ PERFORMANCETEMPIDS string `json:"performancetempids" xorm:"PERFORMANCETEMPIDS"` // 履约计划模板IDs(有仓单)- 根据交货模式, 多个逗号分隔:1:履约 - 履约计划模板2:分步履约 - 履约计划模板3:分步提货 - 履约方式: 立即执行(-1)
|
|
|
+ PERFORMANCETEMPID2S string `json:"performancetempid2s" xorm:"PERFORMANCETEMPID2S"` // 履约计划模板IDs(无仓单) - 根据交货模式, 多个逗号分隔:1:履约 - 履约计划模板2:分步履约 - 履约计划模板3:分步提货 - 履约方式: 立即执行
|
|
|
}
|
|
|
|
|
|
func (r *WrMarketTradeConfig) calc() {
|
|
|
-
|
|
|
+ r.PERFORMANCETEMPIDS = strings.Trim(r.PERFORMANCETEMPIDS, ",")
|
|
|
+ r.PERFORMANCETEMPID2S = strings.Trim(r.PERFORMANCETEMPID2S, ",")
|
|
|
}
|
|
|
|
|
|
func (r *WrMarketTradeConfig) buildSql() string {
|
|
|
@@ -3575,6 +3578,7 @@ type WrPerformanceTemplate struct {
|
|
|
|
|
|
FTTMPTYPE string `json:"-" form:"tmptype"` // 模板类型筛选
|
|
|
INCLUDEPUB int32 `json:"-" form:"includepub"` // 是否包含公共模板
|
|
|
+ MARKETID int32 `json:"-" form:"marketid"` // 市场ID-从市场配置表中指定的模板id查
|
|
|
}
|
|
|
|
|
|
func (r *WrPerformanceTemplate) calc() {
|
|
|
@@ -3604,6 +3608,26 @@ func (r *WrPerformanceTemplate) buildSql() string {
|
|
|
if r.FTTMPTYPE != "" {
|
|
|
sqlId.JoinFormat(" and t.TEMPLATETYPE in(%v)", r.FTTMPTYPE)
|
|
|
}
|
|
|
+ if r.MARKETID > 0 {
|
|
|
+ // 指定了市场, 从市场交易配置表中取履约模板id
|
|
|
+ m := WrMarketTradeConfig{MARKETID: r.MARKETID}
|
|
|
+ if d, err := m.GetDataEx(); err == nil {
|
|
|
+ if v, ok := d.([]WrMarketTradeConfig); ok {
|
|
|
+ a := v[0]
|
|
|
+ var inStr string
|
|
|
+ // 有仓单用 PERFORMANCETEMPIDS, 无仓单用PERFORMANCETEMPID2S,
|
|
|
+ // 这2个只会有一个有值, 所以只需取其中一个有值的即可
|
|
|
+ if len(a.PERFORMANCETEMPIDS) > 0 {
|
|
|
+ inStr = a.PERFORMANCETEMPIDS
|
|
|
+ } else if len(a.PERFORMANCETEMPID2S) > 0 {
|
|
|
+ inStr = a.PERFORMANCETEMPID2S
|
|
|
+ }
|
|
|
+ if len(v) > 0 {
|
|
|
+ sqlId.JoinFormat(" and t.autoid in(%v)", inStr)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
sqlId.Join(" order by t.AUTOID")
|
|
|
return sqlId.String()
|
|
|
}
|