config.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package archive
  2. import (
  3. "context"
  4. "database/sql"
  5. "encoding/json"
  6. "go-common/app/job/main/videoup-report/model/task"
  7. "go-common/library/log"
  8. "go-common/library/xstr"
  9. )
  10. const (
  11. _confSQL = "SELECT value FROM archive_config WHERE state=0 AND name=?"
  12. _confForAuditType = "wait_audit_arctype"
  13. _confForWeightValue = "weight_conf_values"
  14. )
  15. // AuditTypesConf get audit conf
  16. func (d *Dao) AuditTypesConf(c context.Context) (atps map[int16]struct{}, err error) {
  17. row := d.db.QueryRow(c, _confSQL, _confForAuditType)
  18. var (
  19. value string
  20. typeIDs []int64
  21. )
  22. if err = row.Scan(&value); err != nil {
  23. if err == sql.ErrNoRows {
  24. err = nil
  25. } else {
  26. log.Error("row.Scan error(%v)", err)
  27. }
  28. return
  29. }
  30. typeIDs, err = xstr.SplitInts(value)
  31. if err != nil {
  32. log.Error("archive_config value(%s) xstr.SplitInts error(%v)", value, err)
  33. return
  34. }
  35. atps = map[int16]struct{}{}
  36. for _, typeid := range typeIDs {
  37. atps[int16(typeid)] = struct{}{}
  38. }
  39. return
  40. }
  41. //WeightValueConf 权重数值配置
  42. func (d *Dao) WeightValueConf(c context.Context) (wvconf *task.WeightValueConf, err error) {
  43. var value []byte
  44. if err = d.db.QueryRow(c, _confSQL, _confForWeightValue).Scan(&value); err != nil {
  45. if err == sql.ErrNoRows {
  46. err = nil
  47. } else {
  48. log.Error("row.Scan() error(%v)", err)
  49. }
  50. return
  51. }
  52. wvconf = new(task.WeightValueConf)
  53. if err = json.Unmarshal(value, wvconf); err != nil {
  54. log.Error("json.Unmarshal error(%v)", err)
  55. wvconf = nil
  56. return
  57. }
  58. wvconf.Nsum9 = wvconf.Nlv5 * 3
  59. wvconf.Nsum15 = (wvconf.Nlv1 * 2) + wvconf.Nsum9
  60. wvconf.Nsum27 = (wvconf.Nlv2 * 4) + wvconf.Nsum15
  61. wvconf.Nsum45 = (wvconf.Nlv3 * 6) + wvconf.Nsum27
  62. wvconf.Tsum2h = wvconf.Tlv1 * 40
  63. wvconf.Tsum1h = (wvconf.Tlv2 * 20) + wvconf.Tsum2h
  64. wvconf.MinWeight = -(wvconf.Tsum1h + wvconf.Tlv3*10)
  65. return
  66. }