91 lines
3.2 KiB
Go
91 lines
3.2 KiB
Go
package service
|
||
|
||
import (
|
||
"context"
|
||
"strconv"
|
||
"time"
|
||
|
||
"go-common/app/admin/ep/melloi/model"
|
||
)
|
||
|
||
//AddWechatSend add wechat send
|
||
func (s *Service) AddWechatSend(c context.Context, cookie, content string) (msgSendRes *model.MsgSendRes, err error) {
|
||
return s.dao.AddWechatSend(c, cookie, content)
|
||
}
|
||
|
||
// AddWechatContent Add Wechat Content
|
||
func AddWechatContent(ptestParam model.DoPtestParam, reportSuID int, jobName string, userService map[string][]string) (content string) {
|
||
var (
|
||
url string
|
||
lay = "2006-01-02 15:04:05"
|
||
ptestDetailURL string
|
||
serviceList = make(map[string][]string)
|
||
serviceDep string
|
||
serviceName string
|
||
)
|
||
if ptestParam.Type == model.PROTOCOL_HTTP || ptestParam.Type == model.PROTOCOL_SCENE {
|
||
ptestDetailURL = "http://melloi.bilibili.co/#/ptest-detail?reportSuId=" + strconv.Itoa(reportSuID)
|
||
}
|
||
if ptestParam.Type == model.PROTOCOL_GRPC {
|
||
ptestDetailURL = "http://melloi.bilibili.co/#/ptest-detail-grpc?reportSuId=" + strconv.Itoa(reportSuID)
|
||
}
|
||
url = ptestParam.URL
|
||
if ptestParam.Type == model.PROTOCOL_SCENE {
|
||
for _, script := range ptestParam.Scripts {
|
||
url = url + "\n" + script.URL
|
||
}
|
||
}
|
||
|
||
// 增加依赖服务列表
|
||
for _, v := range userService {
|
||
for _, service := range v {
|
||
serviceList[service] = nil
|
||
}
|
||
}
|
||
for k := range serviceList {
|
||
serviceDep += "\n" + k
|
||
}
|
||
loadTime := strconv.Itoa(ptestParam.LoadTime) + "s"
|
||
if ptestParam.Upload {
|
||
loadTime = "脚本用户上传,时间1800s以内"
|
||
url = "脚本用户上传,url 未知"
|
||
}
|
||
serviceName = ptestParam.Department + "." + ptestParam.Project + "." + ptestParam.APP
|
||
content = "执行人:" + ptestParam.UserName + "\n压测服务:" + serviceName + "\n" + "压测接口:" + url + "\n开始时间:" + time.Now().Format(lay) + "\n持续时间:" +
|
||
loadTime + "\n压测容器:" + jobName + "\n报告地址:" + ptestDetailURL + "\n压测依赖服务:" + serviceDep
|
||
return
|
||
}
|
||
|
||
// AddWechatDependServiceContent add wechat depend Service Content
|
||
func AddWechatDependServiceContent(ptestParam model.DoPtestParam, userService map[string][]string, reportSuId int, user string) (content string) {
|
||
var (
|
||
url string
|
||
lay = "2006-01-02 15:04:05"
|
||
ptestDetailURL string
|
||
serviceList string
|
||
)
|
||
if ptestParam.Type == model.PROTOCOL_HTTP || ptestParam.Type == model.PROTOCOL_SCENE {
|
||
ptestDetailURL = "http://melloi.bilibili.co/#/ptest-detail?reportSuId=" + strconv.Itoa(reportSuId)
|
||
}
|
||
|
||
if ptestParam.Type == model.PROTOCOL_GRPC {
|
||
ptestDetailURL = "http://melloi.bilibili.co/#/ptest-detail-grpc?reportSuId=" + strconv.Itoa(reportSuId)
|
||
}
|
||
|
||
url = ptestParam.URL
|
||
if ptestParam.Type == model.PROTOCOL_SCENE {
|
||
for _, script := range ptestParam.Scripts {
|
||
url = url + "\n" + script.URL
|
||
}
|
||
}
|
||
|
||
for _, service := range userService[user] {
|
||
serviceList += "\n" + service
|
||
}
|
||
|
||
serviceName := ptestParam.Department + "." + ptestParam.Project + "." + ptestParam.APP
|
||
content = "[Melloi压测依赖提醒] \n 压测服务:" + serviceName + "\n 压测接口:" + ptestParam.URL + "\n 压测时间:" + time.Now().Format(lay) + "\n 压测时长: " +
|
||
strconv.Itoa(ptestParam.LoadTime) + "\n 报告地址:" + ptestDetailURL + "\n 依赖服务:" + serviceList
|
||
return
|
||
}
|