feat: 更新多个模块以支持新的数据结构和日志格式
This commit is contained in:
@@ -1,24 +1,85 @@
|
||||
package service
|
||||
|
||||
import "be.ems/src/modules/system/model"
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
// ISysLogLogin 系统登录日志 服务层接口
|
||||
type ISysLogLogin interface {
|
||||
// SelectSysLogLoginPage 分页查询系统登录日志集合
|
||||
SelectSysLogLoginPage(query map[string]any, dataScopeSQL string) map[string]any
|
||||
"be.ems/src/framework/constants"
|
||||
"be.ems/src/framework/utils/date"
|
||||
"be.ems/src/framework/utils/file"
|
||||
"be.ems/src/modules/system/model"
|
||||
"be.ems/src/modules/system/repository"
|
||||
)
|
||||
|
||||
// SelectSysLogLoginList 查询系统登录日志集合
|
||||
SelectSysLogLoginList(sysLogLogin model.SysLogLogin) []model.SysLogLogin
|
||||
|
||||
// InsertSysLogLogin 新增系统登录日志
|
||||
InsertSysLogLogin(sysLogLogin model.SysLogLogin) string
|
||||
|
||||
// DeleteSysLogLoginByIds 批量删除系统登录日志
|
||||
DeleteSysLogLoginByIds(loginIds []string) int64
|
||||
|
||||
// CleanSysLogLogin 清空系统登录日志
|
||||
CleanSysLogLogin() error
|
||||
|
||||
// CreateSysLogLogin 创建系统登录日志
|
||||
CreateSysLogLogin(userName, status, msg string, ilobArgs ...string) string
|
||||
// NewSysLogLogin 实例化服务层
|
||||
var NewSysLogLogin = &SysLogLogin{
|
||||
sysLogLoginRepository: repository.NewSysLogLogin,
|
||||
}
|
||||
|
||||
// SysLogLogin 系统登录日志 服务层处理
|
||||
type SysLogLogin struct {
|
||||
sysLogLoginRepository *repository.SysLogLogin // 系统登录日志信息
|
||||
}
|
||||
|
||||
// FindByPage 分页查询列表数据
|
||||
func (s SysLogLogin) FindByPage(query map[string]string, dataScopeSQL string) ([]model.SysLogLogin, int64) {
|
||||
return s.sysLogLoginRepository.SelectByPage(query, dataScopeSQL)
|
||||
}
|
||||
|
||||
// Insert 新增信息
|
||||
func (s SysLogLogin) Insert(userName, status, msg string, ilobArr [4]string) int64 {
|
||||
sysSysLogLogin := model.SysLogLogin{
|
||||
LoginIp: ilobArr[0],
|
||||
LoginLocation: ilobArr[1],
|
||||
OS: ilobArr[2],
|
||||
Browser: ilobArr[3],
|
||||
UserName: userName,
|
||||
StatusFlag: status,
|
||||
Msg: msg,
|
||||
}
|
||||
return s.sysLogLoginRepository.Insert(sysSysLogLogin)
|
||||
}
|
||||
|
||||
// Clean 清空系统登录日志
|
||||
func (s SysLogLogin) Clean() int64 {
|
||||
return s.sysLogLoginRepository.Clean()
|
||||
}
|
||||
|
||||
// ExportData 导出数据表格
|
||||
func (s SysLogLogin) ExportData(rows []model.SysLogLogin, fileName string) (string, error) {
|
||||
// 第一行表头标题
|
||||
headerCells := map[string]string{
|
||||
"A1": "序号",
|
||||
"B1": "用户账号",
|
||||
"C1": "登录状态",
|
||||
"D1": "登录地址",
|
||||
"E1": "登录地点",
|
||||
"F1": "浏览器",
|
||||
"G1": "操作系统",
|
||||
"H1": "提示消息",
|
||||
"I1": "访问时间",
|
||||
}
|
||||
// 从第二行开始的数据
|
||||
dataCells := make([]map[string]any, 0)
|
||||
for i, row := range rows {
|
||||
idx := strconv.Itoa(i + 2)
|
||||
// 状态
|
||||
statusValue := "失败"
|
||||
if row.StatusFlag == constants.STATUS_YES {
|
||||
statusValue = "成功"
|
||||
}
|
||||
dataCells = append(dataCells, map[string]any{
|
||||
"A" + idx: row.ID,
|
||||
"B" + idx: row.UserName,
|
||||
"C" + idx: statusValue,
|
||||
"D" + idx: row.LoginIp,
|
||||
"E" + idx: row.LoginLocation,
|
||||
"F" + idx: row.Browser,
|
||||
"G" + idx: row.OS,
|
||||
"H" + idx: row.Msg,
|
||||
"I" + idx: date.ParseDateToStr(row.LoginTime, date.YYYY_MM_DD_HH_MM_SS),
|
||||
})
|
||||
}
|
||||
|
||||
// 导出数据表格
|
||||
return file.WriteSheet(headerCells, dataCells, fileName, "")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user