Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
apaas-meshproxy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gzga-jzapi
apaas-meshproxy
Commits
decd1aec
Commit
decd1aec
authored
Jun 29, 2020
by
张宇迪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加协程,更新表加锁
parent
3dc9a289
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
6 deletions
+43
-6
src/handler/proxyhandler.go
src/handler/proxyhandler.go
+9
-5
src/model/tables/daliy.go
src/model/tables/daliy.go
+11
-0
src/service/field.go
src/service/field.go
+23
-1
No files found.
src/handler/proxyhandler.go
View file @
decd1aec
...
...
@@ -63,11 +63,13 @@ func Proxy(c *gin.Context) {
res
=
service
.
SensitiveFilter
(
proxyData
,
res
)
}
//计次
err
=
service
.
CallCounts
(
proxyData
)
if
err
!=
nil
{
Return
(
nil
,
err
,
resp
)
return
nil
}
go
service
.
CallCounts
(
proxyData
)
//err = service.CallCounts(proxyData)
//if err != nil {
// Return(nil, err, resp)
// return nil
//}
////个人申请调用计次
//err = service.ApplyCallCounts(proxyData)
//if err != nil {
...
...
@@ -90,6 +92,8 @@ func getProxyURL(proxyData model.ProxyData, req *http.Request) string {
if
rawQuery
==
""
{
if
proxyData
.
Name
==
"时空服务"
{
result
=
realPath
+
"?f=json"
}
else
{
result
=
realPath
}
}
else
{
result
=
realPath
+
"?"
+
rawQuery
...
...
src/model/tables/daliy.go
0 → 100644
View file @
decd1aec
package
tables
type
Service_daliy_count
struct
{
ServiceId
int
`json:"service_id"`
Date
string
`json:"date" `
Count
int
`json:"count" `
}
func
(
*
Service_daliy_count
)
TableName
()
string
{
return
"service_daliy_count"
}
src/service/field.go
View file @
decd1aec
...
...
@@ -184,13 +184,35 @@ func CallCounts(proxyData model.ProxyData) (err error) {
if
err
!=
nil
{
return
}
date
:=
time
.
Now
()
.
Format
(
config
.
LocalDateFormat
)
session
:=
db
.
NewSession
()
session
.
Begin
()
sql1
:=
fmt
.
Sprintf
(
`BEGIN WORK;
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
)
_
,
err
=
db
.
SQL
(
sql1
)
.
Execute
()
_
,
err
=
session
.
SQL
(
sql1
)
.
Execute
()
if
err
!=
nil
{
fmt
.
Println
(
"error******service、service_apply更新失败:"
+
err
.
Error
())
return
}
sql
:=
fmt
.
Sprintf
(
`BEGIN WORK;
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 service_id =%d ,date='%s',count=(service_daliy_count.count+1);
COMMIT WORK;
`
,
proxyData
.
Service_id
,
date
,
1
,
proxyData
.
Service_id
,
date
)
_
,
err
=
session
.
SQL
(
sql
)
.
Execute
()
if
err
!=
nil
{
fmt
.
Println
(
"error******service_daliy_count更新失败:"
+
err
.
Error
())
session
.
Rollback
()
return
}
session
.
Commit
()
//查询service_daliy_count 表有更新没有插入
return
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment