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
				
			
		
			
				
	
	
		
			86 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			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")
 | |
| }
 |