fix: 导出功能为全量,行头文字多语言翻译

This commit is contained in:
TsMask
2024-04-19 17:21:33 +08:00
parent 0c45cbd195
commit e05c2a6a51
15 changed files with 358 additions and 216 deletions

View File

@@ -102,14 +102,21 @@ func (s *SysLogOperateController) Clean(c *gin.Context) {
func (s *SysLogOperateController) Export(c *gin.Context) {
language := ctx.AcceptLanguage(c)
// 查询结果,根据查询条件结果,单页最大值限制
querys := ctx.BodyJSONMap(c)
data := s.SysLogOperateService.SelectSysLogOperatePage(querys)
if data["total"].(int64) == 0 {
// querys := ctx.BodyJSONMap(c)
// data := s.SysLogOperateService.SelectSysLogOperatePage(querys)
// if data["total"].(int64) == 0 {
// // 导出数据记录为空
// c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty")))
// return
// }
// rows := data["rows"].([]model.SysLogOperate)
rows := s.SysLogOperateService.SelectSysLogOperateList(model.SysLogOperate{})
if len(rows) <= 0 {
// 导出数据记录为空
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.exportEmpty")))
return
}
rows := data["rows"].([]model.SysLogOperate)
// 闭包函数处理多语言
converI18n := func(language string, arr *[]model.SysLogOperate) {
@@ -127,19 +134,12 @@ func (s *SysLogOperateController) Export(c *gin.Context) {
"A1": i18n.TKey(language, "log.operate.export.id"),
"B1": i18n.TKey(language, "log.operate.export.title"),
"C1": i18n.TKey(language, "log.operate.export.businessType"),
"D1": i18n.TKey(language, "log.operate.export.method"),
"E1": i18n.TKey(language, "log.operate.export.requestMethod"),
"F1": i18n.TKey(language, "log.operate.export.operatorType"),
"G1": i18n.TKey(language, "log.operate.export.operName"),
"H1": i18n.TKey(language, "log.operate.export.deptName"),
"I1": i18n.TKey(language, "log.operate.export.url"),
"J1": i18n.TKey(language, "log.operate.export.ip"),
"K1": i18n.TKey(language, "log.operate.export.location"),
"L1": i18n.TKey(language, "log.operate.export.param"),
"M1": i18n.TKey(language, "log.operate.export.msg"),
"N1": i18n.TKey(language, "log.operate.export.status"),
"O1": i18n.TKey(language, "log.operate.export.costTime"),
"P1": i18n.TKey(language, "log.operate.export.operTime"),
"D1": i18n.TKey(language, "log.operate.export.operName"),
"E1": i18n.TKey(language, "log.operate.export.method"),
"F1": i18n.TKey(language, "log.operate.export.ip"),
"G1": i18n.TKey(language, "log.operate.export.status"),
"H1": i18n.TKey(language, "log.operate.export.operTime"),
"I1": i18n.TKey(language, "log.operate.export.costTime"),
}
// 从第二行开始的数据
dataCells := make([]map[string]any, 0)
@@ -147,8 +147,36 @@ func (s *SysLogOperateController) Export(c *gin.Context) {
idx := strconv.Itoa(i + 2)
// 业务类型
businessType := ""
// 操作类别
operatorType := ""
switch row.BusinessType {
case "0":
// 业务操作类型-其它
businessType = i18n.TKey(language, "dictData.operType.other")
case "1":
// 业务操作类型-新增
businessType = i18n.TKey(language, "dictData.operType.add")
case "2":
// 业务操作类型-修改
businessType = i18n.TKey(language, "dictData.operType.edit")
case "3":
// 业务操作类型-删除
businessType = i18n.TKey(language, "dictData.operType.delete")
case "4":
// 业务操作类型-授权
businessType = i18n.TKey(language, "dictData.operType.auth")
case "5":
// 业务操作类型-导出
businessType = i18n.TKey(language, "dictData.operType.export")
case "6":
// 业务操作类型-导入
businessType = i18n.TKey(language, "dictData.operType.import")
case "7":
// 业务操作类型-强退
businessType = i18n.TKey(language, "dictData.operType.forced quit")
case "8":
// 业务操作类型-清空数据
businessType = i18n.TKey(language, "dictData.operType.clear")
}
// 状态
statusValue := i18n.TKey(language, "dictData.fail")
if row.Status == "1" {
@@ -158,19 +186,12 @@ func (s *SysLogOperateController) Export(c *gin.Context) {
"A" + idx: row.OperID,
"B" + idx: row.Title,
"C" + idx: businessType,
"D" + idx: row.Method,
"D" + idx: row.OperName,
"E" + idx: row.RequestMethod,
"F" + idx: operatorType,
"G" + idx: row.OperName,
"H" + idx: row.DeptName,
"I" + idx: row.OperURL,
"J" + idx: row.OperIP,
"K" + idx: row.OperLocation,
"L" + idx: row.OperParam,
"M" + idx: row.OperMsg,
"N" + idx: statusValue,
"O" + idx: row.CostTime,
"P" + idx: date.ParseDateToStr(row.OperTime, date.YYYY_MM_DD_HH_MM_SS),
"F" + idx: row.OperIP,
"G" + idx: statusValue,
"H" + idx: date.ParseDateToStr(row.OperTime, date.YYYY_MM_DD_HH_MM_SS),
"I" + idx: row.CostTime,
})
}