package channel import ( "errors" "spaceofcheng/services/models/channel" "spaceofcheng/services/models/model" "spaceofcheng/services/service" "spaceofcheng/services/utils" ) // ChannelServ 系统处理 type ChannelServ struct { ctx *utils.Context dao *channel.ChannelDAO } // NewChannelServ 初始化 func NewChannelServ(ctx *utils.Context) *ChannelServ { return &ChannelServ{ ctx: ctx, dao: channel.NewChannelDAO(ctx), } } // GetChannelList 获取渠道列表 func (s *ChannelServ) GetChannelList(caseid string, page, pageSize int) (map[string]interface{}, error) { if pageSize == 0 { pageSize = service.PAGENUM } channels, err := s.dao.GetChannels(caseid, page, pageSize) if err != nil { utils.LogError("获取渠道列表失败: " + err.Error()) return nil, errors.New("获取渠道列表失败") } total, err := s.dao.GetChannelsCount(caseid) if err != nil { utils.LogError("获取渠道列表失败: " + err.Error()) return nil, errors.New("获取渠道列表失败") } return map[string]interface{}{ "list": channels, "pageSize": pageSize, "pagenum": total, "page": page, }, nil } // GetChannelById 根据渠道id获取渠道 func (s *ChannelServ) GetChannelById(channelId string) (*model.TaChannel, error) { channel, err := s.dao.GetChannelById(channelId) if err != nil { utils.LogError("获取渠道信息失败: " + err.Error()) return nil, errors.New("获取渠道信息失败") } return channel, nil } // SaveChannel 保存渠道 func (s *ChannelServ) SaveChannel(channel model.TaChannel) (*model.TaChannel, error) { var newChannel *model.TaChannel var err error if channel.ChannelId == "" { newChannel, err = s.dao.AddNewChannel(channel) } else { err = s.dao.UpdateChannel(channel) newChannel = &channel } if err != nil { utils.LogError("保存渠道信息失败: " + err.Error()) return nil, errors.New("保存渠道信息失败") } return newChannel, nil } // DeleteChannel 删除渠道 func (s *ChannelServ) DeleteChannel(caseid string) error { err := s.dao.DeleteChannel(caseid) if err != nil { utils.LogError("删除渠道信息失败: " + err.Error()) return errors.New("删除渠道信息失败") } return err }