Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
admin-backend
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
admin-backend
Commits
66865b3f
Commit
66865b3f
authored
May 14, 2024
by
brent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify client interface
parent
6282daf5
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
139 additions
and
50 deletions
+139
-50
client.go
controllers/client.go
+33
-13
explorer.go
controllers/explorer.go
+23
-8
task.go
controllers/task.go
+82
-29
client.go
models/client.go
+1
-0
No files found.
controllers/client.go
View file @
66865b3f
...
...
@@ -2,7 +2,7 @@ package controllers
import
(
"ai_developer_admin/libs/ipgeo"
"ai_developer_admin/libs/
odysseus
"
"ai_developer_admin/libs/
mysql
"
"ai_developer_admin/libs/postgres"
"ai_developer_admin/libs/registry"
"ai_developer_admin/models"
...
...
@@ -12,7 +12,6 @@ import (
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
beego
"github.com/beego/beego/v2/server/web"
"github.com/odysseus/cache/model"
"io"
"math/big"
"net/http"
...
...
@@ -442,6 +441,7 @@ func (server *ClientController) TaskReward() {
// 遍历对象数组,按照日期进行分组
var
dates
[]
string
dateString
:=
""
ids
:=
""
for
_
,
item
:=
range
data
{
// 将日期转换为当天的 0 点
date
:=
time
.
Date
(
item
.
Time
.
Year
(),
item
.
Time
.
Month
(),
item
.
Time
.
Day
(),
0
,
0
,
0
,
0
,
time
.
UTC
)
...
...
@@ -456,15 +456,8 @@ func (server *ClientController) TaskReward() {
baseModel
:=
""
typeDe
:=
0
taskId
:=
item
.
Type
var
taskType
*
model
.
TaskType
if
err
==
nil
{
taskType
,
_
=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
taskType
!=
nil
{
baseModel
=
taskType
.
BaseModel
typeDe
=
taskType
.
Type
}
}
ids
=
ids
+
"'"
+
strconv
.
Itoa
(
taskId
)
+
"'"
+
","
reTask
:=
&
models
.
Revenues
{
Id
:
item
.
Id
,
Type
:
models
.
ModelType
(
typeDe
)
.
String
(),
...
...
@@ -472,6 +465,7 @@ func (server *ClientController) TaskReward() {
BaseModel
:
baseModel
,
Workload
:
item
.
Workload
,
ProfitAcc
:
item
.
ProfitAcc
,
TaskId
:
taskId
,
}
responseTasks
=
append
(
responseTasks
,
reTask
)
groupedItems
[
key
]
=
append
(
groupedItems
[
key
],
reTask
)
...
...
@@ -479,6 +473,18 @@ func (server *ClientController) TaskReward() {
if
len
(
dates
)
>
0
{
dateString
=
dateString
[
:
len
(
dateString
)
-
1
]
}
if
len
(
ids
)
>
2
{
ids
=
ids
[
:
len
(
ids
)
-
1
]
}
queryTaskQB
,
_
:=
orm
.
NewQueryBuilder
(
"mysql"
)
queryTaskQB
.
Select
(
"task_type.id"
,
"task_type.base_model"
,
"task_type.type"
)
.
From
(
"task_type"
)
.
Where
(
fmt
.
Sprintf
(
"id in(%s)"
,
ids
))
var
types
[]
*
models
.
Model
sql
=
queryTaskQB
.
String
()
mysql
.
GetMysqlInstace
()
.
Ormer
.
Raw
(
sql
)
.
QueryRows
(
&
types
)
//wei, err := getWeiPerWorkload(dates)
//wei := []models.WeiPerWorkloadStruct{
...
...
@@ -496,6 +502,12 @@ func (server *ClientController) TaskReward() {
key
:=
value
.
Time
.
Format
(
format
)
bills
:=
groupedItems
[
key
]
for
_
,
item
:=
range
bills
{
for
_
,
task
:=
range
types
{
if
task
.
Id
==
item
.
TaskId
{
item
.
Type
=
models
.
ModelType
(
task
.
Type
)
.
String
()
item
.
BaseModel
=
task
.
BaseModel
}
}
workload
:=
big
.
NewInt
(
item
.
Workload
)
weiPerWorkload
,
_
:=
strconv
.
Atoi
(
value
.
Wei
)
weiPerWorkloadBig
:=
big
.
NewInt
(
int64
(
weiPerWorkload
))
...
...
@@ -626,6 +638,7 @@ func (server *ClientController) IncomeRecord() {
// 遍历对象数组,按照日期进行分组
var
dates
[]
string
dateString
:=
""
for
_
,
item
:=
range
revenues
{
// 将日期转换为当天的 0 点
date
:=
time
.
Date
(
item
.
Time
.
Year
(),
item
.
Time
.
Month
(),
item
.
Time
.
Day
(),
0
,
0
,
0
,
0
,
time
.
UTC
)
...
...
@@ -633,6 +646,7 @@ func (server *ClientController) IncomeRecord() {
key
:=
date
.
Format
(
"2006-01-02"
)
if
!
contains
(
dates
,
key
)
{
dates
=
append
(
dates
,
key
)
dateString
=
dateString
+
"'"
+
key
+
"'"
+
","
}
reTask
:=
&
models
.
Revenues
{
...
...
@@ -644,8 +658,11 @@ func (server *ClientController) IncomeRecord() {
responseTasks
=
append
(
responseTasks
,
reTask
)
groupedItems
[
key
]
=
append
(
groupedItems
[
key
],
reTask
)
}
if
len
(
dates
)
>
0
{
dateString
=
dateString
[
:
len
(
dateString
)
-
1
]
}
wei
,
err
:=
getWeiPerWorkload
(
dates
)
//
wei, err := getWeiPerWorkload(dates)
//wei := []models.WeiPerWorkloadStruct{
// {
// Date: "2024-05-08",
...
...
@@ -654,11 +671,14 @@ func (server *ClientController) IncomeRecord() {
// Reward: "10000",
// },
//}
sql
=
fmt
.
Sprintf
(
"SELECT * FROM reward_multiplier WHERE time in(%s) ORDER BY time DESC;"
,
dateString
)
wei
,
err
:=
postgres
.
QueryWei
(
sql
)
for
_
,
value
:=
range
wei
{
bills
:=
groupedItems
[
value
.
Date
]
key
:=
value
.
Time
.
Format
(
format
)
bills
:=
groupedItems
[
key
]
for
_
,
item
:=
range
bills
{
workload
:=
big
.
NewInt
(
item
.
Workload
)
weiPerWorkload
,
_
:=
strconv
.
Atoi
(
value
.
Wei
PerWorkload
)
weiPerWorkload
,
_
:=
strconv
.
Atoi
(
value
.
Wei
)
weiPerWorkloadBig
:=
big
.
NewInt
(
int64
(
weiPerWorkload
))
incomeWei
:=
new
(
big
.
Int
)
.
Mul
(
workload
,
weiPerWorkloadBig
)
income
:=
weiToAGI
(
incomeWei
)
...
...
controllers/explorer.go
View file @
66865b3f
...
...
@@ -2,7 +2,7 @@ package controllers
import
(
"ai_developer_admin/libs/ipgeo"
"ai_developer_admin/libs/
odysseus
"
"ai_developer_admin/libs/
mysql
"
"ai_developer_admin/libs/postgres"
"ai_developer_admin/libs/registry"
"ai_developer_admin/models"
...
...
@@ -11,6 +11,7 @@ import (
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs"
"net/http"
"strconv"
"time"
)
...
...
@@ -191,6 +192,23 @@ func (server *ExplorerController) Tasks() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
ids
:=
""
for
_
,
task
:=
range
data
{
taskId
:=
task
.
Type
ids
=
ids
+
"'"
+
strconv
.
Itoa
(
taskId
)
+
"'"
+
","
}
if
len
(
ids
)
>
2
{
ids
=
ids
[
:
len
(
ids
)
-
1
]
}
queryTaskQB
,
_
:=
orm
.
NewQueryBuilder
(
"mysql"
)
queryTaskQB
.
Select
(
"task_type.id"
,
"task_type.base_model"
,
"task_type.type"
)
.
From
(
"task_type"
)
.
Where
(
fmt
.
Sprintf
(
"id in(%s)"
,
ids
))
var
types
[]
*
models
.
Model
sql
=
queryTaskQB
.
String
()
mysql
.
GetMysqlInstace
()
.
Ormer
.
Raw
(
sql
)
.
QueryRows
(
&
types
)
for
_
,
task
:=
range
data
{
//apiPath := ""
...
...
@@ -199,14 +217,10 @@ func (server *ExplorerController) Tasks() {
//kind := 1
typeDe
:=
1
taskId
:=
task
.
Type
if
err
==
nil
{
taskType
,
_
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
taskType
!=
nil
{
//apiPath = taskType.ApiPath
//model = taskType.Model
baseModel
=
taskType
.
BaseModel
//kind = taskType.Kind
for
_
,
taskType
:=
range
types
{
if
taskType
.
Id
==
taskId
{
typeDe
=
taskType
.
Type
baseModel
=
taskType
.
BaseModel
}
}
...
...
@@ -221,6 +235,7 @@ func (server *ExplorerController) Tasks() {
}
responseTasks
=
append
(
responseTasks
,
reTask
)
}
responseData
:=
struct
{
Total
int64
`json:"total"`
Data
interface
{}
`json:"data,omitempty"`
...
...
controllers/task.go
View file @
66865b3f
...
...
@@ -122,6 +122,55 @@ func (server *TaskController) Bills() {
server
.
respond
(
http
.
StatusOK
,
""
,
responseData
)
}
func
queryTaskTypeByBills
(
data
[]
models
.
Bills
)
[]
*
models
.
TaskType
{
ids
:=
""
for
_
,
task
:=
range
data
{
taskId
:=
task
.
Type
ids
=
ids
+
"'"
+
strconv
.
Itoa
(
taskId
)
+
"'"
+
","
}
if
len
(
ids
)
>
2
{
ids
=
ids
[
:
len
(
ids
)
-
1
]
}
queryTaskQB
,
_
:=
orm
.
NewQueryBuilder
(
"mysql"
)
queryTaskQB
.
Select
(
"task_type.id"
,
"task_type.base_model"
,
"task_type.type"
,
"task_type.api_path"
,
"task_type.model"
,
"task_type.kind"
)
.
From
(
"task_type"
)
.
Where
(
fmt
.
Sprintf
(
"id in(%s)"
,
ids
))
var
types
[]
*
models
.
TaskType
sql
:=
queryTaskQB
.
String
()
mysql
.
GetMysqlInstace
()
.
Ormer
.
Raw
(
sql
)
.
QueryRows
(
&
types
)
return
types
}
func
queryTaskTypeTaskCount
(
data
[]
models
.
TaskCount
)
[]
*
models
.
TaskType
{
ids
:=
""
for
_
,
task
:=
range
data
{
taskId
:=
task
.
Type
ids
=
ids
+
"'"
+
taskId
+
"'"
+
","
}
if
len
(
ids
)
>
2
{
ids
=
ids
[
:
len
(
ids
)
-
1
]
}
queryTaskQB
,
_
:=
orm
.
NewQueryBuilder
(
"mysql"
)
queryTaskQB
.
Select
(
"task_type.id"
,
"task_type.base_model"
,
"task_type.type"
,
"task_type.api_path"
,
"task_type.model"
,
"task_type.kind"
)
.
From
(
"task_type"
)
.
Where
(
fmt
.
Sprintf
(
"id in(%s)"
,
ids
))
var
types
[]
*
models
.
TaskType
sql
:=
queryTaskQB
.
String
()
mysql
.
GetMysqlInstace
()
.
Ormer
.
Raw
(
sql
)
.
QueryRows
(
&
types
)
return
types
}
func
(
server
*
TaskController
)
BillDetails
()
{
token
,
err
:=
server
.
Check
()
if
err
!=
nil
{
...
...
@@ -213,17 +262,17 @@ func (server *TaskController) BillDetails() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
types
:=
queryTaskTypeByBills
(
data
)
for
_
,
task
:=
range
data
{
apiPath
:=
""
desc
:=
""
typeDesc
:=
""
taskId
:=
task
.
Type
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
for
_
,
taskType
:=
range
types
{
if
taskType
.
Id
==
taskId
{
apiPath
=
taskType
.
ApiPath
typeDesc
=
models
.
ModelType
(
taskType
.
Type
)
.
String
()
//desc = taskType.Desc
}
}
...
...
@@ -236,7 +285,6 @@ func (server *TaskController) BillDetails() {
Time
:
task
.
Time
,
Result
:
task
.
Result
,
ApiPath
:
apiPath
,
Desc
:
desc
,
}
responseTasks
=
append
(
responseTasks
,
reTask
)
}
...
...
@@ -351,6 +399,8 @@ func (server *TaskController) Tasks() {
return
}
types
:=
queryTaskTypeByBills
(
data
)
for
_
,
task
:=
range
data
{
apiPath
:=
""
model
:=
""
...
...
@@ -358,9 +408,8 @@ func (server *TaskController) Tasks() {
kind
:=
1
typeDe
:=
1
taskId
:=
task
.
Type
if
err
==
nil
{
taskType
,
_
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
taskType
!=
nil
{
for
_
,
taskType
:=
range
types
{
if
taskType
.
Id
==
taskId
{
apiPath
=
taskType
.
ApiPath
model
=
taskType
.
Model
baseModel
=
taskType
.
BaseModel
...
...
@@ -602,15 +651,15 @@ func (server *TaskController) UserTasks() {
return
}
types
:=
queryTaskTypeByBills
(
tasks
)
for
_
,
task
:=
range
tasks
{
apiPath
:=
""
desc
:=
""
taskId
:=
task
.
Type
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
for
_
,
taskType
:=
range
types
{
if
taskType
.
Id
==
taskId
{
apiPath
=
taskType
.
ApiPath
//desc = taskType.Desc
}
}
...
...
@@ -879,13 +928,13 @@ func (server *TaskController) UserTaskTypePerDay() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
types
:=
queryTaskTypeTaskCount
(
counts
)
var
responseTasks
[]
models
.
TaskCount
for
_
,
task
:=
range
counts
{
apiPath
:=
""
taskId
,
err
:=
strconv
.
Atoi
(
task
.
Type
)
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
taskId
,
_
:=
strconv
.
Atoi
(
task
.
Type
)
for
_
,
taskType
:=
range
types
{
if
taskId
==
taskType
.
Id
{
apiPath
=
taskType
.
ApiPath
}
}
...
...
@@ -1000,13 +1049,14 @@ func (server *TaskController) UserTaskTypePercentage() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
types
:=
queryTaskTypeTaskCount
(
counts
)
var
responseTasks
[]
models
.
TaskCount
for
_
,
task
:=
range
counts
{
apiPath
:=
""
taskId
,
err
:=
strconv
.
Atoi
(
task
.
Type
)
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
taskId
,
_
:=
strconv
.
Atoi
(
task
.
Type
)
for
_
,
taskType
:=
range
types
{
if
taskId
==
taskType
.
Id
{
apiPath
=
taskType
.
ApiPath
}
}
...
...
@@ -1267,13 +1317,15 @@ func (server *TaskController) UserTaskTypeFeePerDay() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
types
:=
queryTaskTypeTaskCount
(
counts
)
var
responseTasks
[]
models
.
TaskCount
for
_
,
task
:=
range
counts
{
apiPath
:=
""
taskId
,
err
:=
strconv
.
Atoi
(
task
.
Type
)
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
taskId
,
_
:=
strconv
.
Atoi
(
task
.
Type
)
for
_
,
taskType
:=
range
types
{
if
taskId
==
taskType
.
Id
{
apiPath
=
taskType
.
ApiPath
}
}
...
...
@@ -1371,13 +1423,14 @@ func (server *TaskController) UserTaskTypeFeePercentage() {
server
.
respond
(
models
.
BusinessFailed
,
err
.
Error
())
return
}
types
:=
queryTaskTypeTaskCount
(
counts
)
var
responseTasks
[]
models
.
TaskCount
for
_
,
task
:=
range
counts
{
apiPath
:=
""
taskId
,
err
:=
strconv
.
Atoi
(
task
.
Type
)
if
err
==
nil
{
taskType
,
err1
:=
odysseus
.
GetTaskType
(
int64
(
taskId
))
if
err1
==
nil
{
taskId
,
_
:=
strconv
.
Atoi
(
task
.
Type
)
for
_
,
taskType
:=
range
types
{
if
taskId
==
taskType
.
Id
{
apiPath
=
taskType
.
ApiPath
}
}
...
...
models/client.go
View file @
66865b3f
...
...
@@ -14,6 +14,7 @@ type Revenues struct {
WorkerAcc
string
`json:"worker_acc,omitempty";orm:"column(worker_acc)"`
Workload
int64
`json:"workload,omitempty";orm:"column(workload)"`
Income
*
big
.
Float
`json:"income,omitempty";orm:"column(income)"`
TaskId
int
`json:"task_type_id,omitempty"`
}
type
WeiStruct
struct
{
...
...
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