/**
 * 系统日志
 */
@extendAbstractAuditingEntity
@skipFakeData
@entityPackage(log)
@moduleName(log)
@skipWebButton(listAdd-listEdit)
@addCustomMethod(rest-queryService)
@skipWebsite
@skipComponent(appEditPage)
@mobileConfig(addToHomeMenu-addToUserMenu-listWithHeader-listWithStat-detailByData)
@filterByTree(logType)
entity SysLog {
  requestUrl String /** 请求路径 */
  logType LogType /** 日志类型 */
  logContent String /** 日志内容 */
  operateType OperateType /** 操作类型 */
  userid String /** 操作用户账号 */
  username String /** 操作用户名称 */
  ip String /** IP */
  method String /** 请求java方法 */
  @endUsed(textArea)
  requestParam TextBlob /** 请求参数 */
  requestType String /** 请求类型 */
  costTime Long /** 耗时 */
}

/**
 * 日志类型
 */
enum LogType {
    /** 登录日志 */
	LOGIN,
    /** 操作日志 */
    OPERATE
}

/**
 * 操作类型
 */
enum OperateType {
    /** 列表 */
    LIST,
    /** 新增 */
    ADD,
    /** 编辑 */
    EDIT,
    /** 删除 */
    DELETE,
    /** 导入 */
    IMPORT,
    /** 导出 */
    EXPORT,
    /** 其他 */
    OTHER,
    /** 登录 */
    LOGIN,
    /** 统计 */
    STATS,
    /** 查看 */
    VIEW,
    /** 审核 */
    AUDIT,
    /** 工作流 */
    WORK_FLOW
}

service all with serviceClass
filter *
dto all with mapstruct
paginate all with pagination
clientRootFolder SysLog with log
//<%_ if (searchEngine === 'elasticsearch') { _%>
search SysLog, DataPermissionRule with elasticsearch
//<%_ } _%>
