package service

import (
	neService "be.ems/src/modules/ne/service"
	neDataService "be.ems/src/modules/ne_data/service"
)

// 实例化服务层 CDR 结构体
var NewCBS = &CBS{
	neInfoService:     neService.NewNeInfo,
	cbcMessageService: neDataService.NewCBCMessage,
}

// CDR 消息处理
type CBS struct {
	neInfoService     *neService.NeInfo
	cbcMessageService *neDataService.CBCMessage // CDR会话事件服务
}

type CBSEventData struct {
	EventName string `json:"eventName"` // 事件名称
	MessageId int64  `json:"messageId"` // 消息ID
	Detail    string `json:"detail"`    // 详情
}

// Resolve 接收处理
func (s *CBS) Resolve(c CBSEventData) error {
	return s.cbcMessageService.UpdateDetail(c.EventName, c.Detail)
}
