From 73ac0802f84f026e7ec4b3253730732c57cc3279 Mon Sep 17 00:00:00 2001 From: zyd Date: Wed, 1 Jul 2020 18:13:19 +0800 Subject: [PATCH] update --- src/handler/proxyhandler.go | 18 ++++++++++++++++++ src/service/field.go | 35 +++++++++++++++++------------------ 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/handler/proxyhandler.go b/src/handler/proxyhandler.go index f3805d5..23d9689 100644 --- a/src/handler/proxyhandler.go +++ b/src/handler/proxyhandler.go @@ -5,6 +5,7 @@ import ( "compress/gzip" "encoding/json" "errors" + "fmt" "github.com/gin-gonic/gin" "github.com/vulcand/oxy/forward" "github.com/vulcand/oxy/testutils" @@ -14,11 +15,14 @@ import ( "net/http" "strconv" "strings" + "time" ) //var Resp *http.Response func Proxy(c *gin.Context) { + appT := time.Now() + fmt.Println(`开始:`, appT) applyId := c.Param("applyId") if applyId == "" { res := model.WebRes{} @@ -51,19 +55,31 @@ func Proxy(c *gin.Context) { Return(nil, err, resp) return nil } + bT := time.Now() + fmt.Println(`开始获取数据:`, bT) respbody, _ := ioutil.ReadAll(resp.Body) var res interface{} res = respbody + eT := time.Since(bT) + fmt.Println("获取数据: ", eT) //是否需要过滤字段 if proxyData.ResFields != "" { + bT := time.Now() + fmt.Println(`过滤:`, bT) res = service.FiledFilter(proxyData, respbody) + eT := time.Since(bT) + fmt.Println("过滤: ", eT) } //是否需要屏蔽敏感字段 if sensitiveflag == false { res = service.SensitiveFilter(proxyData, res) } //计次 + bgn := time.Now() + fmt.Println(`开始携程:`, bgn) go service.CallCounts(proxyData) + end := time.Since(bgn) + fmt.Println("结束携程: ", end) //err = service.CallCounts(proxyData) //if err != nil { // Return(nil, err, resp) @@ -77,6 +93,8 @@ func Proxy(c *gin.Context) { // return nil //} Return(res, nil, resp) + appeT := time.Since(appT) + fmt.Println("结束: ", appeT) return nil })) c.Request.URL = testutils.ParseURI(getProxyURL(proxyData, c.Request)) diff --git a/src/service/field.go b/src/service/field.go index b08d5c3..37a06b3 100644 --- a/src/service/field.go +++ b/src/service/field.go @@ -75,7 +75,7 @@ func GetExpire() time.Duration { timeNumber := zero fmt.Println("timeNumber:", timeNumber) subMin := now.Sub(zero) - fmt.Println(subMin.Minutes(), "分钟") + //fmt.Println(subMin.Minutes(), "分钟") return subMin } @@ -187,23 +187,21 @@ func CallCounts(proxyData model.ProxyData) (err error) { date := time.Now().Format(config.LocalDateFormat) session := db.NewSession() session.Begin() - sql1 := fmt.Sprintf(`BEGIN WORK; + sql1 := fmt.Sprintf(` LOCK TABLE service IN SHARE ROW EXCLUSIVE MODE; update service set request_count =request_count+1 where id = %d; update service_apply set request_count =request_count+1 where id = %d; - -COMMIT WORK; `, proxyData.Service_id, proxyData.Apply_id) + `, proxyData.Service_id, proxyData.Apply_id) _, err = session.SQL(sql1).Execute() if err != nil { fmt.Println("error******service、service_apply更新失败:" + err.Error()) return } - sql := fmt.Sprintf(`BEGIN WORK; + sql := fmt.Sprintf(` LOCK TABLE service_daliy_count IN SHARE ROW EXCLUSIVE MODE; INSERT INTO service_daliy_count ( service_id,date,count) VALUES (%d,'%s',%d) ON conflict (service_id,date) DO -UPDATE SET count=(service_daliy_count.count+1); -COMMIT WORK; +UPDATE SET count=(service_daliy_count.count+1); `, proxyData.Service_id, date, 1) _, err = session.SQL(sql).Execute() if err != nil { @@ -211,12 +209,11 @@ COMMIT WORK; session.Rollback() return } - sql3 := fmt.Sprintf(`BEGIN WORK; + sql3 := fmt.Sprintf(` LOCK TABLE service_count_person IN SHARE ROW EXCLUSIVE MODE; INSERT INTO service_count_person ( user_id,date,count) VALUES ('%s','%s',%d) ON conflict (user_id,date) DO -UPDATE SET count=(service_count_person.count+1); -COMMIT WORK; +UPDATE SET count=(service_count_person.count+1); `, proxyData.User_id, date, 1) _, err = session.SQL(sql3).Execute() if err != nil { @@ -259,7 +256,8 @@ func FiledFilter(proxyData model.ProxyData, respbody []byte) interface{} { //返回申请字段 func Change(model interface{}, returnData interface{}) interface{} { - switch t := model.(type) { + //switch t := model.(type) { + switch model.(type) { case map[string]interface{}: // TODO 判定值是否相等 for k, v := range returnData.(map[string]interface{}) { @@ -307,13 +305,13 @@ func Change(model interface{}, returnData interface{}) interface{} { break default: // TODO 判断old是否有这个值 - fmt.Println("数组类型 |||||||||||||||||||||||||||||||| old=====new=====>: ", model, returnData) + //fmt.Println("数组类型 |||||||||||||||||||||||||||||||| old=====new=====>: ", model, returnData) } } break default: - fmt.Println("old=====new=====>: ", model, returnData) - fmt.Println("类型是*******>:", t) + //fmt.Println("old=====new=====>: ", model, returnData) + //fmt.Println("类型是*******>:", t) } return returnData } @@ -348,7 +346,8 @@ func SensitiveFilter(proxyData model.ProxyData, res interface{}) interface{} { // 过滤敏感字段 func FilterSensituveField(model interface{}, returnData interface{}) (body interface{}) { - switch t := model.(type) { + //switch t := model.(type) { + switch model.(type) { case map[string]interface{}: // TODO 判定值是否相等 for k, v := range returnData.(map[string]interface{}) { @@ -412,13 +411,13 @@ func FilterSensituveField(model interface{}, returnData interface{}) (body inter break default: // TODO 判断old是否有这个值 - fmt.Println("数组类型 |||||||||||||||||||||||||||||||| old=====new=====>: ", model, returnData) + //fmt.Println("数组类型 |||||||||||||||||||||||||||||||| old=====new=====>: ", model, returnData) } } break default: - fmt.Println("old=====new=====>: ", model, returnData) - fmt.Println("类型是*******>:", t) + //fmt.Println("old=====new=====>: ", model, returnData) + //fmt.Println("类型是*******>:", t) } return returnData } -- 2.26.0