Commit 5b7780ca authored by brent's avatar brent

modify task type

parent 18776250
......@@ -5,6 +5,12 @@ postgreshost = "192.168.1.10"
postgresport = 8812
postgresdb = "qdb"
; postgresuser = "admin"
; postgrespass = "quest"
; postgreshost = "43.198.252.255"
; postgresport = 8812
; postgresdb = "qdb"
[test]
postgresuser = "admin"
postgrespass = "quest"
......
......@@ -103,14 +103,48 @@ func (server *FundsController) RechargeRecords() {
return
}
body := server.Ctx.Input.RequestBody
appRequest := models.AppRequest{}
err = json.Unmarshal(body, &appRequest) //解析body中数据
logs.Debug("appRequest", appRequest, string(body))
if err != nil {
server.respond(models.NoRequestBody, err.Error())
return
}
if appRequest.Page == 0 {
appRequest.Page = 1
}
if appRequest.Size == 0 {
appRequest.Size = 10
}
offset := (appRequest.Page - 1) * appRequest.Size
qs := mysql.GetMysqlInstace().Ormer.QueryTable("charge_record")
infoQs := qs.Filter("user_id", info.UserID)
infoQs := qs.Filter("user_id", info.UserID).Offset(offset).Limit(appRequest.Size)
count, err := infoQs.Count()
logs.Debug("Count = ", count)
var tokens []*models.ChargeRecord
if count > 0 {
infoQs.All(&tokens)
}
server.respond(http.StatusOK, "", tokens)
total, err := qs.Count()
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: tokens,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *FundsController) IncomeAndExpense() {
//info, err := server.Check()
//if err != nil {
// server.respond(http.StatusUnauthorized, err.Error())
// return
//}
}
......@@ -12,6 +12,7 @@ import (
"fmt"
"github.com/beego/beego/v2/core/logs"
"net/http"
"sort"
"strconv"
"time"
)
......@@ -71,6 +72,7 @@ func (server *TaskController) Bills() {
}
offset := (appRequest.Page - 1) * appRequest.Size
size := appRequest.Page * appRequest.Size
if endTimeIn.Before(startTimeIn) {
server.respond(models.BusinessFailed, "起始时间不能大于结束时间")
......@@ -78,14 +80,41 @@ func (server *TaskController) Bills() {
}
startTime := fmt.Sprintf(startTimeIn.Format(format))
endTime := fmt.Sprintf(endTimeIn.Format(format))
sql := fmt.Sprintf("SELECT time,sum(fee) AS fee FROM bills WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1M ALIGN TO CALENDAR ORDER BY time DESC LIMIT %d,%d;", info.UserID, startTime, endTime, offset, appRequest.Size)
counts, err := postgres.CountTasks(sql)
sql := fmt.Sprintf("SELECT count(*) FROM bills WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1M ALIGN TO CALENDAR;", info.UserID, startTime, endTime)
total, err := postgres.QueryTotal(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
logs.Debug("total = %d", total)
var responseTasks []models.Bills
if total == 0 {
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
return
}
server.respond(http.StatusOK, "", counts)
sql = fmt.Sprintf("SELECT time,sum(fee) AS fee FROM bills WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1M ALIGN TO CALENDAR ORDER BY time DESC LIMIT %d,%d;", info.UserID, startTime, endTime, offset, size)
counts, err := postgres.CountTasks(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: counts,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *TaskController) BillDetails() {
......@@ -112,6 +141,7 @@ func (server *TaskController) BillDetails() {
}
offset := (appRequest.Page - 1) * appRequest.Size
size := appRequest.Page * appRequest.Size
timeCondition := ""
startTime := ""
......@@ -123,13 +153,33 @@ func (server *TaskController) BillDetails() {
endTime = fmt.Sprintf(temp.Format(format))
timeCondition = fmt.Sprintf(" and time >= '%s' and time <= '%s'", startTime, endTime)
}
sql := fmt.Sprintf("SELECT id,type,time,fee,result FROM bills WHERE uid='%d'%s ORDER BY time DESC LIMIT %d,%d;", info.UserID, timeCondition, offset, appRequest.Size)
data, err := postgres.QueryBills(sql)
sql := fmt.Sprintf("SELECT count(*) FROM bills WHERE uid='%d'%s;", info.UserID, timeCondition)
total, err := postgres.QueryTotal(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
logs.Debug("total = %d", total)
var responseTasks []models.Bills
if total == 0 {
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
return
}
sql = fmt.Sprintf("SELECT id,type,time,fee,result FROM bills WHERE uid='%d'%s ORDER BY time DESC LIMIT %d,%d;", info.UserID, timeCondition, offset, size)
data, err := postgres.QueryBills(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
for _, task := range data {
apiPath := ""
desc := ""
......@@ -156,7 +206,14 @@ func (server *TaskController) BillDetails() {
}
responseTasks = append(responseTasks, reTask)
}
server.respond(http.StatusOK, "", responseTasks)
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *TaskController) Tasks() {
......@@ -184,6 +241,7 @@ func (server *TaskController) Tasks() {
}
offset := (appRequest.Page - 1) * appRequest.Size
size := appRequest.Page * appRequest.Size
timeCondition := ""
startTime := ""
......@@ -239,13 +297,33 @@ func (server *TaskController) Tasks() {
//temp, err1 := postgres.QueryTset(testSql, appRequest.WorkerAcc, appRequest.ProfitAcc, startTime, endTime)
//logs.Debug("QueryTset = %s", temp, err1.Error())
sql := fmt.Sprintf("SELECT id,type,time,workload,profit_acc,worker_acc,result FROM bills %s ORDER BY time DESC LIMIT %d,%d;", timeCondition, offset, appRequest.Size)
data, err := postgres.QueryBills(sql)
sql := fmt.Sprintf("SELECT count(*) FROM bills %s;", timeCondition)
total, err := postgres.QueryTotal(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
logs.Debug("total = %d", total)
var responseTasks []models.Bills
if total == 0 {
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
return
}
sql = fmt.Sprintf("SELECT id,type,time,workload,profit_acc,worker_acc,result FROM bills %s ORDER BY time DESC LIMIT %d,%d;", timeCondition, offset, size)
data, err := postgres.QueryBills(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
for _, task := range data {
apiPath := ""
desc := ""
......@@ -271,7 +349,14 @@ func (server *TaskController) Tasks() {
}
responseTasks = append(responseTasks, reTask)
}
server.respond(http.StatusOK, "", responseTasks)
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *TaskController) TasksPerDay() {
......@@ -325,7 +410,9 @@ func (server *TaskController) TasksPerDay() {
startTime := fmt.Sprintf(startTimeIn.Format(format))
endTime := fmt.Sprintf(endTimeIn.Format(format))
dates := utils.SplitDate(startTime, endTime, format)
endDateIn := time.Date(endTimeIn.Year(), endTimeIn.Month(), endTimeIn.Day(), 0, 0, 0, 0, endTimeIn.Location())
endDate := fmt.Sprintf(endDateIn.Format(format))
dates := utils.SplitDate(startTime, endDate, format)
sql := fmt.Sprintf("SELECT time,count(*) FROM bills WHERE time >= '%s' and time <= '%s' %s SAMPLE BY 1d ALIGN TO CALENDAR;", startTime, endTime, timeCondition)
counts, err := postgres.CountTasks(sql)
if err != nil {
......@@ -344,6 +431,9 @@ func (server *TaskController) TasksPerDay() {
counts = append(counts, reTask)
}
}
sort.Slice(counts, func(i, j int) bool {
return counts[i].Time.Before(counts[j].Time)
})
server.respond(http.StatusOK, "", counts)
}
......@@ -371,6 +461,7 @@ func (server *TaskController) UserTasks() {
}
offset := (appRequest.Page - 1) * appRequest.Size
size := appRequest.Page * appRequest.Size
timeCondition := ""
startTime := ""
......@@ -382,8 +473,26 @@ func (server *TaskController) UserTasks() {
endTime = fmt.Sprintf(temp.Format(format))
timeCondition = fmt.Sprintf(" and time >= '%s' and time <= '%s'", startTime, endTime)
}
sql := fmt.Sprintf("SELECT count(*) FROM tasks WHERE uid='%d'%s;", info.UserID, timeCondition)
total, err := postgres.QueryTotal(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
var responseTasks []models.Bills
if total == 0 {
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
return
}
//qb.Select("id", "type", "time", "fee", "in_len").From("tasks").Where("uid=?").And("time>='?'").And("time<='?").OrderBy("time").Desc().Offset(int(offset)).Limit(int(appRequest.Size))
sql := fmt.Sprintf("SELECT id,type,time,fee,in_len FROM tasks WHERE uid='%d'%s ORDER BY time DESC LIMIT %d,%d;", info.UserID, timeCondition, offset, appRequest.Size)
sql = fmt.Sprintf("SELECT id,type,time,fee,in_len FROM tasks WHERE uid='%d'%s ORDER BY time DESC LIMIT %d,%d;", info.UserID, timeCondition, offset, size)
tasks, err := postgres.QueryBills(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
......@@ -404,14 +513,13 @@ func (server *TaskController) UserTasks() {
//qb.Select("id", "out_len", "time", "fee", "result", "duration").From("bills").Where("uid=?").And("time>='?'").And("time<='?").OrderBy("time").Desc().Offset(int(offset)).Limit(int(appRequest.Size))
sql = fmt.Sprintf("SELECT id,time,fee,out_len,result,task_duration FROM bills WHERE uid='%d'%s ORDER BY time DESC LIMIT %d,%d;", info.UserID, timeCondition, offset, appRequest.Size)
sql = fmt.Sprintf("SELECT id,time,fee,out_len,result,task_duration FROM bills WHERE uid='%d'%s ORDER BY time DESC LIMIT %d,%d;", info.UserID, timeCondition, offset, size)
bills, err := postgres.QueryBills(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
var responseTasks []models.Bills
for index, task := range tasks {
apiPath := ""
desc := ""
......@@ -439,7 +547,14 @@ func (server *TaskController) UserTasks() {
responseTasks = append(responseTasks, reTask)
}
server.respond(http.StatusOK, "", responseTasks)
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: responseTasks,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *TaskController) UserTasksPerDay() {
......@@ -490,7 +605,9 @@ func (server *TaskController) UserTasksPerDay() {
startTime := fmt.Sprintf(startTimeIn.Format(format))
endTime := fmt.Sprintf(endTimeIn.Format(format))
dates := utils.SplitDate(startTime, endTime, format)
endDateIn := time.Date(endTimeIn.Year(), endTimeIn.Month(), endTimeIn.Day(), 0, 0, 0, 0, endTimeIn.Location())
endDate := fmt.Sprintf(endDateIn.Format(format))
dates := utils.SplitDate(startTime, endDate, format)
sql := fmt.Sprintf("SELECT time,count(*) FROM tasks WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1d ALIGN TO CALENDAR;", info.UserID, startTime, endTime)
counts, err := postgres.CountTasks(sql)
if err != nil {
......@@ -509,6 +626,9 @@ func (server *TaskController) UserTasksPerDay() {
counts = append(counts, reTask)
}
}
sort.Slice(counts, func(i, j int) bool {
return counts[i].Time.Before(counts[j].Time)
})
server.respond(http.StatusOK, "", counts)
}
......@@ -559,8 +679,9 @@ func (server *TaskController) UserTaskTypePerDay() {
startTime := fmt.Sprintf(startTimeIn.Format(format))
endTime := fmt.Sprintf(endTimeIn.Format(format))
dates := utils.SplitDate(startTime, endTime, format)
endDateIn := time.Date(endTimeIn.Year(), endTimeIn.Month(), endTimeIn.Day(), 0, 0, 0, 0, endTimeIn.Location())
endDate := fmt.Sprintf(endDateIn.Format(format))
dates := utils.SplitDate(startTime, endDate, format)
sql := fmt.Sprintf("SELECT type, time,count(*) FROM tasks WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1d ALIGN TO CALENDAR;", info.UserID, startTime, endTime)
counts, err := postgres.CountTasks(sql)
if err != nil {
......@@ -598,6 +719,9 @@ func (server *TaskController) UserTaskTypePerDay() {
responseTasks = append(responseTasks, reTask)
}
}
sort.Slice(responseTasks, func(i, j int) bool {
return responseTasks[i].Time.Before(responseTasks[j].Time)
})
server.respond(http.StatusOK, "", responseTasks)
}
......@@ -736,7 +860,9 @@ func (server *TaskController) UserFeePerDay() {
startTime := fmt.Sprintf(startTimeIn.Format(format))
endTime := fmt.Sprintf(endTimeIn.Format(format))
dates := utils.SplitDate(startTime, endTime, format)
endDateIn := time.Date(endTimeIn.Year(), endTimeIn.Month(), endTimeIn.Day(), 0, 0, 0, 0, endTimeIn.Location())
endDate := fmt.Sprintf(endDateIn.Format(format))
dates := utils.SplitDate(startTime, endDate, format)
sql := fmt.Sprintf("SELECT time,sum(fee) AS fee FROM bills WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1d ALIGN TO CALENDAR;", info.UserID, startTime, endTime)
counts, err := postgres.CountTasks(sql)
......@@ -756,6 +882,9 @@ func (server *TaskController) UserFeePerDay() {
counts = append(counts, reTask)
}
}
sort.Slice(counts, func(i, j int) bool {
return counts[i].Time.Before(counts[j].Time)
})
server.respond(http.StatusOK, "", counts)
}
......@@ -807,7 +936,9 @@ func (server *TaskController) UserTaskTypeFeePerDay() {
startTime := fmt.Sprintf(startTimeIn.Format(format))
endTime := fmt.Sprintf(endTimeIn.Format(format))
dates := utils.SplitDate(startTime, endTime, format)
endDateIn := time.Date(endTimeIn.Year(), endTimeIn.Month(), endTimeIn.Day(), 0, 0, 0, 0, endTimeIn.Location())
endDate := fmt.Sprintf(endDateIn.Format(format))
dates := utils.SplitDate(startTime, endDate, format)
sql := fmt.Sprintf("SELECT type, time,sum(fee) AS fee FROM bills WHERE uid='%d' and time >= '%s' and time <= '%s' SAMPLE BY 1d ALIGN TO CALENDAR;", info.UserID, startTime, endTime)
counts, err := postgres.CountTasks(sql)
......@@ -846,6 +977,9 @@ func (server *TaskController) UserTaskTypeFeePerDay() {
responseTasks = append(responseTasks, reTask)
}
}
sort.Slice(responseTasks, func(i, j int) bool {
return responseTasks[i].Time.Before(responseTasks[j].Time)
})
server.respond(http.StatusOK, "", responseTasks)
}
......@@ -1253,9 +1387,28 @@ func (server *TaskController) GetTaskTypes() {
}
offset := (appRequest.Page - 1) * appRequest.Size
size := appRequest.Page * appRequest.Size
var types []*models.TaskType
sql := fmt.Sprintf("SELECT * FROM task_type WHERE deleted = 0 LIMIT %d,%d;", offset, appRequest.Size)
sql := "SELECT count(*) FROM task_type WHERE deleted = 0;"
total, err := postgres.QueryTotal(sql)
if err != nil {
server.respond(models.BusinessFailed, err.Error())
return
}
logs.Debug("total = %d", total)
if total == 0 {
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: types,
}
server.respond(http.StatusOK, "", responseData)
return
}
sql = fmt.Sprintf("SELECT * FROM task_type WHERE deleted = 0 LIMIT %d,%d;", offset, size)
mysql.GetMysqlInstace().Ormer.Raw(sql).QueryRows(&types)
var remodels []*models.NewTaskType
for _, data := range types {
......@@ -1295,7 +1448,14 @@ func (server *TaskController) GetTaskTypes() {
}
remodels = append(remodels, &remodel)
}
server.respond(http.StatusOK, "", remodels)
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: remodels,
}
server.respond(http.StatusOK, "", responseData)
//qb, _ := orm.NewQueryBuilder("mysql")
//
......@@ -1406,6 +1566,7 @@ func (server *TaskController) Examples() {
}
offset := (appRequest.Page - 1) * appRequest.Size
size := appRequest.Page * appRequest.Size
where := ""
if appRequest.Id != 0 {
......@@ -1413,7 +1574,7 @@ func (server *TaskController) Examples() {
}
var types []*models.Model
sql := fmt.Sprintf("SELECT id, `name` AS tit,type,`desc` AS content, tags ,examples,codes,base_model,api_path,version FROM task_type WHERE deleted = 0 %s LIMIT %d,%d;", where, offset, appRequest.Size)
sql := fmt.Sprintf("SELECT id, `name` AS tit,type,`desc` AS content, tags ,examples,codes,base_model,api_path,version FROM task_type WHERE deleted = 0 %s LIMIT %d,%d;", where, offset, size)
mysql.GetMysqlInstace().Ormer.Raw(sql).QueryRows(&types)
var remodels []*models.ResonseModel
for _, data := range types {
......
......@@ -19,14 +19,41 @@ func (server *UserLevelController) Levels() {
server.respond(http.StatusUnauthorized, err.Error())
return
}
body := server.Ctx.Input.RequestBody
appRequest := models.AppRequest{}
err = json.Unmarshal(body, &appRequest) //解析body中数据
logs.Debug("appRequest", appRequest, string(body))
if err != nil {
server.respond(models.NoRequestBody, err.Error())
return
}
if appRequest.Page == 0 {
appRequest.Page = 1
}
if appRequest.Size == 0 {
appRequest.Size = 10
}
offset := (appRequest.Page - 1) * appRequest.Size
qs := mysql.GetMysqlInstace().Ormer.QueryTable("user_level").Filter("deleted", 0)
count, err := qs.Count()
infoQs := qs.Offset(offset).Limit(appRequest.Size)
count, err := infoQs.Count()
logs.Debug("Levels = ", count)
var levels []*models.UserLevel
if count > 0 {
qs.All(&levels)
infoQs.All(&levels)
}
server.respond(http.StatusOK, "", levels)
total, err := qs.Count()
responseData := struct {
Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"`
}{
Total: total,
Data: levels,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *UserLevelController) AddLevel() {
......
{"/Users/brent/Documents/wubanWork/ai_developer_admin/controllers":1708598583449330754}
\ No newline at end of file
{"/Users/brent/Documents/wubanWork/ai_developer_admin/controllers":1708678164620771077}
\ No newline at end of file
......@@ -100,6 +100,38 @@ func QueryBills(sql string) ([]models.Bills, error) {
return containers, nil
}
func QueryTotal(sql string) (int64, error) {
logs.Debug("QueryBills = ", sql)
var count int64
_ = ormpost.Raw(sql).QueryRow(&count)
//_, err := qs.Values(&params)
//if err != nil {
// return 0, err
//}
//arr, err := json.Marshal(params)
//if err != nil {
// return 0, err
//}
//var containers models.TotalType
//logs.Debug("QueryTotal = ", string(arr))
//err = json.Unmarshal(arr, &containers)
//if err != nil {
// return 0, err
//}
//dataType := reflect.TypeOf(containers.Count)
//
//count := int64(0)
// 判断变量的类型是否为字符串
//if dataType.Kind() == reflect.String {
// num, err := strconv.ParseInt(containers.Count, 10, 64)
// if err == nil {
// count = num
// }
//}
return count, nil
}
func CountTasks(sql string) ([]models.TaskCount, error) {
logs.Debug("CountTasks = ", sql)
qs := ormpost.Raw(sql)
......
......@@ -49,3 +49,6 @@ type ChargeRecord struct {
UpdatedTime time.Time `json:"updated_time";orm:"column(updated_time);type(datetime)"`
Deleted int `json:"deleted";orm:"column(deleted);size(1)"`
}
type IncomeAndExpenseRsponse struct {
}
......@@ -145,6 +145,10 @@ type Bills struct {
Balance int64 `json:"balance,omitempty"`
}
type TotalType struct {
Count string `json:"count,omitempty"`
}
type TaskCount struct {
Time time.Time `json:"time,omitempty"`
Count string `json:"count,omitempty"`
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment