From 79146e77c4cddb2c3299da25ef4f454b87b5759d Mon Sep 17 00:00:00 2001 From: luyya Date: Mon, 30 Jun 2025 09:18:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=BF=E5=B7=9E=E8=AE=B0=E5=BD=95=E4=BB=AA?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E5=AE=9A=E6=97=B6=E8=AE=A4?= =?UTF-8?q?=E4=B8=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/system/mapper/TDeviceMapper.java | 2 ++ .../system/service/impl/TDeviceServiceImpl.java | 17 +++++++++-------- .../resources/mapper/system/TDeviceMapper.xml | 11 +++++++++++ .../dromara/websocket/domain/OriginDevice.java | 2 +- .../websocket/schedule/DeviceSchedule.java | 4 +++- 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/TDeviceMapper.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/TDeviceMapper.java index 1a49ab3e..d35faf4d 100644 --- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/TDeviceMapper.java +++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/mapper/TDeviceMapper.java @@ -38,4 +38,6 @@ public interface TDeviceMapper extends BaseMapperPlus { int updateBatch(HashMap map); + int insertOrUpdateByCodeAndType(TDevice device); + } diff --git a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java index 9a143aa9..6254cb0f 100644 --- a/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java +++ b/stwzhj-modules/wzhj-system/src/main/java/org/dromara/system/service/impl/TDeviceServiceImpl.java @@ -42,6 +42,7 @@ public class TDeviceServiceImpl implements ITDeviceService { private final TDeviceMapper baseMapper; + @DubboReference private RemoteDataScopeService remoteDataScopeService; @@ -232,18 +233,18 @@ public class TDeviceServiceImpl implements ITDeviceService { public Boolean batchSaveOrUpdate(List list) { boolean flag = true; // 先根据 field1 和 field2 查询出已存在的记录 - List existingEntities = baseMapper.selectList(new QueryWrapper() + /*List existingEntities = baseMapper.selectList(new QueryWrapper() .in("device_code", list.stream().map(TDevice::getDeviceCode).collect(Collectors.toList())) .in("device_type", list.stream().map(TDevice::getDeviceType).collect(Collectors.toList()))); - +*/ // 找到需要更新的记录 List toUpdate = new ArrayList<>(); // 找到需要插入的记录 List toInsert = new ArrayList<>(); - for (TDevice entity : list) { - boolean exists = false; - for (TDevice existingEntity : existingEntities) { + + baseMapper.insertOrUpdateByCodeAndType(entity); + /*for (TDevice existingEntity : existingEntities) { if (entity.getDeviceCode().equals(existingEntity.getDeviceCode()) && entity.getDeviceType().equals(existingEntity.getDeviceType())) { entity.setId(existingEntity.getId()); // 设置 ID 以便更新 toUpdate.add(entity); @@ -253,18 +254,18 @@ public class TDeviceServiceImpl implements ITDeviceService { } if (!exists) { toInsert.add(entity); - } + }*/ } // 批量更新 - if (!toUpdate.isEmpty()) { + /*if (!toUpdate.isEmpty()) { flag = baseMapper.updateBatchById(toUpdate); } // 批量插入 if (!toInsert.isEmpty()) { flag = baseMapper.insertBatch(toInsert); // insertBatchSomeColumn 是 MyBatis-Plus 提供的批量插入方法 - } + }*/ return flag; // return baseMapper.insertOrUpdateBatch(List); } diff --git a/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml b/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml index d81eb65f..f0b03e35 100644 --- a/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml +++ b/stwzhj-modules/wzhj-system/src/main/resources/mapper/system/TDeviceMapper.xml @@ -42,4 +42,15 @@ + + insert into t_device (device_code, device_type, zzjgdm, zzjgmc, police_no, police_name, phone_num, car_num, valid, + remark1, remark2, card_num, create_time, update_time) + values (#{deviceCode},#{deviceType},#{zzjgdm},#{zzjgmc},#{policeNo},#{policeName},#{phoneNum},#{carNum},#{valid}, + #{remark1},#{remark2},#{cardNum},#{createTime},#{updateTime}) + ON DUPLICATE KEY UPDATE + police_no = values(police_no),police_name = values(police_name),phone_num = values(phone_num), + car_num = values(car_num),valid = values(valid),remark1 = values(remark1),remark2 = values(remark2),card_num = values(card_num), + update_time = now() + + diff --git a/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/domain/OriginDevice.java b/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/domain/OriginDevice.java index 93c3cb9a..a0d190bb 100644 --- a/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/domain/OriginDevice.java +++ b/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/domain/OriginDevice.java @@ -15,7 +15,7 @@ import java.sql.Timestamp; * @date 2022-03-17 16:33 */ @Data -@TableName("zkxc_rs") +@TableName("sz_video") public class OriginDevice { @TableId(value = "ID",type = IdType.AUTO) private int ID; diff --git a/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/schedule/DeviceSchedule.java b/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/schedule/DeviceSchedule.java index 49961a15..20dc081f 100644 --- a/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/schedule/DeviceSchedule.java +++ b/stwzhj-modules/wzhj-websocket/src/main/java/org/dromara/websocket/schedule/DeviceSchedule.java @@ -85,7 +85,9 @@ public class DeviceSchedule { Timestamp updateTime = originDevice.getUpdateTime(); // DateTime dateTime = DateUtil.offsetHour(updateTime, 13); newDevice.setUpdateTime(DateUtil.formatDateTime(updateTime) ); - setZzjgdm(newDevice,originDevice); + newDevice.setZzjgdm("341300000000"); + newDevice.setZzjgmc("宿州市公安局"); +// setZzjgdm(newDevice,originDevice); } if(StringUtils.isBlank(newDevice.getZzjgdm())){