business_conf.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package models
  2. import (
  3. "eta/eta_task/global"
  4. "eta/eta_task/utils"
  5. "fmt"
  6. "html"
  7. "time"
  8. )
  9. var (
  10. BusinessConfMap map[string]string
  11. )
  12. const (
  13. BusinessConfUseXf = "UseXf"
  14. BusinessConfXfAppid = "XfAppid"
  15. BusinessConfXfApiKey = "XfApiKey"
  16. BusinessConfXfApiSecret = "XfApiSecret"
  17. BusinessConfXfVcn = "XfVcn"
  18. BusinessConfEnPptCoverImgs = "EnPptCoverImgs"
  19. BusinessConfEsIndexNameExcel = "EsIndexNameExcel" // ES索引名称-表格
  20. BusinessConfEsIndexNameDataSource = "EsIndexNameDataSource" // ES索引名称-数据源
  21. BusinessConfSyncDataEsDaily = "SyncDataEsDaily" // 每日同步数据源ES开关
  22. )
  23. // BusinessConf 商户配置表
  24. type BusinessConf struct {
  25. Id int `gorm:"column:id;primaryKey;autoIncrement"`
  26. ConfKey string `description:"配置Key"`
  27. ConfVal string `description:"配置值"`
  28. ValType int `description:"1-字符串;2-数值;3-字符串数组;4-富文本;"`
  29. Necessary int `description:"是否必填:0-否;1-是"`
  30. Remark string `description:"备注"`
  31. CreateTime time.Time
  32. }
  33. func (m *BusinessConf) TableName() string {
  34. return "business_conf"
  35. }
  36. // GetBusinessConf 获取商家配置
  37. func GetBusinessConf() (list map[string]string, err error) {
  38. list = make(map[string]string)
  39. var items []*BusinessConf
  40. sql := `SELECT * FROM business_conf`
  41. err = global.DbMap[utils.DbNameMaster].Raw(sql).Find(&items).Error
  42. if err != nil {
  43. return
  44. }
  45. for _, v := range items {
  46. if v.ValType == 4 {
  47. list[v.ConfKey] = html.UnescapeString(v.ConfVal)
  48. continue
  49. }
  50. list[v.ConfKey] = v.ConfVal
  51. }
  52. return
  53. }
  54. func (m *BusinessConf) GetItemByConfKey(key string) (item *BusinessConf, err error) {
  55. o := global.DbMap[utils.DbNameMaster]
  56. sql := fmt.Sprintf(`SELECT * FROM %s WHERE conf_key = ? LIMIT 1`, m.TableName())
  57. err = o.Raw(sql, key).First(&item).Error
  58. return
  59. }
  60. type EdbStopRefreshRule struct {
  61. IsOpen int `description:"是否开启自动禁用1,开启,0未开启"`
  62. BaseIndexStopDays int `description:"数据源间隔天数未加入指标库则停用"`
  63. EdbStopDays int `description:"指标库间隔天数未引用则停用"`
  64. }
  65. func InitBusinessConf() {
  66. var e error
  67. BusinessConfMap, e = GetBusinessConf()
  68. if e != nil {
  69. return
  70. }
  71. // ES索引名称
  72. if BusinessConfMap[BusinessConfEsIndexNameExcel] != "" {
  73. utils.EsExcelIndexName = BusinessConfMap[BusinessConfEsIndexNameExcel]
  74. }
  75. if BusinessConfMap[BusinessConfEsIndexNameDataSource] != "" {
  76. utils.EsDataSourceIndexName = BusinessConfMap[BusinessConfEsIndexNameDataSource]
  77. }
  78. }