| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- package action
 
- import (
 
- 	"errors"
 
- 	"pbx-api-gin/internal/app/ami/model"
 
- 	"pbx-api-gin/pkg/lfshook"
 
- 	"pbx-api-gin/pkg/utils"
 
- 	"github.com/mitchellh/mapstructure"
 
- )
 
- func ListRoomMeetMe(options map[string]string) (points []*model.MeetMeListRooms, err error) {
 
- 	action := map[string]string{
 
- 		"Action": "MeetmeListRooms",
 
- 	}
 
- 	for key, value := range options {
 
- 		action[key] = value
 
- 	}
 
- 	res, events, err := AminInstance.Send(action)
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	if res["Response"] != "Success" {
 
- 		return nil, errors.New(res["Message"])
 
- 	}
 
- 	for _, event := range events {
 
- 		if event.Data["Event"] == "MeetmeListRooms" {
 
- 			point := &model.MeetMeListRooms{}
 
- 			mapstructure.Decode(event.Data, point)
 
- 			points = append(points, point)
 
- 		}
 
- 	}
 
- 	return points, nil
 
- }
 
- func ListMeetMe(confnum string) (points []*model.MeetmeList, err error) {
 
- 	points = make([]*model.MeetmeList, 0)
 
- 	action := map[string]string{
 
- 		"Action": "MeetmeList",
 
- 	}
 
- 	if confnum != "" {
 
- 		action["Conference"] = confnum
 
- 	}
 
- 	res, events, err := AminInstance.Send(action)
 
- 	if err != nil {
 
- 		return points, err
 
- 	}
 
- 	if res["Response"] != "Success" {
 
- 		return points, errors.New(res["Message"])
 
- 	}
 
- 	lfshook.NewLogger().Tracef("ListMeetMe %+v", events)
 
- 	for _, event := range events {
 
- 		if event.Data["Event"] == "MeetmeList" {
 
- 			point := &model.MeetmeList{}
 
- 			mapstructure.Decode(event.Data, point)
 
- 			points = append(points, point)
 
- 		}
 
- 	}
 
- 	return points, nil
 
- }
 
- // 踢出成员:/etc/scripts/conference.sh kick 会议室号码 numbers
 
- func KickMeetMe(confnum, numbers string) (err error) {
 
- 	lfshook.NewLogger().Infof("kick %s %s", confnum, numbers)
 
- 	_, _, err = utils.ExecCmd("/etc/scripts/conference.sh", "kick", confnum, numbers)
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
- func MuteMeetMe(meetme, usernum string) (res map[string]string, err error) {
 
- 	lfshook.NewLogger().Infof("mute %s %s", meetme, usernum)
 
- 	action := map[string]string{
 
- 		"Action":  "MeetmeMute",
 
- 		"Meetme":  meetme,
 
- 		"Usernum": usernum,
 
- 	}
 
- 	lfshook.NewLogger().Infof("meetme action %+v", action)
 
- 	res, _, err = AminInstance.Send(action)
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	if res["Response"] != "Success" {
 
- 		return nil, errors.New(res["Message"])
 
- 	}
 
- 	return res, nil
 
- }
 
- func UnMuteMeetMe(meetme, usernum string) (res map[string]string, err error) {
 
- 	action := map[string]string{
 
- 		"Action":  "MeetmeUnmute",
 
- 		"Meetme":  meetme,
 
- 		"Usernum": usernum,
 
- 	}
 
- 	res, _, err = AminInstance.Send(action)
 
- 	if err != nil {
 
- 		return nil, err
 
- 	}
 
- 	if res["Response"] != "Success" {
 
- 		return nil, errors.New(res["Message"])
 
- 	}
 
- 	return res, nil
 
- }
 
- // 锁定会议室:/etc/scripts/conference.sh lock  会议室号码
 
- func LockMeetMe(confnum string) (err error) {
 
- 	_, _, err = utils.ExecCmd("/etc/scripts/conference.sh", "lock", confnum)
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
- // 解除锁定会议室:/etc/scripts/conference.sh unlock  会议室号码
 
- func UnLockMeetMe(confnum string) (err error) {
 
- 	_, _, err = utils.ExecCmd("/etc/scripts/conference.sh", "unlock", confnum)
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
- // 结束会议:/etc/scripts/conference.sh endconf  会议室号码
 
- func EndMeetMe(number string) (err error) {
 
- 	_, _, err = utils.ExecCmd("/etc/scripts/conference.sh", "endconf", number)
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
- // 邀请会议:/etc/scripts/conference.sh invite 会议室号码
 
- func IviteMeetMe(conference, number string, dialplan string, myExtension string) (err error) {
 
- 	_, _, err = utils.ExecCmd("/etc/scripts/conference.sh", "invite", conference, number, dialplan, myExtension)
 
- 	if err != nil {
 
- 		return err
 
- 	}
 
- 	return nil
 
- }
 
 
  |