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