Browse Source

APP设备心跳新增接口增加IP获取

hanzhengyi 1 year ago
parent
commit
9b67f83b89

+ 15 - 3
service-iot/service-iot-biz/src/main/java/com/usky/iot/service/impl/BaseAppInfoServiceImpl.java

@@ -8,6 +8,9 @@ import com.usky.iot.mapper.BaseAppInfoMapper;
 import com.usky.iot.service.BaseAppInfoService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
@@ -37,11 +40,20 @@ public class BaseAppInfoServiceImpl extends AbstractCrudService<BaseAppInfoMappe
         return ip;
     }
 
+    public static HttpServletRequest getHttpServletRequest() {
+        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
+        if(requestAttributes == null){
+            return null;
+        }
+
+        return ((ServletRequestAttributes) requestAttributes).getRequest();
+    }
+
     @Override
     public void add(BaseAppInfo baseAppInfo){
-        //Calendar car = Calendar.getInstance();
-        //Date date = car.getTime();
-        //baseAlarmType.setTypeCode(baseAlarmType.getTypeAbbrevia()+"-"+new SimpleDateFormat("yyyyMMddHHmmssSSS").format(date));
+        HttpServletRequest request = getHttpServletRequest();
+        String accessIp = getIpAddress(request);
+        baseAppInfo.setAccessIp(accessIp);
         baseAppInfo.setCreateBy(SecurityUtils.getUsername());
         baseAppInfo.setCreateTime(LocalDateTime.now());
         baseAppInfo.setTenantId(SecurityUtils.getTenantId());