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 @Data
public class APPUnbindDTO { public class APPUnbindDTO {
@NotBlank(message = "设备MAC不能为空") // @NotBlank(message = "设备MAC不能为空")
@ApiModelProperty(value = "设备MAC", required = true) @ApiModelProperty(value = "设备MAC", required = true)
private String deviceMac; private String deviceMac;
@ApiModelProperty(value = "设备IMEI")
private String deviceImei;
@NotNull(message = "客户号不能为空") @NotNull(message = "客户号不能为空")
@ApiModelProperty(value = "客户号") @ApiModelProperty(value = "客户号")
private Long customerId; 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.modules.system.mapper.app.AppDeviceTypeMapper;
import com.fuyuanshen.utils.PageResult; import com.fuyuanshen.utils.PageResult;
import com.fuyuanshen.utils.SecurityUtils; import com.fuyuanshen.utils.SecurityUtils;
import com.fuyuanshen.utils.StringUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -29,7 +30,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -112,7 +112,7 @@ public class APPDeviceServiceImpl extends ServiceImpl<APPDeviceMapper, APPDevice
Device device = devices.get(0); Device device = devices.get(0);
device.setBindingStatus(BindingStatusEnum.BOUND.getCode()); device.setBindingStatus(BindingStatusEnum.BOUND.getCode());
deviceMapper.updateById( device); deviceMapper.updateById(device);
APPDevice appDevice = new APPDevice(); APPDevice appDevice = new APPDevice();
BeanUtil.copyProperties(device, appDevice); BeanUtil.copyProperties(device, appDevice);
@ -159,15 +159,29 @@ public class APPDeviceServiceImpl extends ServiceImpl<APPDeviceMapper, APPDevice
@Override @Override
@Transactional @Transactional
public void unbindAPPDevice(APPUnbindDTO deviceForm) { 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(qw);
List<Device> devices = deviceMapper.selectList(new QueryWrapper<Device>().eq("device_mac", deviceForm.getDeviceMac()));
List<Long> ids = devices.stream() List<Long> ids = devices.stream()
.map(Device::getId) .map(Device::getId)
.collect(Collectors.toList()); .collect(Collectors.toList());
appDeviceTypeMapper.deleteBatchIds(ids); if (CollectionUtil.isNotEmpty(ids)) {
appDeviceTypeMapper.deleteBatchIds(ids);
}
Device device = new Device(); Device device = new Device();
device.setId(deviceForm.getCustomerId()); device.setId(appDevice.getId());
device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode()); device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode());
deviceMapper.updateById(device); deviceMapper.updateById(device);
} }

View File

@ -651,7 +651,15 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
@Override @Override
@Transactional @Transactional
public void unbindDevice(DeviceForm deviceForm) { 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 device = new Device();
device.setId(deviceForm.getId()); device.setId(deviceForm.getId());
device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode()); device.setBindingStatus(BindingStatusEnum.UNBOUND.getCode());