From bb294f0394f8e5aab45258d7450c9ad5ccd5c6d9 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 24 Sep 2020 16:40:48 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/member/entity/MemberDeviceInfo.java    |   17 ++++++++
 src/main/java/com/xcong/excoin/common/system/controller/CommonController.java |   52 ++++++++++++++++++++++++--
 src/main/java/com/xcong/excoin/common/system/controller/LoginController.java  |   15 -------
 3 files changed, 65 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
index 61639f7..01a4c3c 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/CommonController.java
@@ -2,15 +2,17 @@
 
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.contants.AppContants;
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.common.system.dto.Base64UploadDto;
 import com.xcong.excoin.common.system.service.CommonService;
 import com.xcong.excoin.configurations.properties.AliOssProperties;
-import com.xcong.excoin.utils.MessageSourceUtils;
-import com.xcong.excoin.utils.OssUtils;
-import com.xcong.excoin.utils.RedisUtils;
-import com.xcong.excoin.utils.SmsUtils;
+import com.xcong.excoin.modules.member.entity.MemberDeviceInfo;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.service.MemberDeviceInfoService;
+import com.xcong.excoin.utils.*;
 import com.xcong.excoin.utils.mail.Sms106Send;
 import com.xcong.excoin.utils.mail.SmsSend;
 import com.xcong.excoin.utils.mail.SubMailSend;
@@ -22,6 +24,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -47,6 +50,9 @@
 
     @Resource
     private AliOssProperties aliOssProperties;
+
+    @Resource
+    private MemberDeviceInfoService memberDeviceInfoService;
 
     @ApiOperation(value = "获取验证码接口", notes = "获取验证码通用接口")
     @GetMapping(value = "/verifyCode")
@@ -107,4 +113,42 @@
         }
         return Result.fail(MessageSourceUtils.getString("uploadFile_controller_0001"));
     }
+
+    @ApiOperation(value = "设备信息", notes = "获取设备信息")
+    @GetMapping(value = "/userInfo")
+    public Result userInfo(HttpServletRequest request) {
+        String device = request.getHeader("device");
+
+        if (StrUtil.isBlank(device)) {
+            return Result.fail("device not found");
+        }
+        MemberEntity member = LoginUserUtils.getAppLoginUser();
+        QueryWrapper<MemberDeviceInfo> query = new QueryWrapper<>();
+        query.eq("device_code", device);
+        Long memberId = null;
+        if (member != null) {
+            memberId = member.getId();
+            query.eq("member_id", memberId);
+        }
+        MemberDeviceInfo deviceInfo = memberDeviceInfoService.getOne(query);
+
+        String userAgent = HttpUtils.getUserAgent(request);
+        String ip = HttpUtils.getRealIp(request);
+        if (deviceInfo == null) {
+            deviceInfo = new MemberDeviceInfo();
+            deviceInfo.setMemberId(memberId);
+            deviceInfo.setUserAgent(userAgent);
+            deviceInfo.setDeviceCode(device);
+            deviceInfo.setIp(ip);
+            memberDeviceInfoService.save(deviceInfo);
+        } else {
+            deviceInfo.setMemberId(memberId);
+            deviceInfo.setUserAgent(userAgent);
+            deviceInfo.setDeviceCode(device);
+            deviceInfo.setIp(ip);
+            memberDeviceInfoService.updateById(deviceInfo);
+        }
+
+        return Result.ok("success");
+    }
 }
diff --git a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
index 97ee995..12785f7 100644
--- a/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
+++ b/src/main/java/com/xcong/excoin/common/system/controller/LoginController.java
@@ -109,21 +109,6 @@
             authInfo.put("token", token);
             authInfo.put("user", loginUserBean);
         }
-
-        MemberDeviceInfo deviceInfo = memberDeviceInfoService.getByMemberId(loginUserBean.getMemberEntity().getId());
-        String ip = HttpUtils.getRealIp(request);
-        String userAgent = HttpUtils.getUserAgent(request);
-        if (deviceInfo == null) {
-            deviceInfo = new MemberDeviceInfo();
-            deviceInfo.setIp(ip);
-            deviceInfo.setUserAgent(userAgent);
-            deviceInfo.setMemberId(loginUserBean.getMemberEntity().getId());
-            memberDeviceInfoService.save(deviceInfo);
-        } else {
-            deviceInfo.setIp(ip);
-            deviceInfo.setUserAgent(userAgent);
-            memberDeviceInfoService.updateById(deviceInfo);
-        }
         return Result.ok("success", authInfo);
     }
 
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberDeviceInfo.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberDeviceInfo.java
index 2567ead..238ba90 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberDeviceInfo.java
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberDeviceInfo.java
@@ -11,7 +11,24 @@
 @Data
 @TableName("member_device_info")
 public class MemberDeviceInfo extends BaseEntity {
+
+    /**
+     * 用户ID
+     */
     private Long memberId;
+
+    /**
+     * ip地址
+     */
     private String ip;
+
+    /**
+     * userAgent
+     */
     private String userAgent;
+
+    /**
+     * 设备唯一标识码
+     */
+    private String deviceCode;
 }

--
Gitblit v1.9.1