123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- package main
- import (
- "flag"
- "go-common/app/service/ep/footman/conf"
- "go-common/app/service/ep/footman/model"
- "go-common/app/service/ep/footman/service"
- "go-common/library/cache/memcache"
- "go-common/library/container/pool"
- "go-common/library/log"
- xhttp "go-common/library/net/http/blademaster"
- "go-common/library/net/netutil/breaker"
- "go-common/library/time"
- )
- func main() {
- var (
- workspaceType string
- reportType string
- workspaceID string
- iteration string
- reportPath string
- isTimeStr string
- startTime string
- endTime string
- importPath string
- importSheetName string
- )
- flag.StringVar(&workspaceType, "t", "", "端类型,android或ios")
- flag.StringVar(&reportType, "r", "", "报表类型")
- flag.StringVar(&workspaceID, "w", "", "项目ID")
- flag.StringVar(&iteration, "i", "", "迭代名称")
- flag.StringVar(&reportPath, "p", "", "报表文件路径")
- flag.StringVar(&isTimeStr, "d", "n", "是否详细时间")
- flag.StringVar(&startTime, "s", "", "开始时间 2018-01-01")
- flag.StringVar(&endTime, "e", "", "结束时间 2019-01-01")
- flag.StringVar(&importPath, "f", "", "导入文件")
- flag.StringVar(&importSheetName, "sn", "", "导入文件sheet name")
- flag.Parse()
- c := &conf.Config{
- Tapd: &conf.Tapd{
- RetryTime: 5,
- WaitTime: time.Duration(100000),
- },
- HTTPClient: &xhttp.ClientConfig{
- App: &xhttp.App{
- Key: "c05dd4e1638a8af0",
- Secret: "7daa7f8c06cd33c5c3067063c746fdcb",
- },
- Dial: time.Duration(2000000000),
- Timeout: time.Duration(10000000000),
- KeepAlive: time.Duration(60000000000),
- Breaker: &breaker.Config{
- Window: time.Duration(10000000000),
- Sleep: time.Duration(2000000000),
- Bucket: 10,
- Ratio: 0.5,
- Request: 100,
- },
- },
- Mail: &conf.Mail{
- Host: "smtp.exmail.qq.com",
- Port: 465,
- Username: "merlin@bilibili.com",
- Password: "",
- NoticeOwner: []string{"fengyifeng@bilibili.com"},
- },
- Memcache: &conf.Memcache{
- Expire: time.Duration(10000000),
- Config: &memcache.Config{
- Name: "merlin",
- Proto: "tcp",
- Addr: "172.22.33.137:11216",
- DialTimeout: time.Duration(1000),
- ReadTimeout: time.Duration(1000),
- WriteTimeout: time.Duration(1000),
- Config: &pool.Config{
- Active: 10,
- IdleTimeout: time.Duration(1000),
- },
- },
- },
- }
- s := service.New(c)
- switch reportType {
- //纯测试时长统计列表区分_ios_android
- case "testtime":
- if err := s.TestTimeReport(workspaceID, workspaceType, iteration, reportPath, model.Test, model.IPS, model.SPS, model.SCPS); err != nil {
- log.Error("Error happened when generating test time reprot:error(%v)", err)
- }
- //待测试时长统计 不区分ios android
- case "waittest":
- if err := s.WaitTimeReport(workspaceID, iteration, reportPath, model.Test, model.IPS, model.SPS, model.SCPS); err != nil {
- log.Error("Error happened when generating wait for test time reprot:error(%v)", err)
- }
- //产品验收时长统计 不区分ios android
- case "experiencetime":
- if err := s.TestTimeReport(workspaceID, workspaceType, iteration, reportPath, model.Experience, model.IPS, model.SPS, model.SCPS); err != nil {
- log.Error("Error happened when generating experience time reprot:error(%v)", err)
- }
- case "delayedstory":
- if err := s.DelayedStoryReport(workspaceID, workspaceType, iteration, reportPath, model.IPS, model.SPS, model.SCPS); err != nil {
- log.Error("Error happened when generating delayed story reprot:error(%v)", err)
- }
- //测试中打回需求统计
- case "testrejected":
- if err := s.RejectedStoryReport(workspaceID, workspaceType, iteration, reportPath, model.Test, model.IPS, model.SPS, model.SCPS); err != nil {
- log.Error("Error happened when generating test rejected story reprot:error(%v)", err)
- }
- //产品验收打回需求统计
- case "experiencerejected":
- if err := s.RejectedStoryReport(workspaceID, workspaceType, iteration, reportPath, model.Experience, model.IPS, model.SPS, model.SCPS); err != nil {
- log.Error("Error happened when generating experience rejected story reprot:error(%v)", err)
- }
- //故事墙
- case "storywall":
- isTime := false
- if isTimeStr == "y" {
- isTime = true
- }
- if err := s.StoryWallReport(workspaceID, workspaceType, iteration, reportPath, isTime, model.IPS, model.SPS, model.SCPS, model.CPS); err != nil {
- log.Error("Error happened when generating story wall reprot:error(%v)", err)
- }
- case "storywallreport":
- if err := s.GenStoryReport(workspaceType, importPath, importSheetName, reportPath, iteration, startTime, endTime); err != nil {
- log.Error("Error happened when generating experience rejected story reprot:error(%v)", err)
- }
- }
- }
|