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());