diff --git a/src/config/conf.go b/src/config/conf.go index 73ef5dec358d091ac1b338123973bb9bd6ed0a09..851ebe09fd5b65f98eddf9ce784b937f9a66a8fe 100644 --- a/src/config/conf.go +++ b/src/config/conf.go @@ -13,6 +13,7 @@ var ( const CallRecord string = "callRecord" const SvcTag string = "SVC" +const ServiceTag string = "SERVICE" const ApplyTag string = "APPLY" var ProxyConf = struct { diff --git a/src/handler/proxyhandler.go b/src/handler/proxyhandler.go index 81f24609702b0ad7a366776a8865255fb63ce080..d1af467d82c1506d6f9a0093f2052b6fe7aaaf10 100644 --- a/src/handler/proxyhandler.go +++ b/src/handler/proxyhandler.go @@ -55,6 +55,7 @@ func Proxy(c *gin.Context) { res = service.SensitiveFilter(proxyData, res) } //服务调用计次 + //err = service.CallCounts(proxyData) err = service.CallCounts(proxyData) if err != nil { Return(err.Error()) diff --git a/src/service/field.go b/src/service/field.go index f43f4958d5d1378de605700c503e63f5bb01b62b..7da731e4588dfc00a52531c5b5e2234174740d8d 100644 --- a/src/service/field.go +++ b/src/service/field.go @@ -113,6 +113,45 @@ func RecordCall(proxyData model.ProxyData, status int, res []byte) { return } +//服务调用计次 +//func CallCounts(proxyData model.ProxyData) (err error) { +// redis, err := client.GetRedisClient() +// if err != nil { +// fmt.Println(err.Error()) +// return +// } +// date := time.Now().Format(config.LocalDateFormat) +// aMonBefore := time.Now().AddDate(0, -1, 0).Format(config.LocalDateFormat) +// +// str, err := redis.Get(fmt.Sprintf("%s-%d", config.SvcTag, proxyData.Service_id)) +// if err != nil && err.Error() != `redis: nil` { +// return +// } +// +// dateMap := make(map[string]int) +// if str != "" { +// err = json.Unmarshal([]byte(str), &dateMap) +// if err != nil { +// return +// } +// if _, ok := dateMap[date]; ok { +// dateMap[date] = dateMap[date] + 1 +// } else { +// dateMap[date] = 1 +// } +// for k, _ := range dateMap { +// if tools.CompareDate(k, aMonBefore) { +// delete(dateMap, k) +// } +// } +// +// } else { +// dateMap[date] = 1 +// } +// content, err := json.Marshal(dateMap) +// err = redis.Set(fmt.Sprintf("%s-%d", config.SvcTag, proxyData.Service_id), content, -1) +// return +//} //服务调用计次 func CallCounts(proxyData model.ProxyData) (err error) { redis, err := client.GetRedisClient() @@ -120,37 +159,28 @@ func CallCounts(proxyData model.ProxyData) (err error) { fmt.Println(err.Error()) return } - date := time.Now().Format(config.LocalDateFormat) - aMonBefore := time.Now().AddDate(0, -1, 0).Format(config.LocalDateFormat) - - str, err := redis.Get(fmt.Sprintf("%s-%d", config.SvcTag, proxyData.Service_id)) + //date := time.Now().Format(config.LocalDateFormat) + //aMonBefore := time.Now().AddDate(0, -1, 0).Format(config.LocalDateFormat) + str, err := redis.Get(fmt.Sprintf("%s", config.ServiceTag)) if err != nil && err.Error() != `redis: nil` { return } - - dateMap := make(map[string]int) + dateMap := make(map[int]int) if str != "" { err = json.Unmarshal([]byte(str), &dateMap) if err != nil { return } - if _, ok := dateMap[date]; ok { - dateMap[date] = dateMap[date] + 1 + if _, ok := dateMap[proxyData.Service_id]; ok { + dateMap[proxyData.Service_id] = dateMap[proxyData.Service_id] + 1 } else { - dateMap[date] = 1 + dateMap[proxyData.Service_id] = 1 } - for k, _ := range dateMap { - if tools.CompareDate(k, aMonBefore) { - delete(dateMap, k) - } - } - } else { - dateMap[date] = 1 + dateMap[proxyData.Service_id] = 1 } content, err := json.Marshal(dateMap) - //fmt.Sprintf("SVCID-%d",proxyData.Service_id) - err = redis.Set(fmt.Sprintf("%s-%d", config.SvcTag, proxyData.Service_id), content, -1) + err = redis.Set(fmt.Sprintf("%s", config.ServiceTag), content, -1) return } @@ -361,7 +391,7 @@ func GetRealPath(applyId string) (res model.ProxyData, err error) { Join(`inner`, `service_apply`, `service_apply.service_id = service.id`). Join(`left`, `service_request_spcs`, `service_request_spcs.id = service_apply.request_spcs_id`). Join(`left`, `service_safe_config`, `service_apply.service_id = service_safe_config.service_id`). - Where(`service_apply.id=?`, applyId).Get(&res) + Where(`service_apply.uuid=?`, applyId).Get(&res) if !has { err = errors.New(`未找到发布的服务!`) }