APP/小程序用户设备解绑

This commit is contained in:
2025-06-27 15:16:05 +08:00
parent bd802ab8fd
commit 15203f0edd
3 changed files with 33 additions and 8 deletions

View File

@ -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;

View File

@ -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<APPDeviceMapper, APPDevice
Device device = devices.get(0);
device.setBindingStatus(BindingStatusEnum.BOUND.getCode());
deviceMapper.updateById( device);
deviceMapper.updateById(device);
APPDevice appDevice = new APPDevice();
BeanUtil.copyProperties(device, appDevice);
@ -159,15 +159,29 @@ public class APPDeviceServiceImpl extends ServiceImpl<APPDeviceMapper, APPDevice
@Override
@Transactional
public void unbindAPPDevice(APPUnbindDTO deviceForm) {
QueryWrapper<APPDevice> queryWrapper = new QueryWrapper<>();
QueryWrapper<Device> 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<APPDevice>().eq("device_mac", deviceForm.getDeviceMac()).eq("binding_type", UserType.APP.getValue()));
List<Device> devices = deviceMapper.selectList(new QueryWrapper<Device>().eq("device_mac", deviceForm.getDeviceMac()));
List<Device> devices = deviceMapper.selectList(qw);
List<Long> 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);
}

View File

@ -651,7 +651,15 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
@Override
@Transactional
public void unbindDevice(DeviceForm deviceForm) {
appDeviceMapper.delete(new QueryWrapper<APPDevice>().eq("device_mac", deviceForm.getDeviceMac()));
QueryWrapper<APPDevice> 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());