package service import ( "dy-admin/internal/pcmserver/bus/cabinet_pkg" "dy-admin/internal/pcmserver/bus/model" "dy-admin/internal/pcmserver/common" "dy-admin/internal/pcmserver/global" "dy-admin/internal/pcmserver/pkg/code" "dy-admin/pkg/rescode" "encoding/json" ) type BusConfigService struct { } func (s *BusConfigService) GetBusConfig() (config *model.CabinetConfig, err error) { var busConfig model.BusConfig if err = global.DB.Model(&model.BusConfig{}).First(&busConfig).Error; err != nil { return config, rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode]) } config = new(model.CabinetConfig) err = json.Unmarshal([]byte(busConfig.Config), config) if err != nil { return config, rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDecodingFailedCode]) } return } func (s *BusConfigService) UpdateConfig(cabinetConfig *model.CabinetConfig) (err error) { config, err := json.Marshal(cabinetConfig) if err != nil { return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrEncodingFailedCode]) } busConfig := &model.BusConfig{ Model: common.Model{ID: cabinetConfig.ID}, Config: string(config), } err = global.DB.Updates(busConfig).Error if err != nil { return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode]) } cabinet_pkg.SetCabinetMemConfig(cabinetConfig) return nil }