bank.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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) string {
  85. engine := db.GetEngine()
  86. // 尝试 ChillPay
  87. var rec Chillpayamtinrec
  88. has, _ := engine.Where("accountid = ? and exch_seq = ? and deal_status = 2", accountId, exchticket).Get(&rec)
  89. if has {
  90. return rec.PAYMENTURL
  91. }
  92. // 尝试 PayerMax
  93. var rec1 Payermaxamtinrec
  94. has, _ = engine.Where("accountid = ? and exch_seq = ? and deal_status = 2", accountId, exchticket).Get(&rec1)
  95. if has {
  96. return rec1.REDIRECTURL
  97. }
  98. return ""
  99. }
  100. func GetCusBankInfos() ([]Bankcusbankinfo, error) {
  101. engine := db.GetEngine()
  102. infos := make([]Bankcusbankinfo, 0)
  103. if err := engine.Find(&infos); err != nil {
  104. return nil, err
  105. }
  106. return infos, nil
  107. }