Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cache
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Odysseus
cache
Commits
06a61d52
Commit
06a61d52
authored
Jan 26, 2024
by
vicotor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update sql
parent
9e4240a0
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
30 deletions
+24
-30
payment.go
cachedata/payment.go
+2
-10
userInfo.go
cachedata/userInfo.go
+2
-2
userLevelAndTaskType.go
cachedata/userLevelAndTaskType.go
+5
-5
user.go
model/user.go
+1
-1
userLevel.go
model/userLevel.go
+1
-1
userLevelTaskType.go
model/userLevelTaskType.go
+13
-11
No files found.
cachedata/payment.go
View file @
06a61d52
...
...
@@ -125,7 +125,7 @@ func (c *CacheData) checkQueryForFreeTimes(uid int64, userLevel *model.UserLevel
taskFreeMax
=
0
)
if
taskAndUserLevel
!=
nil
{
taskFreeMax
=
int
(
taskAndUserLevel
.
FreeCallCount
)
taskFreeMax
=
int
(
taskAndUserLevel
.
FreeCallCount
Day
)
}
var
(
...
...
@@ -198,11 +198,9 @@ func (c *CacheData) checkQueryForFreeTimes(uid int64, userLevel *model.UserLevel
func
(
c
*
CacheData
)
checkQueryForCost
(
uid
int64
,
user
*
UserInfo
,
userLevel
*
model
.
UserLevel
,
task
*
model
.
TaskType
)
(
bool
,
error
)
{
chargeKey
:=
fmt
.
Sprintf
(
"charge-%d:"
,
uid
)
balKey
:=
fmt
.
Sprintf
(
"bal-%d:"
,
uid
)
creditKey
:=
fmt
.
Sprintf
(
"credit-%d:"
,
uid
)
pip
:=
c
.
rdb
.
Pipeline
()
chargeCmd
:=
pip
.
Get
(
c
.
ctx
,
chargeKey
)
balCmd
:=
pip
.
Get
(
c
.
ctx
,
balKey
)
creditCmd
:=
pip
.
Get
(
c
.
ctx
,
creditKey
)
_
,
err
:=
pip
.
Exec
(
c
.
ctx
)
if
err
!=
nil
{
return
false
,
err
...
...
@@ -210,7 +208,7 @@ func (c *CacheData) checkQueryForCost(uid int64, user *UserInfo, userLevel *mode
var
(
charge
=
int64
(
0
)
bal
=
int64
(
0
)
credit
=
int64
(
0
)
credit
=
userLevel
.
CreditQuota
)
if
chargeCmd
.
Err
()
==
nil
{
charge
,
_
=
strconv
.
ParseInt
(
chargeCmd
.
Val
(),
10
,
64
)
...
...
@@ -224,12 +222,6 @@ func (c *CacheData) checkQueryForCost(uid int64, user *UserInfo, userLevel *mode
bal
=
0
}
if
creditCmd
.
Err
()
==
nil
{
credit
,
_
=
strconv
.
ParseInt
(
creditCmd
.
Val
(),
10
,
64
)
}
else
if
creditCmd
.
Err
()
==
goredislib
.
Nil
{
credit
=
0
}
if
(
charge
+
task
.
Price
)
<=
(
bal
+
credit
)
{
return
true
,
nil
}
...
...
cachedata/userInfo.go
View file @
06a61d52
...
...
@@ -190,7 +190,7 @@ func (c *CacheData) UpdateUserCharge(uid int64, value int) error {
func
(
c
*
CacheData
)
SetUserInfo
(
user
*
model
.
User
)
error
{
info
:=
UserInfo
{
Deleted
:
int
(
user
.
Deleted
),
Level
:
int
(
user
.
Level
Id
),
Level
:
int
(
user
.
Level
),
Balance
:
user
.
Balance
,
Charge
:
0
,
}
...
...
@@ -241,7 +241,7 @@ func (c *CacheData) GetUserInfo(uid int64) (*UserInfo, error) {
// get user from db.
if
user
,
err
:=
c
.
userRepo
.
GetById
(
uid
);
err
==
nil
{
info
.
Deleted
=
int
(
user
.
Deleted
)
info
.
Level
=
int
(
user
.
Level
Id
)
info
.
Level
=
int
(
user
.
Level
)
info
.
Balance
=
user
.
Balance
info
.
Charge
=
0
...
...
cachedata/userLevelAndTaskType.go
View file @
06a61d52
...
...
@@ -6,8 +6,8 @@ import (
"strconv"
)
func
(
c
*
CacheData
)
getUserLevelAndTaskTypeFromRedis
(
level
Id
int64
,
taskTypeId
int64
)
(
*
model
.
UserLevelTaskType
,
error
)
{
ulk
:=
"level-task-type:"
+
strconv
.
FormatInt
(
level
Id
,
10
)
+
"-"
+
strconv
.
FormatInt
(
taskTypeId
,
10
)
func
(
c
*
CacheData
)
getUserLevelAndTaskTypeFromRedis
(
level
int64
,
taskTypeId
int64
)
(
*
model
.
UserLevelTaskType
,
error
)
{
ulk
:=
"level-task-type:"
+
strconv
.
FormatInt
(
level
,
10
)
+
"-"
+
strconv
.
FormatInt
(
taskTypeId
,
10
)
if
data
,
err
:=
c
.
rdb
.
Get
(
c
.
ctx
,
ulk
)
.
Result
();
err
==
nil
{
var
userLevelAndTaskType
=
new
(
model
.
UserLevelTaskType
)
if
err
=
json
.
Unmarshal
([]
byte
(
data
),
userLevelAndTaskType
);
err
==
nil
{
...
...
@@ -19,8 +19,8 @@ func (c *CacheData) getUserLevelAndTaskTypeFromRedis(levelId int64, taskTypeId i
}
}
func
(
c
*
CacheData
)
getUserLevelAndTaskTypeFromDb
(
level
Id
int64
,
taskTypeId
int64
)
(
*
model
.
UserLevelTaskType
,
error
)
{
if
userLevelAndTaskType
,
err
:=
c
.
userAndTaskRepo
.
GetByTaskTypeAndUserLevel
Id
(
taskTypeId
,
levelId
);
err
==
nil
{
func
(
c
*
CacheData
)
getUserLevelAndTaskTypeFromDb
(
level
int64
,
taskTypeId
int64
)
(
*
model
.
UserLevelTaskType
,
error
)
{
if
userLevelAndTaskType
,
err
:=
c
.
userAndTaskRepo
.
GetByTaskTypeAndUserLevel
(
taskTypeId
,
level
);
err
==
nil
{
return
userLevelAndTaskType
,
nil
}
else
{
return
nil
,
err
...
...
@@ -28,7 +28,7 @@ func (c *CacheData) getUserLevelAndTaskTypeFromDb(levelId int64, taskTypeId int6
}
func
(
c
*
CacheData
)
setUserLevelAndTaskTypeToRedis
(
d
*
model
.
UserLevelTaskType
)
error
{
ulk
:=
"level-task-type:"
+
strconv
.
FormatInt
(
d
.
UserLevel
Id
,
10
)
+
"-"
+
strconv
.
FormatInt
(
d
.
TaskTypeId
,
10
)
ulk
:=
"level-task-type:"
+
strconv
.
FormatInt
(
d
.
UserLevel
,
10
)
+
"-"
+
strconv
.
FormatInt
(
d
.
TaskTypeId
,
10
)
if
data
,
err
:=
json
.
Marshal
(
d
);
err
==
nil
{
if
err
=
c
.
rdb
.
Set
(
c
.
ctx
,
ulk
,
string
(
data
),
0
)
.
Err
();
err
==
nil
{
return
nil
...
...
model/user.go
View file @
06a61d52
...
...
@@ -17,7 +17,7 @@ type User struct {
RegisterFromDesc
string
`gorm:"column:register_from_desc" db:"register_from_desc" json:"register_from_desc" form:"register_from_desc"`
// 三方账户描述
Username
string
`gorm:"column:username" db:"username" json:"username" form:"username"`
// 开发者平台用户名
Balance
int64
`gorm:"column:balance" db:"balance" json:"balance" form:"balance"`
// 用户账户余额
Level
Id
int64
`gorm:"column:level_id" db:"level_id" json:"level_id" form:"level_id"`
// 信用等级,决定免费调用额度
Level
int64
`gorm:"column:level" db:"level" json:"level" form:"level"`
// 信用等级,决定免费调用额度
CustomId
string
`gorm:"column:custom_id" db:"custom_id" json:"custom_id" form:"custom_id"`
// 自定义kong的id
VerifierId
string
`gorm:"column:verifier_id" db:"verifier_id" json:"verifier_id" form:"verifier_id"`
ProfileImage
string
`gorm:"column:profile_image" db:"profile_image" json:"profile_image" form:"profile_image"`
...
...
model/userLevel.go
View file @
06a61d52
...
...
@@ -9,7 +9,7 @@ type UserLevel struct {
ID
int64
`gorm:"column:id" db:"id" json:"id" form:"id"`
// 信用等级id
Level
int64
`gorm:"column:level" db:"level" json:"level" form:"level"`
// 等级
Desc
string
`gorm:"column:desc" db:"desc" json:"desc" form:"desc"`
// 描述
FreeQuota
int64
`gorm:"column:free_quota" db:"free_quota" json:"free_quota" form:"free_quota"`
// 该等级免费额度
CreditQuota
int64
`gorm:"column:credit_quota" db:"credit_quota" json:"credit_quota" form:"credit_quota"`
// 该等级免费额度
FreeCallCountDay
int64
`gorm:"column:free_call_count_day" db:"free_call_count_day" json:"free_call_count_day" form:"free_call_count_day"`
// 免费调用次数
FreeCallCountMonth
int64
`gorm:"column:free_call_count_month" db:"free_call_count_month" json:"free_call_count_month" form:"free_call_count_month"`
FreeCallCountYear
int64
`gorm:"column:free_call_count_year" db:"free_call_count_year" json:"free_call_count_year" form:"free_call_count_year"`
...
...
model/userLevelTaskType.go
View file @
06a61d52
...
...
@@ -8,10 +8,12 @@ import (
type
UserLevelTaskType
struct
{
ID
int64
`gorm:"column:id" db:"id" json:"id" form:"id"`
FreeCallCount
int64
`gorm:"column:free_call_count" db:"free_call_count" json:"free_call_count" form:"free_call_count"`
UserLevelId
int64
`gorm:"column:user_level_id" db:"user_level_id" json:"user_level_id" form:"user_level_id"`
FreeCallCountDay
int64
`gorm:"column:free_call_count_day" db:"free_call_count_day" json:"free_call_count_day" form:"free_call_count_day"`
FreeCallCountMonth
int64
`gorm:"column:free_call_count_month" db:"free_call_count_month" json:"free_call_count_month" form:"free_call_count_month"`
FreeCallCountYear
int64
`gorm:"column:free_call_count_year" db:"free_call_count_year" json:"free_call_count_year" form:"free_call_count_year"`
FreeCallCountTotal
int64
`gorm:"column:free_call_count_total" db:"free_call_count_total" json:"free_call_count_total" form:"free_call_count_total"`
UserLevel
int64
`gorm:"column:user_level" db:"user_level" json:"user_level" form:"user_level"`
TaskTypeId
int64
`gorm:"column:task_type_id" db:"task_type_id" json:"task_type_id" form:"task_type_id"`
FreeCallCountPeriod
int64
`gorm:"column:free_call_count_period" db:"free_call_count_period" json:"free_call_count_period" form:"free_call_count_period"`
CreatedTime
time
.
Time
`gorm:"column:created_time" db:"created_time" json:"created_time" form:"created_time"`
UpdatedTime
time
.
Time
`gorm:"column:updated_time" db:"updated_time" json:"updated_time" form:"updated_time"`
Deleted
int64
`gorm:"column:deleted" db:"deleted" json:"deleted" form:"deleted"`
...
...
@@ -25,7 +27,7 @@ type UserLevelTaskTypeRepository interface {
Create
(
user
*
UserLevelTaskType
)
error
GetById
(
uid
int64
)
(
*
UserLevelTaskType
,
error
)
GetListByFilter
(
filters
...
interface
{})
[]
*
UserLevelTaskType
GetByTaskTypeAndUserLevel
Id
(
taskType
int64
,
userLevel
int64
)
(
*
UserLevelTaskType
,
error
)
GetByTaskTypeAndUserLevel
(
taskType
int64
,
userLevel
int64
)
(
*
UserLevelTaskType
,
error
)
Update
(
user
*
UserLevelTaskType
)
error
Delete
(
user
*
UserLevelTaskType
)
error
}
...
...
@@ -58,8 +60,8 @@ func (repo *userLevelTaskTypeRepositoryImpl) GetListByFilter(filters ...interfac
return
list
}
func
(
repo
*
userLevelTaskTypeRepositoryImpl
)
GetByTaskTypeAndUserLevel
Id
(
taskType
int64
,
userLevelId
int64
)
(
*
UserLevelTaskType
,
error
)
{
user
:=
UserLevelTaskType
{
TaskTypeId
:
taskType
,
UserLevel
Id
:
userLevelId
}
func
(
repo
*
userLevelTaskTypeRepositoryImpl
)
GetByTaskTypeAndUserLevel
(
taskType
int64
,
userLevel
int64
)
(
*
UserLevelTaskType
,
error
)
{
user
:=
UserLevelTaskType
{
TaskTypeId
:
taskType
,
UserLevel
:
userLevel
}
err
:=
repo
.
o
.
Read
(
&
user
)
if
err
!=
nil
{
return
nil
,
err
...
...
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