Files
aggregate_translate_server/app/admin/apis/translate.go
hucan 8ae43bfba9
Some checks failed
Build / build (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
build / Build (push) Has been cancelled
GitHub Actions Mirror / mirror_to_gitee (push) Has been cancelled
GitHub Actions Mirror / mirror_to_gitlab (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
Issue Check Inactive / issue-check-inactive (push) Has been cancelled
1
2025-06-29 00:36:30 +08:00

86 lines
1.8 KiB
Go

package apis
import (
"go-admin/app/admin/service"
"go-admin/app/admin/service/dto"
"go-admin/common/statuscode"
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin/binding"
"github.com/go-admin-team/go-admin-core/sdk/api"
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
)
type Translate struct {
api.Api
}
// 公开翻译接口
func (e *Translate) Translate(c *gin.Context) {
req := dto.TranslateReq{}
s := service.TranslatorService{}
err := e.MakeContext(c).
MakeOrm().
Bind(&req, binding.JSON).
MakeService(&s.Service).
Errors
if err != nil {
e.Logger.Error(err)
e.Error(500, nil, "server error")
return
}
if code := req.Validate(); code != statuscode.Success {
e.Error(code, nil, statuscode.ErrorMessage[code])
return
}
apiKey := c.GetString("apiKey")
result, code := s.TranslateJudge(&req, apiKey)
if code != statuscode.Success {
e.Logger.Error(err)
e.Error(code, nil, statuscode.ErrorMessage[code])
return
}
e.OK(result, "success")
}
// 获取个人翻译统计
func (e *Translate) GetTranslateStatistic(c *gin.Context) {
req := dto.TranslateStatisticReq{}
s := service.TmMember{}
err := e.MakeContext(c).
MakeOrm().
Bind(&req, binding.JSON).
MakeService(&s.Service).
Errors
if err != nil {
e.Logger.Error(err)
e.Error(500, nil, "server error")
return
}
userId := user.GetUserId(c)
if userId == 0 {
e.Error(statuscode.Unauthorized, nil, "unauthorized")
return
}
result := make([]dto.TranslateStatisticResp, 0)
error := s.GetTranslateStatistic(userId, &result)
if error != nil {
e.Logger.Errorf("获取字符消耗统计数据失败 %v", error)
e.Error(500, nil, "server error")
return
}
e.OK(result, "success")
}