From 79d3c0d92e7a0b7c3c4f033ce07a81b304f063ed Mon Sep 17 00:00:00 2001 From: wangqian <1406304305@qq.com> Date: Thu, 12 Mar 2026 17:55:14 +0800 Subject: [PATCH] 到期提醒获取本机IP --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/task/ExpireRemindJob.java | 3 ++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/LocalIpUtils.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/LocalIpUtils.java diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/task/ExpireRemindJob.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/task/ExpireRemindJob.java index f20b6cd..3efb44e 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/task/ExpireRemindJob.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/job/task/ExpireRemindJob.java @@ -6,6 +6,7 @@ import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTa import com.zteits.urbanops.module.garden.enums.AssignTasksConstants; import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; import com.zteits.urbanops.module.garden.service.assigntasksinfo.QuartzRemindService; +import com.zteits.urbanops.module.garden.util.LocalIpUtils; import com.zteits.urbanops.module.system.api.sms.SmsCodeApi; import com.zteits.urbanops.module.system.api.sms.dto.code.SmsCodeSendReqDTO; import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; @@ -134,7 +135,7 @@ public class ExpireRemindJob implements Job { reqDTO.setScene(AssignTasksConstants.ASSIGN_TASK_SCENE); reqDTO.setMobile(phonenumber);//手机号 reqDTO.setTemplateParams(templateParams);//短信参数 - reqDTO.setCreateIp(getClientIP()); + reqDTO.setCreateIp(LocalIpUtils.getLocalIp()); smsCodeApi.openSendSmsCode(reqDTO); log.info("提交单位任务成功,已通知填报人:手机号:{},任务ID={}", phonenumber, task.getId()); sendFlag = true; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/LocalIpUtils.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/LocalIpUtils.java new file mode 100644 index 0000000..7bfc4ba --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/LocalIpUtils.java @@ -0,0 +1,54 @@ +package com.zteits.urbanops.module.garden.util; + +import java.net.*; +import java.util.Enumeration; +/** + * @Classname LocalIpUtils + * @Description 获取本机内网IP + * @Date 2026/3/12 17:53 + * @Created by wangqian + */ +public class LocalIpUtils { + + /** + * 获取本机内网IP(排除回环地址、虚拟网卡) + * @return 本机IP字符串,获取失败返回 null + */ + public static String getLocalIp() { + try { + // 遍历所有网络接口 + Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); + while (interfaces.hasMoreElements()) { + NetworkInterface ni = interfaces.nextElement(); + // 跳过虚拟网卡、回环网卡、非运行状态的网卡 + if (ni.isLoopback() || ni.isVirtual() || !ni.isUp()) { + continue; + } + + // 遍历该网卡下的所有IP地址 + Enumeration addresses = ni.getInetAddresses(); + while (addresses.hasMoreElements()) { + InetAddress addr = addresses.nextElement(); + // 只取IPv4地址(排除IPv6) + if (addr instanceof Inet4Address) { + String ip = addr.getHostAddress(); + // 排除回环地址(127.x.x.x) + if (!ip.startsWith("127.")) { + return ip; + } + } + } + } + } catch (SocketException e) { + e.printStackTrace(); + } + // 如果没找到,返回回环地址兜底 + return "127.0.0.1"; + } + + // 测试方法 + public static void main(String[] args) { + String localIp = getLocalIp(); + System.out.println("本机内网IP:" + localIp); + } +} -- libgit2 0.21.4