excel-export/cmd/cmd/export.go

63 lines
1.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package cmd
import (
"excel_export/biz/config"
"github.com/spf13/cobra"
"log"
"strconv"
"time"
)
func init() {
exportCmd.Flags().IntP("query", "q", 10000, "单次查询数")
exportCmd.Flags().StringP("system", "s", "", "需要导出的系统")
exportCmd.Flags().StringP("job", "j", "", "需要导出的任务")
exportCmd.Flags().StringP("begin", "b", "", "开始时间2006-01-02 15:04:05")
exportCmd.Flags().StringP("end", "e", "", "结束时间2006-01-02 15:04:05")
rootCmd.AddCommand(exportCmd)
}
var exportCmd = &cobra.Command{
Use: "export",
Short: "导出数据",
SilenceUsage: true,
SilenceErrors: true,
Run: exportRun,
}
func exportRun(cmd *cobra.Command, args []string) {
c := config.DefaultConfig
sName := cmd.Flag("system").Value.String()
sys, err := c.GetSystem(sName)
if err != nil {
CmdError(cmd, "%s", err.Error())
}
jName := cmd.Flag("job").Value.String()
_, err = sys.GetJob(jName)
if err != nil {
CmdError(cmd, "%s", err.Error())
}
log.Printf("执行【%s】【%s】导出\n", sName, jName)
begin := MustFlagsDateTime(cmd, "begin")
end := MustFlagsDateTime(cmd, "end")
query := cmd.Flag("query").Value.String()
batch, err := strconv.Atoi(query)
if err != nil {
CmdError(cmd, "无效的参数:%s", err.Error())
}
b := time.Now()
ee := NewCsv(config.DefaultConfig)
if err := ee.Export(sName, jName, begin, end, batch); err != nil {
CmdError(cmd, "【%s】【%s】导出错误%s", sName, jName, err.Error())
}
log.Println("耗时:" + time.Now().Sub(b).String())
}