gaoxiong 2 жил өмнө
parent
commit
20598d8433

+ 12 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysOperLog.java

@@ -1,15 +1,25 @@
 package com.xunmei.system.api.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.xunmei.common.core.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
 
 import java.util.Date;
 
 /**
  * 操作日志记录表 oper_log
- * 
+ *
  * @author xunmei
  */
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("sys_oper_log")
+@ApiModel(value = "SysOperLog对象", description = "【请填写功能名称】")
 public class SysOperLog extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
@@ -24,6 +34,7 @@ public class SysOperLog extends BaseEntity
     private Integer businessType;
 
     /** 业务类型数组 */
+    @TableField(exist = false)
     private Integer[] businessTypes;
 
     /** 请求方法 */

+ 14 - 2
soc-auth/src/main/java/com/xunmei/auth/controller/TokenController.java

@@ -72,13 +72,25 @@ public class TokenController {
     @DeleteMapping("logout")
     public R<?> logout(HttpServletRequest request) {
         String token = SecurityUtils.getToken(request);
-        LoginUser loginUser = SecurityUtils.getLoginUser();
         if (StringUtils.isNotEmpty(token)) {
             String username = JwtUtils.getUserName(token);
             // 删除用户缓存记录
             AuthUtil.logoutByToken(token);
             // 记录用户退出日志
-            sysLoginService.logout(username,loginUser.getPlatformType());
+            sysLoginService.logout(username,Constants.LOGIN_TYPE_1);
+        }
+        return R.ok();
+    }
+
+    @DeleteMapping("logoutApp")
+    public R<?> logoutApp(HttpServletRequest request) {
+        String token = SecurityUtils.getToken(request);
+        if (StringUtils.isNotEmpty(token)) {
+            String username = JwtUtils.getUserName(token);
+            // 删除用户缓存记录
+            AuthUtil.logoutByToken(token);
+            // 记录用户退出日志
+            sysLoginService.logout(username,Constants.LOGIN_TYPE_0);
         }
         return R.ok();
     }

+ 3 - 0
soc-auth/src/main/java/com/xunmei/auth/service/SysRecordLogService.java

@@ -9,6 +9,8 @@ import com.xunmei.system.api.domain.SysLogininfor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
+
 /**
  * 记录日志方法
  *
@@ -36,6 +38,7 @@ public class SysRecordLogService
         logininfor.setPlatformType(platformType);
         logininfor.setIpaddr(IpUtils.getIpAddr());
         logininfor.setMsg(message);
+        logininfor.setAccessTime(new Date());
         // 日志状态
         if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER))
         {

+ 1 - 4
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysOperlogController.java

@@ -31,10 +31,7 @@ public class SysOperlogController extends BaseController
     @GetMapping("/list")
     public TableDataInfo<SysOperLog> list(SysOperLog operLog)
     {
-        List<SysOperLog> list = operLogService.selectOperLogList(operLog);
-        TableDataInfo info = new TableDataInfo();
-        info.setRows(list);
-        return info;
+        return operLogService.selectPage(operLog);
     }
 
     @Log(title = "操作日志", businessType = BusinessType.EXPORT)