| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package devices
- import (
- "encoding/json"
- "fmt"
- "server/dao"
- "server/global"
- "server/model/devices"
- "server/utils/protocol"
- )
- type VoiceService struct {
- }
- func (vs *VoiceService) CreateVoice(info devices.VoiceReq) error {
- result := devices.VoiceJSON{
- Audionumset0: devices.SetVoice{
- Num0: info.Voice.Num0,
- Num1: info.Voice.Num1,
- Num2: info.Voice.Num2,
- Num3: info.Voice.Num3,
- Num4: info.Voice.Num4,
- },
- }
- // 序列化为 JSON 字符串
- jsonBytes, err := json.MarshalIndent(result, "", " ")
- if err != nil {
- return fmt.Errorf("转换失败: %v", err)
- }
- err = MqttService.Publish(MqttService.GetTopic(info.DeviceSn, protocol.TopicChanStatus), jsonBytes)
- if err != nil {
- return fmt.Errorf("error updating: %v", err)
- }
- err = global.GVA_DB.Create(&info.Voice).Error
- if err != nil {
- return err
- }
- err = global.GVA_DB.Model(dao.Screens{}).Where("sn = ?", info.DeviceSn).Update("program_id", info.Voice.ID).Error
- if err != nil {
- return err
- }
- return err
- }
- func (vs *VoiceService) UpdateVoice(info devices.VoiceReq) error {
- result := devices.VoiceJSON{
- Audionumset0: devices.SetVoice{
- Num0: info.Voice.Num0,
- Num1: info.Voice.Num1,
- Num2: info.Voice.Num2,
- Num3: info.Voice.Num3,
- Num4: info.Voice.Num4,
- },
- }
- // 序列化为 JSON 字符串
- jsonBytes, err := json.MarshalIndent(result, "", " ")
- if err != nil {
- return fmt.Errorf("转换失败: %v", err)
- }
- err = MqttService.Publish(MqttService.GetTopic(info.DeviceSn, protocol.TopicChanStatus), jsonBytes)
- if err != nil {
- return fmt.Errorf("error updating: %v", err)
- }
- return global.GVA_DB.Save(&info).Error
- }
|