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
|
|||
|
}
|