123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package controllers
- import (
- "encoding/json"
- "fmt"
- quanshiReq "hongze/hongze_open_api/models/request/quanshi"
- "hongze/hongze_open_api/services/quanshi"
- "hongze/hongze_open_api/services/yb"
- "hongze/hongze_open_api/utils"
- "strconv"
- )
- // QuanShiControllerCommon 报告模块
- type QuanShiControllerCommon struct {
- BaseCommon
- }
- // CallBack
- // @Title 全时回调接口
- // @Description 全时回调接口
- // @router /callback [post]
- func (c *QuanShiControllerCommon) CallBack() {
- //回调中url参数要做签名(get请求中的参数,按照自己的方式签名,避免链接被别人拿去随意请求)
- utils.FileLog.Info(fmt.Sprintf("全时回调参数:%s", string(c.Ctx.Input.RequestBody)))
- //c.OkDetailed("ok", "获取成功")
- activityId, _ := c.GetInt("activity_id")
- timeInt, _ := c.GetInt("time")
- paramStr := fmt.Sprintf(`activity_id=%d&time=%d`, activityId, timeInt)
- signStr := quanshi.GetSign(paramStr)
- ownSign := c.GetString("sign")
- if ownSign != signStr {
- c.FailWithMessage("请求异常")
- return
- }
- var req1 quanshiReq.QsCallBackReq
- err := json.Unmarshal(c.Ctx.Input.RequestBody, &req1)
- if err != nil {
- c.FailWithMessage("参数解析异常")
- return
- }
- switch req1.Method {
- case "report":
- //报告
- var req quanshiReq.QsCallBackReportReq
- err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
- if err != nil {
- c.FailWithMessage("参数解析异常")
- return
- }
- eventId, err := strconv.Atoi(req.Report.EventID)
- if err != nil {
- c.FailWithMessage("会议id异常:" + req.Report.EventID)
- return
- }
- err = yb.SyncUser(eventId)
- case "record":
- //录制
- var req quanshiReq.QsCallBackRecordReq
- err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
- if err != nil {
- c.FailWithMessage("参数解析异常")
- return
- }
- eventId, err := strconv.Atoi(req.Record.EventID)
- if err != nil {
- c.FailWithMessage("会议id异常:" + req.Record.EventID)
- return
- }
- err = yb.SyncVideo(eventId, req.Record.VideoURL)
- default:
- c.OkWithMessage("ok")
- return
- }
- if err != nil {
- c.FailWithMessage("同步数据失败")
- return
- }
- c.Ok()
- }
|