style: 错误信息英文返回-monitor 模块路由

This commit is contained in:
TsMask
2023-11-08 14:57:08 +08:00
parent a102f772cb
commit d456b735fb
7 changed files with 93 additions and 80 deletions

View File

@@ -40,7 +40,7 @@ func (s *MonitorController) Load(c *gin.Context) {
}
err := c.ShouldBindQuery(&querys)
if err != nil {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}

View File

@@ -33,13 +33,13 @@ func (s *SysCacheController) Info(c *gin.Context) {
// GET /getNames
func (s *SysCacheController) Names(c *gin.Context) {
caches := []model.SysCache{
model.NewSysCacheNames("用户信息", cachekey.LOGIN_TOKEN_KEY),
model.NewSysCacheNames("配置信息", cachekey.SYS_CONFIG_KEY),
model.NewSysCacheNames("数据字典", cachekey.SYS_DICT_KEY),
model.NewSysCacheNames("验证码", cachekey.CAPTCHA_CODE_KEY),
model.NewSysCacheNames("防重提交", cachekey.REPEAT_SUBMIT_KEY),
model.NewSysCacheNames("限流处理", cachekey.RATE_LIMIT_KEY),
model.NewSysCacheNames("密码错误次数", cachekey.PWD_ERR_CNT_KEY),
model.NewSysCacheNames("user", cachekey.LOGIN_TOKEN_KEY),
model.NewSysCacheNames("configuration", cachekey.SYS_CONFIG_KEY),
model.NewSysCacheNames("dictionary", cachekey.SYS_DICT_KEY),
model.NewSysCacheNames("captcha", cachekey.CAPTCHA_CODE_KEY),
model.NewSysCacheNames("anti-submission", cachekey.REPEAT_SUBMIT_KEY),
model.NewSysCacheNames("current-limiting", cachekey.RATE_LIMIT_KEY),
model.NewSysCacheNames("password-errors-number", cachekey.PWD_ERR_CNT_KEY),
}
c.JSON(200, result.OkData(caches))
}
@@ -50,7 +50,7 @@ func (s *SysCacheController) Names(c *gin.Context) {
func (s *SysCacheController) Keys(c *gin.Context) {
cacheName := c.Param("cacheName")
if cacheName == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
caches := []model.SysCache{}
@@ -71,7 +71,7 @@ func (s *SysCacheController) Value(c *gin.Context) {
cacheName := c.Param("cacheName")
cacheKey := c.Param("cacheKey")
if cacheName == "" || cacheKey == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
@@ -90,7 +90,7 @@ func (s *SysCacheController) Value(c *gin.Context) {
func (s *SysCacheController) ClearCacheName(c *gin.Context) {
cacheName := c.Param("cacheName")
if cacheName == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
@@ -114,7 +114,7 @@ func (s *SysCacheController) ClearCacheKey(c *gin.Context) {
cacheName := c.Param("cacheName")
cacheKey := c.Param("cacheKey")
if cacheName == "" || cacheKey == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
@@ -131,12 +131,12 @@ func (s *SysCacheController) ClearCacheKey(c *gin.Context) {
// DELETE /clearCacheSafe
func (s *SysCacheController) ClearCacheSafe(c *gin.Context) {
caches := []model.SysCache{
model.NewSysCacheNames("配置信息", cachekey.SYS_CONFIG_KEY),
model.NewSysCacheNames("数据字典", cachekey.SYS_DICT_KEY),
model.NewSysCacheNames("验证码", cachekey.CAPTCHA_CODE_KEY),
model.NewSysCacheNames("防重提交", cachekey.REPEAT_SUBMIT_KEY),
model.NewSysCacheNames("限流处理", cachekey.RATE_LIMIT_KEY),
model.NewSysCacheNames("密码错误次数", cachekey.PWD_ERR_CNT_KEY),
model.NewSysCacheNames("configuration", cachekey.SYS_CONFIG_KEY),
model.NewSysCacheNames("dictionary", cachekey.SYS_DICT_KEY),
model.NewSysCacheNames("captcha", cachekey.CAPTCHA_CODE_KEY),
model.NewSysCacheNames("anti-submission", cachekey.REPEAT_SUBMIT_KEY),
model.NewSysCacheNames("current-limiting", cachekey.RATE_LIMIT_KEY),
model.NewSysCacheNames("password-errors-number", cachekey.PWD_ERR_CNT_KEY),
}
for _, v := range caches {
cacheKeys, err := redis.GetKeys("", v.CacheName+":*")

View File

@@ -50,7 +50,7 @@ func (s *SysJobController) List(c *gin.Context) {
func (s *SysJobController) Info(c *gin.Context) {
jobId := c.Param("jobId")
if jobId == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
@@ -69,20 +69,22 @@ func (s *SysJobController) Add(c *gin.Context) {
var body model.SysJob
err := c.ShouldBindBodyWith(&body, binding.JSON)
if err != nil || body.JobID != "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
// 检查cron表达式格式
if parse.CronExpression(body.CronExpression) == 0 {
msg := fmt.Sprintf("调度任务新增【%s】失败Cron表达式不正确", body.JobName)
// 调度任务新增【%s】失败Cron表达式不正确
msg := fmt.Sprintf("Scheduling task add [%s] fails with incorrect Cron expression", body.JobName)
c.JSON(200, result.ErrMsg(msg))
return
}
// 检查任务调用传入参数是否json格式
if body.TargetParams != "" {
msg := fmt.Sprintf("调度任务新增【%s】失败任务传入参数json字符串不正确", body.JobName)
// 调度任务新增【%s】失败任务传入参数json字符串不正确
msg := fmt.Sprintf("Scheduling task add [%s] failed, task incoming parameter json string is incorrect", body.JobName)
if len(body.TargetParams) < 7 {
c.JSON(200, result.ErrMsg(msg))
return
@@ -96,7 +98,8 @@ func (s *SysJobController) Add(c *gin.Context) {
// 检查属性值唯一
uniqueJob := s.sysJobService.CheckUniqueJobName(body.JobName, body.JobGroup, "")
if !uniqueJob {
msg := fmt.Sprintf("调度任务新增【%s】失败同任务组内有相同任务名称", body.JobName)
// 调度任务新增【%s】失败同任务组内有相同任务名称
msg := fmt.Sprintf("Scheduling tasks with new [%s] failures, with the same task name in the same task group", body.JobName)
c.JSON(200, result.ErrMsg(msg))
return
}
@@ -117,20 +120,22 @@ func (s *SysJobController) Edit(c *gin.Context) {
var body model.SysJob
err := c.ShouldBindBodyWith(&body, binding.JSON)
if err != nil || body.JobID == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
// 检查cron表达式格式
if parse.CronExpression(body.CronExpression) == 0 {
msg := fmt.Sprintf("调度任务修改【%s】失败Cron表达式不正确", body.JobName)
// 调度任务修改【%s】失败Cron表达式不正确
msg := fmt.Sprintf("Scheduling task modification [%s] fails with incorrect Cron expression", body.JobName)
c.JSON(200, result.ErrMsg(msg))
return
}
// 检查任务调用传入参数是否json格式
if body.TargetParams != "" {
msg := fmt.Sprintf("调度任务修改【%s】失败任务传入参数json字符串不正确", body.JobName)
// 调度任务修改【%s】失败任务传入参数json字符串不正确
msg := fmt.Sprintf("Scheduling task modification [%s] failed, task incoming parameter json string is not correct", body.JobName)
if len(body.TargetParams) < 7 {
c.JSON(200, result.ErrMsg(msg))
return
@@ -144,7 +149,8 @@ func (s *SysJobController) Edit(c *gin.Context) {
// 检查属性值唯一
uniqueJob := s.sysJobService.CheckUniqueJobName(body.JobName, body.JobGroup, body.JobID)
if !uniqueJob {
msg := fmt.Sprintf("调度任务修改【%s】失败同任务组内有相同任务名称", body.JobName)
// 调度任务修改【%s】失败同任务组内有相同任务名称
msg := fmt.Sprintf("Scheduling task modification [%s] failed with the same task name in the same task group", body.JobName)
c.JSON(200, result.ErrMsg(msg))
return
}
@@ -164,7 +170,7 @@ func (s *SysJobController) Edit(c *gin.Context) {
func (s *SysJobController) Remove(c *gin.Context) {
jobIds := c.Param("jobIds")
if jobIds == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
// 处理字符转id数组后去重
@@ -179,7 +185,7 @@ func (s *SysJobController) Remove(c *gin.Context) {
c.JSON(200, result.ErrMsg(err.Error()))
return
}
msg := fmt.Sprintf("删除成功:%d", rows)
msg := fmt.Sprintf("Deleted successfully: %d", rows)
c.JSON(200, result.OkMsg(msg))
}
@@ -195,20 +201,22 @@ func (s *SysJobController) Status(c *gin.Context) {
}
err := c.ShouldBindBodyWith(&body, binding.JSON)
if err != nil {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
// 检查是否存在
job := s.sysJobService.SelectJobById(body.JobId)
if job.JobID != body.JobId {
c.JSON(200, result.ErrMsg("没有权限访问调度任务数据!"))
// 没有可访问调度任务数据!
c.JSON(200, result.ErrMsg("No accessible scheduling task data!"))
return
}
// 与旧值相等不变更
if job.Status == body.Status {
c.JSON(200, result.ErrMsg("变更状态与旧值相等!"))
// 变更状态与旧值相等!
c.JSON(200, result.ErrMsg("Change status equals old value!"))
return
}
@@ -229,14 +237,15 @@ func (s *SysJobController) Status(c *gin.Context) {
func (s *SysJobController) Run(c *gin.Context) {
jobId := c.Param("jobId")
if jobId == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
// 检查是否存在
job := s.sysJobService.SelectJobById(jobId)
if job.JobID != jobId {
c.JSON(200, result.ErrMsg("没有权限访问调度任务数据!"))
// 没有可访问调度任务数据!
c.JSON(200, result.ErrMsg("No accessible scheduling task data!"))
return
}
@@ -264,7 +273,8 @@ func (s *SysJobController) Export(c *gin.Context) {
querys := ctx.BodyJSONMap(c)
data := s.sysJobService.SelectJobPage(querys)
if data["total"].(int64) == 0 {
c.JSON(200, result.ErrMsg("导出数据记录为空"))
// 导出数据记录为空
c.JSON(200, result.ErrMsg("Export data record is empty"))
return
}
rows := data["rows"].([]model.SysJob)
@@ -273,16 +283,16 @@ func (s *SysJobController) Export(c *gin.Context) {
fileName := fmt.Sprintf("job_export_%d_%d.xlsx", len(rows), time.Now().UnixMilli())
// 第一行表头标题
headerCells := map[string]string{
"A1": "任务编号",
"B1": "任务名称",
"C1": "任务组名",
"D1": "调用目标",
"E1": "传入参数",
"F1": "执行表达式",
"G1": "出错策略",
"H1": "并发执行",
"I1": "任务状态",
"J1": "备注说明",
"A1": "JobID",
"B1": "JobName",
"C1": "JobGroupName",
"D1": "InvokeTarget",
"E1": "TargetParams",
"F1": "CronExpression",
"G1": "MisfirePolicy",
"H1": "Concurrent",
"I1": "Status",
"J1": "Remark",
}
// 读取任务组名字典数据
dictSysJobGroup := s.sysDictDataService.SelectDictDataByType("sys_job_group")
@@ -298,20 +308,20 @@ func (s *SysJobController) Export(c *gin.Context) {
break
}
}
misfirePolicy := "放弃执行"
misfirePolicy := "Abandon execution"
if row.MisfirePolicy == "1" {
misfirePolicy = "立即执行"
misfirePolicy = "Execute immediately"
} else if row.MisfirePolicy == "2" {
misfirePolicy = "执行一次"
misfirePolicy = "Execute once"
}
concurrent := "禁止"
concurrent := "prohibit"
if row.Concurrent == "1" {
concurrent = "允许"
concurrent = "allow"
}
// 状态
statusValue := "失败"
statusValue := "fail"
if row.Status == "1" {
statusValue = "成功"
statusValue = "successes"
}
dataCells = append(dataCells, map[string]any{
"A" + idx: row.JobID,

View File

@@ -50,7 +50,7 @@ func (s *SysJobLogController) List(c *gin.Context) {
func (s *SysJobLogController) Info(c *gin.Context) {
jobLogId := c.Param("jobLogId")
if jobLogId == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
data := s.sysJobLogService.SelectJobLogById(jobLogId)
@@ -67,7 +67,7 @@ func (s *SysJobLogController) Info(c *gin.Context) {
func (s *SysJobLogController) Remove(c *gin.Context) {
jobLogIds := c.Param("jobLogIds")
if jobLogIds == "" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}
@@ -80,7 +80,8 @@ func (s *SysJobLogController) Remove(c *gin.Context) {
}
rows := s.sysJobLogService.DeleteJobLogByIds(uniqueIDs)
if rows > 0 {
msg := fmt.Sprintf("删除成功:%d", rows)
// 删除成功:%d
msg := fmt.Sprintf("Deleted successfully: %d", rows)
c.JSON(200, result.OkMsg(msg))
return
}
@@ -107,7 +108,7 @@ func (s *SysJobLogController) Export(c *gin.Context) {
querys := ctx.BodyJSONMap(c)
data := s.sysJobLogService.SelectJobLogPage(querys)
if data["total"].(int64) == 0 {
c.JSON(200, result.ErrMsg("导出数据记录为空"))
c.JSON(200, result.ErrMsg("Export data record is empty"))
return
}
rows := data["rows"].([]model.SysJobLog)
@@ -116,14 +117,14 @@ func (s *SysJobLogController) Export(c *gin.Context) {
fileName := fmt.Sprintf("jobLog_export_%d_%d.xlsx", len(rows), time.Now().UnixMilli())
// 第一行表头标题
headerCells := map[string]string{
"A1": "日志序号",
"B1": "任务名称",
"C1": "任务组名",
"D1": "调用目标",
"E1": "传入参数",
"F1": "日志信息",
"G1": "执行状态",
"H1": "记录时间",
"A1": "JobLogID",
"B1": "JobName",
"C1": "JobGroupName",
"D1": "InvokeTarget",
"E1": "TargetParams",
"F1": "JobMsg",
"G1": "Status",
"H1": "Time",
}
// 读取任务组名字典数据
dictSysJobGroup := s.sysDictDataService.SelectDictDataByType("sys_job_group")
@@ -140,9 +141,9 @@ func (s *SysJobLogController) Export(c *gin.Context) {
}
}
// 状态
statusValue := "失败"
statusValue := "Fail"
if row.Status == "1" {
statusValue = "成功"
statusValue = "Success"
}
dataCells = append(dataCells, map[string]any{
"A" + idx: row.JobLogID,

View File

@@ -112,7 +112,7 @@ func (s *SysUserOnlineController) List(c *gin.Context) {
func (s *SysUserOnlineController) ForceLogout(c *gin.Context) {
tokenId := c.Param("tokenId")
if tokenId == "" || tokenId == "*" {
c.JSON(400, result.CodeMsg(400, "参数错误"))
c.JSON(400, result.CodeMsg(400, "parameter error"))
return
}

View File

@@ -80,18 +80,18 @@ func Setup(router *gin.Engine) {
)
sysJobLogGroup.DELETE("/:jobLogIds",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:remove"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务日志信息", collectlogs.BUSINESS_TYPE_DELETE)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task Log", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewSysJobLog.Remove,
)
sysJobLogGroup.DELETE("/clean",
repeat.RepeatSubmit(5),
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:remove"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务日志信息", collectlogs.BUSINESS_TYPE_CLEAN)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task Log", collectlogs.BUSINESS_TYPE_CLEAN)),
controller.NewSysJobLog.Clean,
)
sysJobLogGroup.POST("/export",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:export"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务日志信息", collectlogs.BUSINESS_TYPE_EXPORT)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task Log", collectlogs.BUSINESS_TYPE_EXPORT)),
controller.NewSysJobLog.Export,
)
}
@@ -109,39 +109,39 @@ func Setup(router *gin.Engine) {
)
sysJobGroup.POST("",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:add"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_INSERT)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_INSERT)),
controller.NewSysJob.Add,
)
sysJobGroup.PUT("",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:edit"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_UPDATE)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewSysJob.Edit,
)
sysJobGroup.DELETE("/:jobIds",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:remove"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_DELETE)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewSysJob.Remove,
)
sysJobGroup.PUT("/changeStatus",
repeat.RepeatSubmit(5),
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:changeStatus"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_UPDATE)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewSysJob.Status,
)
sysJobGroup.PUT("/run/:jobId",
repeat.RepeatSubmit(10),
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:changeStatus"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_UPDATE)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewSysJob.Run,
)
sysJobGroup.PUT("/resetQueueJob",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:changeStatus"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_CLEAN)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_CLEAN)),
controller.NewSysJob.ResetQueueJob,
)
sysJobGroup.POST("/export",
middleware.PreAuthorize(map[string][]string{"hasPerms": {"monitor:job:export"}}),
collectlogs.OperateLog(collectlogs.OptionNew("调度任务信息", collectlogs.BUSINESS_TYPE_EXPORT)),
collectlogs.OperateLog(collectlogs.OptionNew("Scheduling Task", collectlogs.BUSINESS_TYPE_EXPORT)),
controller.NewSysJob.Export,
)
}

View File

@@ -1,7 +1,7 @@
package service
import (
"errors"
"fmt"
"ems.agt/src/framework/constants/common"
"ems.agt/src/framework/cron"
@@ -85,7 +85,8 @@ func (r *SysJobImpl) DeleteJobByIds(jobIds []string) (int64, error) {
// 检查是否存在
jobs := r.sysJobRepository.SelectJobByIds(jobIds)
if len(jobs) <= 0 {
return 0, errors.New("没有权限访问调度任务数据!")
// 没有可访问调度任务数据!
return 0, fmt.Errorf("There is no accessible scheduling task data!")
}
if len(jobs) == len(jobIds) {
// 清除任务
@@ -95,7 +96,8 @@ func (r *SysJobImpl) DeleteJobByIds(jobIds []string) (int64, error) {
rows := r.sysJobRepository.DeleteJobByIds(jobIds)
return rows, nil
}
return 0, errors.New("删除调度任务信息失败!")
// 删除调度任务信息失败!
return 0, fmt.Errorf("Failed to delete scheduling task information!")
}
// ChangeStatus 任务调度状态修改