From 15203f0edd5ba411a09c826c689920f7db812c3b Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Fri, 27 Jun 2025 15:16:05 +0800 Subject: [PATCH] =?UTF-8?q?APP/=E5=B0=8F=E7=A8=8B=E5=BA=8F=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=AE=BE=E5=A4=87=E8=A7=A3=E7=BB=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/domain/dto/app/APPUnbindDTO.java | 5 +++- .../service/app/APPDeviceServiceImpl.java | 26 ++++++++++++++----- .../service/impl/DeviceServiceImpl.java | 10 ++++++- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/app/APPUnbindDTO.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/app/APPUnbindDTO.java index 9e9d494..771976c 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/app/APPUnbindDTO.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/app/APPUnbindDTO.java @@ -13,10 +13,13 @@ import javax.validation.constraints.NotNull; @Data public class APPUnbindDTO { - @NotBlank(message = "设备MAC不能为空") + // @NotBlank(message = "设备MAC不能为空") @ApiModelProperty(value = "设备MAC", required = true) private String deviceMac; + @ApiModelProperty(value = "设备IMEI") + private String deviceImei; + @NotNull(message = "客户号不能为空") @ApiModelProperty(value = "客户号") private Long customerId; diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java index d2b27cb..60f8820 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/app/APPDeviceServiceImpl.java @@ -22,6 +22,7 @@ import com.fuyuanshen.modules.system.mapper.app.APPDeviceMapper; import com.fuyuanshen.modules.system.mapper.app.AppDeviceTypeMapper; import com.fuyuanshen.utils.PageResult; import com.fuyuanshen.utils.SecurityUtils; +import com.fuyuanshen.utils.StringUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -29,7 +30,6 @@ import org.springframework.transaction.annotation.Transactional; import java.sql.Timestamp; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -112,7 +112,7 @@ public class APPDeviceServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(deviceForm.getDeviceMac())) { + queryWrapper.eq("device_mac", deviceForm.getDeviceMac()); + qw.eq("device_mac", deviceForm.getDeviceMac()); + } + if (StringUtils.isNotEmpty(deviceForm.getDeviceImei())) { + queryWrapper.eq("device_imei", deviceForm.getDeviceImei()); + qw.eq("device_imei", deviceForm.getDeviceImei()); + } + queryWrapper.eq("binding_type", UserType.APP.getValue()); + APPDevice appDevice = appDeviceMapper.selectOne(queryWrapper); + appDeviceMapper.delete(queryWrapper); - appDeviceMapper.delete(new QueryWrapper().eq("device_mac", deviceForm.getDeviceMac()).eq("binding_type", UserType.APP.getValue())); - List devices = deviceMapper.selectList(new QueryWrapper().eq("device_mac", deviceForm.getDeviceMac())); + List devices = deviceMapper.selectList(qw); List ids = devices.stream() .map(Device::getId) .collect(Collectors.toList()); - appDeviceTypeMapper.deleteBatchIds(ids); + if (CollectionUtil.isNotEmpty(ids)) { + appDeviceTypeMapper.deleteBatchIds(ids); + } Device device = new Device(); - device.setId(deviceForm.getCustomerId()); + device.setId(appDevice.getId()); device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode()); deviceMapper.updateById(device); } diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/DeviceServiceImpl.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/DeviceServiceImpl.java index 2f11e89..c32b922 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/DeviceServiceImpl.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/impl/DeviceServiceImpl.java @@ -651,7 +651,15 @@ public class DeviceServiceImpl extends ServiceImpl impleme @Override @Transactional public void unbindDevice(DeviceForm deviceForm) { - appDeviceMapper.delete(new QueryWrapper().eq("device_mac", deviceForm.getDeviceMac())); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.isNotEmpty(deviceForm.getDeviceMac())) { + queryWrapper.eq("device_mac", deviceForm.getDeviceMac()); + } + if (StringUtils.isNotEmpty(deviceForm.getDeviceImei())) { + queryWrapper.eq("device_imei", deviceForm.getDeviceImei()); + } + appDeviceMapper.delete(queryWrapper); Device device = new Device(); device.setId(deviceForm.getId()); device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode());