From c5243ab08bd80bf298dc7b9301e0111eb867b706 Mon Sep 17 00:00:00 2001 From: fengyarnom Date: Tue, 3 Jun 2025 18:04:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=AD=97=E6=AE=B5=E7=9A=84=E4=B8=80=E4=BA=9BBUG?= =?UTF-8?q?=EF=BC=8C=E7=94=B1=E4=BA=8E=E4=B8=8D=E8=83=BD=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E4=B8=8B=E5=88=92=E7=BA=BF=E8=BD=AC=E9=A9=BC=E5=B3=B0=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=AD=97=E6=AE=B5=E8=AF=BB=E5=8F=96=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/imdroid/secapi/dto/TrafficCard.java | 6 +- .../imdroid/secapi/dto/TrafficCardMapper.java | 6 +- .../secapi/dto/TrafficDeviceMapping.java | 6 +- .../dto/TrafficDeviceMappingMapper.java | 8 +-- .../com/imdroid/secapi/dto/TrafficRecord.java | 3 +- .../simcard/SimCardQueryServiceImpl.java | 2 +- .../simcard/TrafficCardService.java | 8 +-- .../beidou_ehm/task/SimStatusChecker.java | 14 ++-- .../beidou/controller/SimCardController.java | 16 ++--- sec-beidou/src/main/resources/db/schema.sql | 68 +++---------------- 10 files changed, 42 insertions(+), 95 deletions(-) diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCard.java b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCard.java index 84972ec2..ba333136 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCard.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCard.java @@ -49,11 +49,9 @@ public class TrafficCard { @ExcelProperty("已用流量(MB)") private Integer used; - @TableField("update_time") @ExcelProperty("更新时间") - private Date updateTime; + private Date updatetime; - @TableField("query_status") @ExcelProperty("查询状态") - private Integer queryStatus; + private Integer querystatus; } \ No newline at end of file diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCardMapper.java b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCardMapper.java index 38babdaf..ae76acdb 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCardMapper.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficCardMapper.java @@ -15,7 +15,7 @@ public interface TrafficCardMapper extends BaseMapper { TrafficCard findByIccid(String iccid); @Update("UPDATE traffic_cards SET " + - "update_time = #{updateTime}, " + + "updatetime = #{updatetime}, " + "msisdn = #{msisdn}, " + "status = #{status}, " + "remaining = #{remaining}, " + @@ -24,11 +24,11 @@ public interface TrafficCardMapper extends BaseMapper { "WHERE iccid = #{iccid}") int updateCardInfo(TrafficCard trafficCard); - @Update("UPDATE traffic_cards SET query_status = #{queryStatus} WHERE iccid = #{iccid}") + @Update("UPDATE traffic_cards SET querystatus = #{querystatus} WHERE iccid = #{iccid}") int updateQueryStatus(String iccid,int queryStatus); @Update("UPDATE traffic_cards SET " + - "update_time = #{updateTime}, " + + "updatetime = #{updatetime}, " + "remaining = #{remaining}, " + "total = #{total}, " + "used = #{used} " + diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMapping.java b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMapping.java index c3dc243b..f3a807f1 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMapping.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMapping.java @@ -19,9 +19,7 @@ public class TrafficDeviceMapping { private String iccid; - @TableField("start_time") - private Date startTime; + private Date starttime; - @TableField("end_time") - private Date endTime; // 结束使用时间,NULL表示当前正在使用 + private Date endtime; // 结束使用时间,NULL表示当前正在使用 } \ No newline at end of file diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMappingMapper.java b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMappingMapper.java index 097c94e3..da751372 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMappingMapper.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficDeviceMappingMapper.java @@ -10,15 +10,15 @@ import java.util.List; @Mapper public interface TrafficDeviceMappingMapper extends BaseMapper { - @Select("SELECT * FROM traffic_device_mappings WHERE deviceid = #{deviceId} AND end_time IS NULL LIMIT 1") + @Select("SELECT * FROM traffic_device_mappings WHERE deviceid = #{deviceId} AND endtime IS NULL LIMIT 1") TrafficDeviceMapping findActiveByDeviceId(String deviceId); - @Select("SELECT * FROM traffic_device_mappings WHERE iccid = #{iccid} AND end_time IS NULL LIMIT 1") + @Select("SELECT * FROM traffic_device_mappings WHERE iccid = #{iccid} AND endtime IS NULL LIMIT 1") TrafficDeviceMapping findActiveByIccid(String iccid); - @Select("SELECT * FROM traffic_device_mappings WHERE deviceid = #{deviceId} ORDER BY start_time DESC") + @Select("SELECT * FROM traffic_device_mappings WHERE deviceid = #{deviceId} ORDER BY starttime DESC") List findHistoryByDeviceId(String deviceId); - @Update("UPDATE traffic_device_mappings SET end_time = NOW() WHERE id = #{id}") + @Update("UPDATE traffic_device_mappings SET endtime = NOW() WHERE id = #{id}") int endMapping(Integer id); } \ No newline at end of file diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficRecord.java b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficRecord.java index 42da916b..5d023db0 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficRecord.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/TrafficRecord.java @@ -17,8 +17,7 @@ public class TrafficRecord { private String iccid; - @TableField("record_time") - private Date recordTime; + private Date recordtime; private Integer remaining; // 剩余流量(MB×1000) private Integer used; // 已用流量(MB×1000) diff --git a/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/SimCardQueryServiceImpl.java b/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/SimCardQueryServiceImpl.java index 0175dc24..d71f6787 100644 --- a/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/SimCardQueryServiceImpl.java +++ b/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/SimCardQueryServiceImpl.java @@ -188,7 +188,7 @@ public class SimCardQueryServiceImpl implements SimCardQueryService{ card = new TrafficCard(); card.setIccid(device.getIccid()); card.setStatus(-1); - card.setUpdateTime(new Date()); + card.setUpdatetime(new Date()); trafficCardMapper.insert(card); } return card; diff --git a/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/TrafficCardService.java b/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/TrafficCardService.java index b1f02dc5..59005b3b 100644 --- a/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/TrafficCardService.java +++ b/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/simcard/TrafficCardService.java @@ -54,8 +54,8 @@ public class TrafficCardService { card.setRemaining(0); card.setTotal(0); card.setUsed(0); - card.setUpdateTime(new Date()); - card.setQueryStatus(TrafficCard.QUERY_STATUS_NORMAL); + card.setUpdatetime(new Date()); + card.setQuerystatus(TrafficCard.QUERY_STATUS_NORMAL); trafficCardMapper.insert(card); } @@ -93,8 +93,8 @@ public class TrafficCardService { TrafficDeviceMapping newMapping = new TrafficDeviceMapping(); newMapping.setDeviceid(deviceId); newMapping.setIccid(iccid); - newMapping.setStartTime(new Date()); - newMapping.setEndTime(null); + newMapping.setStarttime(new Date()); + newMapping.setEndtime(null); mappingMapper.insert(newMapping); } diff --git a/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/task/SimStatusChecker.java b/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/task/SimStatusChecker.java index 225d9b29..585647ac 100644 --- a/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/task/SimStatusChecker.java +++ b/sec-beidou-ehm/src/main/java/com/imdroid/beidou_ehm/task/SimStatusChecker.java @@ -117,12 +117,12 @@ public class SimStatusChecker { TrafficCard trafficCard = trafficCardService.getOrCreateTrafficCard(device.getIccid()); // 检查查询状态,如果已标记为非当前卡商或查询失败,则跳过 - if (trafficCard.getQueryStatus() != null && - trafficCard.getQueryStatus() != TrafficCard.QUERY_STATUS_NORMAL) { + if (trafficCard.getQuerystatus() != null && + trafficCard.getQuerystatus() != TrafficCard.QUERY_STATUS_NORMAL) { logger.debug("设备 {} 的SIM卡 {} 查询状态为 {},跳过流量查询", device.getDeviceid(), device.getIccid(), - trafficCard.getQueryStatus()); + trafficCard.getQuerystatus()); return; } @@ -164,7 +164,7 @@ public class SimStatusChecker { } CardInfoData info = response.getData(); - trafficCard.setUpdateTime(new Date()); + trafficCard.setUpdatetime(new Date()); trafficCard.setMsisdn(info.getMsisdn()); trafficCardMapper.updateCardInfo(trafficCard); @@ -187,7 +187,7 @@ public class SimStatusChecker { } CardStatusData status = response.getData(); - trafficCard.setUpdateTime(new Date()); + trafficCard.setUpdatetime(new Date()); trafficCard.setStatus(status.getStatusCode()); trafficCardMapper.updateCardInfo(trafficCard); @@ -217,7 +217,7 @@ public class SimStatusChecker { return; } - trafficCard.setUpdateTime(new Date()); + trafficCard.setUpdatetime(new Date()); // 将浮点数转换为整数存储(MB值×1000) trafficCard.setRemaining((int)(usage.getLeft() * 1000)); trafficCard.setUsed((int)(usage.getUsed() * 1000)); @@ -227,7 +227,7 @@ public class SimStatusChecker { TrafficRecord record = new TrafficRecord(); record.setIccid(trafficCard.getIccid()); - record.setRecordTime(new Date()); + record.setRecordtime(new Date()); record.setRemaining(trafficCard.getRemaining()); record.setTotal(trafficCard.getTotal()); record.setUsed(trafficCard.getUsed()); 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 14ece89a..54ed874c 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 @@ -146,8 +146,8 @@ public class SimCardController extends BasicController { deviceData.put("remaining", trafficCard.getRemaining()); deviceData.put("total", trafficCard.getTotal()); deviceData.put("used", trafficCard.getUsed()); - deviceData.put("updateTime", trafficCard.getUpdateTime()); - deviceData.put("queryStatus", trafficCard.getQueryStatus()); + deviceData.put("updateTime", trafficCard.getUpdatetime()); + deviceData.put("queryStatus", trafficCard.getQuerystatus()); } else { deviceData.put("msisdn", "-"); deviceData.put("status", TrafficCard.STATUS_UNKNOWN); @@ -297,7 +297,7 @@ public class SimCardController extends BasicController { } } - queryWrapper.orderByDesc("record_time"); + queryWrapper.orderByDesc("recordtime"); IPage records = trafficRecordMapper.selectPage(pageable, queryWrapper); List> enrichedData = new ArrayList<>(); @@ -305,7 +305,7 @@ public class SimCardController extends BasicController { Map recordData = new HashMap<>(); recordData.put("id", record.getId()); recordData.put("iccid", record.getIccid()); - recordData.put("recordTime", record.getRecordTime()); + recordData.put("recordTime", record.getRecordtime()); recordData.put("remaining", record.getRemaining()); recordData.put("total", record.getTotal()); recordData.put("used", record.getUsed()); @@ -378,7 +378,7 @@ public class SimCardController extends BasicController { } } - queryWrapper.orderByDesc("start_time"); + queryWrapper.orderByDesc("starttime"); IPage mappings = trafficDeviceMappingMapper.selectPage(pageable, queryWrapper); List> enrichedData = new ArrayList<>(); @@ -387,10 +387,10 @@ public class SimCardController extends BasicController { mappingData.put("id", mapping.getId()); mappingData.put("deviceId", mapping.getDeviceid()); mappingData.put("iccid", mapping.getIccid()); - mappingData.put("startTime", mapping.getStartTime()); - mappingData.put("endTime", mapping.getEndTime()); + mappingData.put("startTime", mapping.getStarttime()); + mappingData.put("endTime", mapping.getEndtime()); - mappingData.put("isActive", mapping.getEndTime() == null); + mappingData.put("isActive", mapping.getEndtime() == null); // 查找对应的流量卡信息 TrafficCard trafficCard = trafficCardMapper.findByIccid(mapping.getIccid()); diff --git a/sec-beidou/src/main/resources/db/schema.sql b/sec-beidou/src/main/resources/db/schema.sql index d77648ef..38f036d5 100644 --- a/sec-beidou/src/main/resources/db/schema.sql +++ b/sec-beidou/src/main/resources/db/schema.sql @@ -349,54 +349,6 @@ CREATE TABLE IF NOT EXISTS `gnssdevicesinglerecords` ( KEY `idx_createtime` (`createtime`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='GNSS单次解算记录表'; -/*** - SIM卡记录表 - */ -CREATE TABLE IF NOT EXISTS `simcards` ( - `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,唯一', - `updatetime` DATETIME DEFAULT NULL COMMENT '最新一次查询接口记录的时间', - `iccid` VARCHAR(36) NOT NULL COMMENT 'ICCID号,唯一', - `msisdn` VARCHAR(20) NOT NULL COMMENT '物联卡号码,SIM号,唯一', - `deviceid` VARCHAR(20) DEFAULT NULL COMMENT '设备ID号', - `status` TINYINT DEFAULT -1 COMMENT 'SIM卡状态(-1:未知, 1:待激活, 2:已激活, 3:停机, 4:注销, 5:库存, 6:可测试, 7:失效, 99:号码不存在)', - `remaining` DECIMAL(10,2) DEFAULT 0.00 COMMENT '剩余流量,单位为MB,保留两位小数', - `total` DECIMAL(10,2) DEFAULT 0.00 COMMENT '总流量,单位为MB,保留两位小数', - `used` DECIMAL(10,2) DEFAULT 0.00 COMMENT '已用流量,单位为MB,保留两位小数', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_iccid` (`iccid`), - UNIQUE KEY `uk_msisd` (`msisdn`), - INDEX `idx_deviceid` (`deviceid`), - INDEX `idx_status` (`status`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SIM卡信息表'; - -CREATE TABLE IF NOT EXISTS `ehm` ( - `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `tenantid` int DEFAULT 0, - `deviceid` varchar(64) NOT NULL COMMENT '设备ID', - `createtime` datetime(3) NOT NULL COMMENT '创建时间', - `offlinestatdays` smallint DEFAULT NULL COMMENT '离线统计周期', - `offlinecount` int DEFAULT NULL COMMENT '离线统计周期内的离线次数', - `offlineminutes` int DEFAULT NULL COMMENT '离线统计周期内的离线时长', - `invalidresultminutes` int DEFAULT NULL COMMENT '离线统计周期内的连续无效解时长', - `calcstathours` int DEFAULT NULL COMMENT '数据分析周期', - `stdeve` float DEFAULT NULL COMMENT '标准差', - `stdevn` float DEFAULT NULL COMMENT '标准差', - `stdevu` float DEFAULT NULL COMMENT '标准差', - `fixrate` float DEFAULT NULL COMMENT '固定率', - `validrate` float DEFAULT NULL COMMENT '有效解比例', - `jumpcount` int DEFAULT NULL COMMENT '周跳次数', - PRIMARY KEY (`id`), - KEY `idx_deviceid_createtime` (`deviceid`,`createtime`), - KEY `idx_createtime` (`createtime`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -CREATE TABLE IF NOT EXISTS `ehmconfig` ( - `updatetime` datetime(3) NOT NULL COMMENT '更新时间', - `offlinestatdays` smallint DEFAULT NULL COMMENT '离线统计周期', - `calcstathours` int DEFAULT NULL COMMENT '数据分析周期', - PRIMARY KEY (`updatetime`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - /*** 流量卡信息表 */ @@ -408,12 +360,12 @@ CREATE TABLE IF NOT EXISTS `traffic_cards` ( `remaining` INT DEFAULT 0 COMMENT '剩余流量,单位MB,为避免小数,存储值为实际值的1000倍', `total` INT DEFAULT 0 COMMENT '总流量,单位MB,同上', `used` INT DEFAULT 0 COMMENT '已用流量,单位MB,同上', - `update_time` DATETIME DEFAULT NULL COMMENT '最后更新时间', - `query_status` TINYINT DEFAULT 0 COMMENT 'SIM卡查询状态:0=正常,1=非当前卡商,2=其他错误', + `updatetime` DATETIME DEFAULT NULL COMMENT '最后更新时间', + `querystatus` TINYINT DEFAULT 0 COMMENT 'SIM卡查询状态:0=正常,1=非当前卡商,2=其他错误', PRIMARY KEY (`id`), UNIQUE KEY `uk_iccid` (`iccid`), INDEX `idx_status` (`status`), - INDEX `idx_query_status` (`query_status`) + INDEX `idx_querystatus` (`querystatus`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流量卡信息表'; /*** @@ -423,12 +375,12 @@ CREATE TABLE IF NOT EXISTS `traffic_device_mappings` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,唯一', `deviceid` VARCHAR(20) NOT NULL COMMENT '设备ID', `iccid` VARCHAR(20) NOT NULL COMMENT 'SIM卡ICCID', - `start_time` DATETIME NOT NULL COMMENT '开始使用时间', - `end_time` DATETIME DEFAULT NULL COMMENT '结束使用时间,NULL表示当前正在使用', + `starttime` DATETIME NOT NULL COMMENT '开始使用时间', + `endtime` DATETIME DEFAULT NULL COMMENT '结束使用时间,NULL表示当前正在使用', PRIMARY KEY (`id`), KEY `idx_deviceid` (`deviceid`), KEY `idx_iccid` (`iccid`), - KEY `idx_start_time` (`start_time`) + KEY `idx_starttime` (`starttime`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='设备-SIM卡映射表'; /*** @@ -437,11 +389,11 @@ CREATE TABLE IF NOT EXISTS `traffic_device_mappings` ( CREATE TABLE IF NOT EXISTS `traffic_records` ( `id` INT NOT NULL AUTO_INCREMENT COMMENT '主键,自增,唯一', `iccid` VARCHAR(20) NOT NULL COMMENT 'SIM卡ICCID', - `record_time` DATETIME NOT NULL COMMENT '记录时间', + `recordtime` DATETIME NOT NULL COMMENT '记录时间', `remaining` INT DEFAULT NULL COMMENT '剩余流量,单位MB,为避免小数,存储值为实际值的1000倍', - `used` INT DEFAULT NULL COMMENT '已用流量,单位MB,为避免小数,存储值为实际值的1000倍', - `total` INT DEFAULT NULL COMMENT '总流量,单位MB,为避免小数,存储值为实际值的1000倍', + `used` INT DEFAULT NULL COMMENT '已用流量MB', + `total` INT DEFAULT NULL COMMENT '总流量MB', PRIMARY KEY (`id`), KEY `idx_iccid` (`iccid`), - KEY `idx_record_time` (`record_time`) + KEY `idx_recordtime` (`recordtime`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流量使用记录表'; -- 2.39.5