business_conf.go 2.6 KB

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