Przeglądaj źródła

用户登出接口

shengqianlei 2 lat temu
rodzic
commit
757fd029a3

+ 12 - 2
src/main/java/com/abcsz/litigationcase/controller/UserLoginController.java

@@ -2,8 +2,10 @@ package com.abcsz.litigationcase.controller;
 
 
 import com.abcsz.litigationcase.domain.ro.UserLoginRo;
+import com.abcsz.litigationcase.domain.ro.UserOutRo;
 import com.abcsz.litigationcase.domain.ro.UserRo;
 import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.abcsz.litigationcase.domain.vo.UserLoginVo;
 import com.abcsz.litigationcase.service.UserLoginService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,9 +32,17 @@ public class UserLoginController {
 
     @ApiOperation("用户登陆登记")
     @PostMapping("/login")
-    public PublicVo login(@RequestBody @Validated UserLoginRo ro)  {
+    public UserLoginVo login(@RequestBody @Validated UserLoginRo ro)  {
 
-        PublicVo vo = userLoginService.userLogin(ro);
+        UserLoginVo vo = userLoginService.userLogin(ro);
+        return vo;
+    }
+
+    @ApiOperation("用户登出登记")
+    @PostMapping("/out")
+    public PublicVo out(@RequestBody @Validated UserOutRo ro)  {
+
+        PublicVo vo = userLoginService.userOut(ro);
         return vo;
     }
 }

+ 13 - 0
src/main/java/com/abcsz/litigationcase/domain/ro/UserOutRo.java

@@ -0,0 +1,13 @@
+package com.abcsz.litigationcase.domain.ro;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "用户登出对象")
+public class UserOutRo {
+
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+}

+ 13 - 0
src/main/java/com/abcsz/litigationcase/domain/vo/UserLoginVo.java

@@ -0,0 +1,13 @@
+package com.abcsz.litigationcase.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "用户登陆输出对象")
+public class UserLoginVo extends PublicVo{
+
+    @ApiModelProperty(value = "用户id")
+    private String userId;
+}

+ 5 - 1
src/main/java/com/abcsz/litigationcase/service/UserLoginService.java

@@ -2,7 +2,9 @@ package com.abcsz.litigationcase.service;
 
 import com.abcsz.litigationcase.dao.entity.UserLoginEntity;
 import com.abcsz.litigationcase.domain.ro.UserLoginRo;
+import com.abcsz.litigationcase.domain.ro.UserOutRo;
 import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.abcsz.litigationcase.domain.vo.UserLoginVo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -15,5 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface UserLoginService extends IService<UserLoginEntity> {
 
-    PublicVo userLogin(UserLoginRo ro);
+    UserLoginVo userLogin(UserLoginRo ro);
+
+    PublicVo userOut(UserOutRo ro);
 }

+ 50 - 13
src/main/java/com/abcsz/litigationcase/service/impl/UserLoginServiceIml.java

@@ -5,7 +5,9 @@ import com.abcsz.litigationcase.dao.entity.UserLoginEntity;
 import com.abcsz.litigationcase.dao.mapper.UserLoginMapper;
 import com.abcsz.litigationcase.dao.mapper.UserMapper;
 import com.abcsz.litigationcase.domain.ro.UserLoginRo;
+import com.abcsz.litigationcase.domain.ro.UserOutRo;
 import com.abcsz.litigationcase.domain.vo.PublicVo;
+import com.abcsz.litigationcase.domain.vo.UserLoginVo;
 import com.abcsz.litigationcase.service.UserLoginService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,27 +35,27 @@ public class UserLoginServiceIml extends ServiceImpl<UserLoginMapper, UserLoginE
     private UserLoginMapper userLoginMapper;
 
     @Override
-    public PublicVo userLogin(UserLoginRo ro) {
+    public UserLoginVo userLogin(UserLoginRo ro) {
         log.info("用户登录登记...");
-        PublicVo publicVo = new PublicVo();
-
+        UserLoginVo userLoginVo = new UserLoginVo();
+        UserEntity userEntity =null;
         try {
             /* 查询用户信息 */
             QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("user_account",ro.getUserAccount());
             queryWrapper.eq("del_flag",0);
-            UserEntity userEntity = userMapper.selectOne(queryWrapper);
+            userEntity = userMapper.selectOne(queryWrapper);
             if(userEntity == null){
-                publicVo.setRetCode("Y001");
-                publicVo.setRetMsg("用户账号不存在");
-                log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
-                return publicVo;
+                userLoginVo.setRetCode("Y001");
+                userLoginVo.setRetMsg("用户账号不存在");
+                log.info(userLoginVo.getRetCode() + "****" + userLoginVo.getRetMsg());
+                return userLoginVo;
             }
             if(!(userEntity.getUserPassword().equals(ro.getUserPassword()))){
-                publicVo.setRetCode("Y002");
-                publicVo.setRetMsg("密码输入错误");
-                log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
-                return publicVo;
+                userLoginVo.setRetCode("Y002");
+                userLoginVo.setRetMsg("密码输入错误");
+                log.info(userLoginVo.getRetCode() + "****" + userLoginVo.getRetMsg());
+                return userLoginVo;
             }
 
             UserLoginEntity userLoginEntity = new UserLoginEntity();
@@ -61,9 +63,44 @@ public class UserLoginServiceIml extends ServiceImpl<UserLoginMapper, UserLoginE
             userLoginEntity.setLoginTime(new Date());
             userLoginEntity.setDelFlag(0);
             int count = userLoginMapper.insert(userLoginEntity);
+            if(count !=1){
+                userLoginVo.setRetCode("S001");
+                userLoginVo.setRetMsg("登陆信息登记异常,请重新登陆");
+                log.info(userLoginVo.getRetCode() + "****" + userLoginVo.getRetMsg());
+                return userLoginVo;
+            }
+
+        } catch (Exception e) {
+            log.error(e.getMessage() + "****" + e.getStackTrace());
+            userLoginVo.setRetCode("X001");
+            userLoginVo.setRetMsg("系统异常");
+            log.error(userLoginVo.getRetCode() + "****" + userLoginVo.getRetMsg());
+            return userLoginVo;
+        }
+
+        userLoginVo.setUserId(userEntity.getUserId());
+        userLoginVo.setRetCode("0000");
+        userLoginVo.setRetMsg("操作成功");
+        log.info(userLoginVo.getRetCode() + "****" + userLoginVo.getRetMsg());
+        return userLoginVo;
+    }
+
+    @Override
+    public PublicVo userOut(UserOutRo ro) {
+        log.info("用户登出登记...");
+        PublicVo publicVo = new PublicVo();
+
+        try {
+            QueryWrapper<UserLoginEntity> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("user_id",ro.getUserId());
+            queryWrapper.eq("del_flag",0);
+            queryWrapper.orderByDesc("login_time");
+            UserLoginEntity userLoginEntity = new UserLoginEntity();
+            userLoginEntity.setOutTime(new Date());
+            int count = userLoginMapper.update(userLoginEntity,queryWrapper);
             if(count !=1){
                 publicVo.setRetCode("S001");
-                publicVo.setRetMsg("登陆信息登记异常,请重新登陆");
+                publicVo.setRetMsg("登出信息登记异常,请重新操作");
                 log.info(publicVo.getRetCode() + "****" + publicVo.getRetMsg());
                 return publicVo;
             }