package controllers import ( "encoding/json" "hongze/hongze_robot/cache" "hongze/hongze_robot/models" "hongze/hongze_robot/services" "hongze/hongze_robot/utils" ) //监控信息管理 type AlarmMsgController struct { BaseCommonController } // @Title 监控信息发送接口 // @Description 监控信息发送接口 // @Param request body company.CompanyApplyApproveReq true "type json string" // @Success Ret=200 转发成功 // @router /send [post] func (this *AlarmMsgController) SmsSend() { br := new(models.BaseResponse).Init() var err error defer func() { if err != nil { utils.FileLog.Info("send msg err: %s", err.Error()) } this.Data["json"] = br this.ServeJSON() }() reqBody := this.Ctx.Input.RequestBody utils.FileLog.Info("%s", string(reqBody)) var req *models.AlarmMsgReq err = json.Unmarshal(reqBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.MsgBody == "" { br.Ret = 200 br.Success = true br.Msg = "发送失败,消息内容为空" return } //钉钉 { if utils.RunMode == "release" { go services.SendAlarmMsgByDingTalkRelease(req.ProjectName, req.RunMode, req.MsgBody, req.Level) } else { go services.SendAlarmMsgByDingTalkDebug(req.ProjectName, req.RunMode, req.MsgBody, req.Level) } } //邮箱 { if utils.RunMode == "release" { emailToUser := req.Email if emailToUser == `` { configItem, _ := cache.GetSmsConfigByCache("email") if configItem != nil { emailToUser = configItem.ConfigValue } } if emailToUser != `` { go services.SendAlarmMsgByEmail(req.ProjectName, req.RunMode, req.MsgBody, emailToUser, req.Level) } } } br.Ret = 200 br.Success = true br.Msg = "发送成功" }