Helius
2020-09-24 bb294f0394f8e5aab45258d7450c9ad5ccd5c6d9
modify
3 files modified
84 ■■■■ changed files
src/main/java/com/xcong/excoin/common/system/controller/CommonController.java 52 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/system/controller/LoginController.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/entity/MemberDeviceInfo.java 17 ●●●●● patch | view | raw | blame | history
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");
    }
}
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);
    }
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;
}