From c594d8b22ece67869de301996a971f72e35c94f3 Mon Sep 17 00:00:00 2001 From: fengyarnom Date: Wed, 11 Jun 2025 16:42:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=8C=89imei?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GnssDeviceController.java | 5 ++ .../beidou/controller/SimCardController.java | 68 ++++++++++++++++++- .../templates/page/gnss_dev_cfg.html | 6 ++ .../resources/templates/page/sim_status.html | 2 + 4 files changed, 80 insertions(+), 1 deletion(-) diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java index 28986a21..394ffddf 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssDeviceController.java @@ -165,6 +165,11 @@ public class GnssDeviceController extends BasicController{ if (StringUtils.hasText(appver)) { queryWrapper.like("appver", appver); } + //IMEI + String imei = search.getString("imei"); + if (StringUtils.hasText(imei)) { + queryWrapper.like("imei", imei); + } //备注 String remark = search.getString("remark"); if (StringUtils.hasText(remark)) { diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/SimCardController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/SimCardController.java index 995b3538..9283f6f2 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/SimCardController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/SimCardController.java @@ -88,6 +88,9 @@ public class SimCardController extends BasicController { case "iccid": deviceQueryWrapper.like("iccid", searchContent.trim()); break; + case "imei": + deviceQueryWrapper.like("imei", searchContent.trim()); + break; case "simNumber": // 通过SIM号查找对应的ICCID,然后查询设备 TrafficCard cardByMsisdn = trafficCardMapper.selectOne( @@ -142,6 +145,7 @@ public class SimCardController extends BasicController { deviceData.put("id", device.getId()); deviceData.put("deviceid", device.getDeviceid()); deviceData.put("iccid", device.getIccid()); + deviceData.put("imei", device.getImei()); if (trafficCard != null) { deviceData.put("msisdn", trafficCard.getMsisdn()); @@ -207,6 +211,19 @@ public class SimCardController extends BasicController { } params.put("card", device.getIccid()); break; + case "imei": + if (content.trim().isEmpty()) { + throw new IllegalArgumentException("IMEI不能为空"); + } + QueryWrapper deviceByImeiQueryWrapper = new QueryWrapper<>(); + deviceByImeiQueryWrapper.eq("imei", content.trim()); + deviceByImeiQueryWrapper.last("limit 1"); + GnssDevice deviceByImei = gnssDeviceMapper.selectOne(deviceByImeiQueryWrapper); + if (deviceByImei == null || deviceByImei.getIccid() == null || deviceByImei.getIccid().trim().isEmpty()) { + throw new IllegalArgumentException("未找到该IMEI对应的设备或设备没有ICCID信息"); + } + params.put("card", deviceByImei.getIccid()); + break; case "simNumber": params.put("card", content); break; @@ -289,6 +306,17 @@ public class SimCardController extends BasicController { case "iccid": queryWrapper.like("iccid", searchContent.trim()); break; + case "imei": + QueryWrapper deviceByImeiQueryWrapper = new QueryWrapper<>(); + deviceByImeiQueryWrapper.eq("imei", searchContent.trim()); + deviceByImeiQueryWrapper.last("limit 1"); + GnssDevice deviceByImei = gnssDeviceMapper.selectOne(deviceByImeiQueryWrapper); + if (deviceByImei != null && deviceByImei.getIccid() != null && !deviceByImei.getIccid().trim().isEmpty()) { + queryWrapper.eq("iccid", deviceByImei.getIccid()); + } else { + queryWrapper.eq("iccid", ""); + } + break; case "simNumber": TrafficCard cardByMsisdn = trafficCardMapper.selectOne( new QueryWrapper().like("msisdn", searchContent.trim()) @@ -377,6 +405,17 @@ public class SimCardController extends BasicController { case "iccid": queryWrapper.like("iccid", searchContent.trim()); break; + case "imei": + QueryWrapper deviceByImeiQueryWrapper = new QueryWrapper<>(); + deviceByImeiQueryWrapper.eq("imei", searchContent.trim()); + deviceByImeiQueryWrapper.last("limit 1"); + GnssDevice deviceByImei = gnssDeviceMapper.selectOne(deviceByImeiQueryWrapper); + if (deviceByImei != null && deviceByImei.getIccid() != null && !deviceByImei.getIccid().trim().isEmpty()) { + queryWrapper.eq("iccid", deviceByImei.getIccid()); + } else { + queryWrapper.eq("iccid", ""); + } + break; case "simNumber": TrafficCard cardByMsisdn = trafficCardMapper.selectOne( new QueryWrapper().like("msisdn", searchContent.trim()) @@ -474,6 +513,9 @@ public class SimCardController extends BasicController { case "iccid": deviceQueryWrapper.like("iccid", searchContent.trim()); break; + case "imei": + deviceQueryWrapper.like("imei", searchContent.trim()); + break; case "simNumber": // 通过SIM号查找对应的ICCID,然后查询设备 TrafficCard cardByMsisdn = trafficCardMapper.selectOne( @@ -527,7 +569,7 @@ public class SimCardController extends BasicController { } List> exportList = new ArrayList<>(); - List headList = Arrays.asList("设备号", "ICCID", "SIM卡号", "状态", + List headList = Arrays.asList("设备号", "ICCID", "SIM卡号", "IMEI", "状态", "剩余流量(MB)", "总流量(MB)", "已用流量(MB)", "更新时间"); for (GnssDevice device : devices) { @@ -542,6 +584,7 @@ public class SimCardController extends BasicController { if (trafficCard != null) { rowData.add(trafficCard.getMsisdn()); // SIM卡号 + rowData.add(device.getImei() != null ? device.getImei() : ""); // IMEI String statusStr; switch(trafficCard.getStatus()) { @@ -565,6 +608,7 @@ public class SimCardController extends BasicController { rowData.add(trafficCard.getUpdatetime()); // 更新时间 } else { rowData.add("-"); // SIM卡号 + rowData.add(device.getImei() != null ? device.getImei() : ""); // IMEI rowData.add("未知"); // 状态 rowData.add("0"); // 剩余流量 rowData.add("0"); // 总流量 @@ -622,6 +666,17 @@ public class SimCardController extends BasicController { case "iccid": queryWrapper.like("iccid", searchContent.trim()); break; + case "imei": + QueryWrapper deviceByImeiQueryWrapper = new QueryWrapper<>(); + deviceByImeiQueryWrapper.eq("imei", searchContent.trim()); + deviceByImeiQueryWrapper.last("limit 1"); + GnssDevice deviceByImei = gnssDeviceMapper.selectOne(deviceByImeiQueryWrapper); + if (deviceByImei != null && deviceByImei.getIccid() != null && !deviceByImei.getIccid().trim().isEmpty()) { + queryWrapper.eq("iccid", deviceByImei.getIccid()); + } else { + queryWrapper.eq("iccid", ""); + } + break; case "simNumber": TrafficCard cardByMsisdn = trafficCardMapper.selectOne( new QueryWrapper().like("msisdn", searchContent.trim()) @@ -714,6 +769,17 @@ public class SimCardController extends BasicController { case "iccid": queryWrapper.like("iccid", searchContent.trim()); break; + case "imei": + QueryWrapper deviceByImeiQueryWrapper = new QueryWrapper<>(); + deviceByImeiQueryWrapper.eq("imei", searchContent.trim()); + deviceByImeiQueryWrapper.last("limit 1"); + GnssDevice deviceByImei = gnssDeviceMapper.selectOne(deviceByImeiQueryWrapper); + if (deviceByImei != null && deviceByImei.getIccid() != null && !deviceByImei.getIccid().trim().isEmpty()) { + queryWrapper.eq("iccid", deviceByImei.getIccid()); + } else { + queryWrapper.eq("iccid", ""); + } + break; case "simNumber": TrafficCard cardByMsisdn = trafficCardMapper.selectOne( new QueryWrapper().like("msisdn", searchContent.trim()) diff --git a/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html b/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html index eec193d9..91e81439 100644 --- a/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html +++ b/sec-beidou/src/main/resources/templates/page/gnss_dev_cfg.html @@ -62,6 +62,12 @@ +
+ +
+ +
+
diff --git a/sec-beidou/src/main/resources/templates/page/sim_status.html b/sec-beidou/src/main/resources/templates/page/sim_status.html index d68c180f..6b969076 100644 --- a/sec-beidou/src/main/resources/templates/page/sim_status.html +++ b/sec-beidou/src/main/resources/templates/page/sim_status.html @@ -24,6 +24,7 @@ +
@@ -192,6 +193,7 @@ {field: 'deviceid', title: '设备号'}, {field: 'iccid', title: 'ICCID'}, {field: 'msisdn', title: 'SIM 卡号'}, + {field: 'imei', title: 'IMEI'}, {field: 'updateTime', title: '更新时间',templet: "
{{layui.util.toDateString(d.updateTime, 'yyyy-MM-dd HH:mm:ss')}}
"}, {field: 'status', title: '状态',templet: '#statusTpl'}, {field: 'remaining', title: '剩余流量(MB)', templet: function(d) { -- 2.39.5