From 1b82eee4cdde94aeeb068c68c75088a9b6ea7d4f Mon Sep 17 00:00:00 2001 From: "Mr.Li" Date: Fri, 21 Apr 2023 14:41:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BB=BB=E5=8A=A1=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- biz/config/config.go | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/biz/config/config.go b/biz/config/config.go index 3c320a5..fe345f0 100644 --- a/biz/config/config.go +++ b/biz/config/config.go @@ -56,6 +56,22 @@ func (s System) GetJob(name string) (Job, error) { return Job{}, errors.New("没有找到相关配置:" + name) } +func (j Job) GetFileName(params map[string]interface{}) string { + + m := regexp.MustCompile("({[a-zA-Z0-9]+})") + + name := m.ReplaceAllFunc([]byte(j.File), func(b []byte) []byte { + field := string(b[1 : len(b)-1]) + + if val, ok := params[field]; ok { + return []byte(toString(val, false)) + } + return b + }) + + return string(name) +} + func (t Task) GetSql(params map[string]interface{}) string { sql := t.Sql @@ -65,7 +81,7 @@ func (t Task) GetSql(params map[string]interface{}) string { field := string(b[1 : len(b)-1]) if val, ok := params[field]; ok { - return []byte(t.getParam(val)) + return []byte(toString(val, t.Timestamp)) } return b }) @@ -80,10 +96,10 @@ func (t Task) GetSql(params map[string]interface{}) string { return sql } -func (t Task) getParam(parm interface{}) string { +func toString(parm interface{}, timestamp bool) string { switch p := parm.(type) { case time.Time: - if t.Timestamp { + if timestamp { return strconv.FormatInt(p.Unix(), 10) } else { return p.Format("2006-01-02 15:04:05")