bus_config.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package service
  2. import (
  3. "dy-admin/internal/pcmserver/bus/cabinet_pkg"
  4. "dy-admin/internal/pcmserver/bus/model"
  5. "dy-admin/internal/pcmserver/common"
  6. "dy-admin/internal/pcmserver/global"
  7. "dy-admin/internal/pcmserver/pkg/code"
  8. "dy-admin/pkg/rescode"
  9. "encoding/json"
  10. )
  11. type BusConfigService struct {
  12. }
  13. func (s *BusConfigService) GetBusConfig() (config *model.CabinetConfig, err error) {
  14. var busConfig model.BusConfig
  15. if err = global.DB.Model(&model.BusConfig{}).First(&busConfig).Error; err != nil {
  16. return config, rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
  17. }
  18. config = new(model.CabinetConfig)
  19. err = json.Unmarshal([]byte(busConfig.Config), config)
  20. if err != nil {
  21. return config, rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDecodingFailedCode])
  22. }
  23. return
  24. }
  25. func (s *BusConfigService) UpdateConfig(cabinetConfig *model.CabinetConfig) (err error) {
  26. config, err := json.Marshal(cabinetConfig)
  27. if err != nil {
  28. return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrEncodingFailedCode])
  29. }
  30. busConfig := &model.BusConfig{
  31. Model: common.Model{ID: cabinetConfig.ID},
  32. Config: string(config),
  33. }
  34. err = global.DB.Updates(busConfig).Error
  35. if err != nil {
  36. return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
  37. }
  38. cabinet_pkg.SetCabinetMemConfig(cabinetConfig)
  39. return nil
  40. }