bank.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package models
  2. import (
  3. "mtp2_if/db"
  4. "mtp2_if/utils"
  5. )
  6. // Bankcusbankextendconfig 托管银行扩展配置表
  7. type Bankcusbankextendconfig struct {
  8. CUSBANKID string `json:"cusbankid" xorm:"CUSBANKID" form:"cusbankid" binding:"required"` // 托管银行编号
  9. EXTENDBIZTYPE int32 `json:"extendbiztype" xorm:"EXTENDBIZTYPE" form:"extendbiztype"` // 扩展业务类型 - 1:签约 2:入金 3:出金 4:签约信息修改
  10. FIELDID int64 `json:"fieldid" xorm:"FIELDID"` // 字段ID
  11. ISMANDATORY int32 `json:"ismandatory" xorm:"ISMANDATORY"` // 是否必填 - 0:不必填 1:必填
  12. FIELDCODE string `json:"fieldcode" xorm:"FIELDCODE"` // 字段代码
  13. FIELDNAME string `json:"fieldname" xorm:"FIELDNAME"` // 字段名称
  14. STATUS int32 `json:"status" xorm:"STATUS"` // 状态 - 0:正常 1:注销
  15. FIELDTYPE int32 `json:"fieldtype" xorm:"FIELDTYPE"` // 字段类型 - 1:扩展字段 2:协议字段
  16. USABLETYPE int32 `json:"usabletype" xorm:"USABLETYPE"` // 可用类型 - 1:通用 2:机构专用 3:投资者专用
  17. }
  18. func (r *Bankcusbankextendconfig) calc() {}
  19. func (r *Bankcusbankextendconfig) buildSql() string {
  20. var sqlId utils.SQLVal = `
  21. SELECT
  22. t.cusbankid,
  23. t.extendbiztype,
  24. t.fieldid,
  25. t.ismandatory,
  26. e.fieldcode,
  27. e.fieldname,
  28. e.status,
  29. e.fieldtype,
  30. e.usabletype
  31. FROM Bank_Cusbankextendconfig t
  32. LEFT JOIN BANK_EXTENDFIELD e ON
  33. e.fieldid = t.fieldid
  34. WHERE 1=1
  35. `
  36. sqlId.And("t.cusbankid", r.CUSBANKID)
  37. sqlId.AndEx("t.extendbiztype", r.EXTENDBIZTYPE, r.EXTENDBIZTYPE > 0)
  38. sqlId.OrderBy("t.fieldid")
  39. return sqlId.String()
  40. }
  41. // GetDataEx 获取掉期商品订单详情(交易确认书)
  42. func (r *Bankcusbankextendconfig) GetDataEx() (interface{}, error) {
  43. sData := make([]Bankcusbankextendconfig, 0)
  44. err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
  45. for i := range sData {
  46. sData[i].calc()
  47. }
  48. return sData, err
  49. }
  50. // Bankbranchnuminfo 银行支行联行号信息表
  51. type Bankbranchnuminfo struct {
  52. BRANCHNUM string `json:"branchnum" xorm:"BRANCHNUM"` // 支行行号
  53. BRANCHNAME string `json:"branchname" xorm:"BRANCHNAME" form:"branchname" binding:"required"` // 支行名称
  54. BRANCHPROVINCE string `json:"branchprovince" xorm:"BRANCHPROVINCE"` // 省份
  55. BRANCHCITY string `json:"branchcity" xorm:"BRANCHCITY"` // 市县
  56. ISEXPIRED string `json:"isexpired" xorm:"ISEXPIRED"` // 是否过期
  57. PageEx `xorm:"extends"` // 页码信息
  58. }
  59. func (r *Bankbranchnuminfo) calc() {
  60. }
  61. func (r *Bankbranchnuminfo) buildSql() string {
  62. var sqlId utils.SQLVal = `
  63. select t.branchnum,
  64. t.branchname,
  65. t.branchprovince,
  66. t.branchcity
  67. from BANK_BRANCHNUMINFO t
  68. where t.branchname like '%%%v%%'
  69. `
  70. sqlId.FormatParam(r.BRANCHNAME)
  71. sqlId.Page(r.Page, r.PageSize)
  72. return sqlId.String()
  73. }
  74. func (r *Bankbranchnuminfo) GetDataByPage() (interface{}, error, int, int, int) {
  75. sData := make([]Bankbranchnuminfo, 0)
  76. err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
  77. total := 0
  78. for i := range sData {
  79. sData[i].calc()
  80. total = sData[i].Total
  81. }
  82. return sData, err, r.Page, r.PageSize, total
  83. }
  84. func GetAmtInByPaid(accountId int, exchticket string) (*Chillpayamtinrec, error) {
  85. engine := db.GetEngine()
  86. var rec Chillpayamtinrec
  87. has, err := engine.Where("account = ? and exch_seq = ? and deal_status = 2", accountId, exchticket).Get(&rec)
  88. if err != nil {
  89. return nil, err
  90. }
  91. if has {
  92. return &rec, nil
  93. }
  94. return nil, nil
  95. }