|
|
@@ -2,6 +2,7 @@ package com.cyksj.web.controller.user;
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.extra.servlet.ServletUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.annotation.NoSubmit;
|
|
|
import com.cyksj.common.exception.BusinessRuntimeException;
|
|
|
@@ -11,6 +12,7 @@ import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.GoodsDonSkuMapper;
|
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
|
import com.cyksj.mapper.UserDistributePosterRecordMapper;
|
|
|
+import com.cyksj.mapper.UserIpRecordMapper;
|
|
|
import com.cyksj.mapper.manage.coupon.CouponUserMapper;
|
|
|
import com.cyksj.mapper.manage.distribute.*;
|
|
|
import com.cyksj.model.dto.UserWhoami;
|
|
|
@@ -91,6 +93,8 @@ public class UserController {
|
|
|
|
|
|
private final DistributePosterGoodsMapper distributePosterGoodsMapper;
|
|
|
|
|
|
+ private final UserIpRecordMapper userIpRecordMapper;
|
|
|
+
|
|
|
@GetMapping(value = "/wx/whoami")
|
|
|
public Result<UserWhoami> whoami() {
|
|
|
long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
@@ -565,4 +569,26 @@ public class UserController {
|
|
|
}
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(distributePosterRecord.getId());
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 记录用户ip
|
|
|
+ */
|
|
|
+ @PostMapping("/user/ip/record")
|
|
|
+ public Result<String> recordUserIpAddress() {
|
|
|
+ long userId = StpUserUtil.getLoginIdAsLong();
|
|
|
+ String ip = ServletUtil.getClientIP(request);
|
|
|
+ Integer selectCount = userIpRecordMapper.selectCount(Wrappers.lambdaQuery(UserIpRecord.class)
|
|
|
+ .eq(UserIpRecord::getUserId, userId)
|
|
|
+ .eq(UserIpRecord::getIp, ip));
|
|
|
+ if (selectCount == 0) {
|
|
|
+ try {
|
|
|
+ UserIpRecord userIpRecord = new UserIpRecord();
|
|
|
+ userIpRecord.setUserId(userId);
|
|
|
+ userIpRecord.setIp(ip);
|
|
|
+ userIpRecordMapper.insert(userIpRecord);
|
|
|
+ } catch (DuplicateKeyException e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
+ }
|
|
|
}
|