diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/DeviceForm.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/DeviceForm.java index b9fa69b..8713833 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/DeviceForm.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/domain/dto/DeviceForm.java @@ -17,6 +17,9 @@ public class DeviceForm { @ApiModelProperty(value = "ID", hidden = true) private Long id; + @ApiModelProperty(value = "设备记录ID") + private Long assignId; + @ApiModelProperty(value = "设备类型") private Long deviceType; diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/DeviceController.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/DeviceController.java index d56b2fe..1dd6fe7 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/DeviceController.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/rest/DeviceController.java @@ -146,6 +146,20 @@ public class DeviceController { } + @Log("撤回设备") + @ApiOperation("撤回设备") + @PostMapping(value = "/withdraw") + public ResponseVO withdrawDevice(@Validated @ModelAttribute DeviceForm deviceForm) { + try { + deviceService.withdrawDevice(deviceForm); + } catch (Exception e) { + log.error("updateDevice error: " + e.getMessage()); + return ResponseVO.fail("出错了"); + } + return ResponseVO.success(null); + } + + @ApiOperation("设备详情") @GetMapping(value = "/detail/{id}") public ResponseVO getDevice(@PathVariable Long id) { diff --git a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/DeviceService.java b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/DeviceService.java index eb940ea..17df535 100644 --- a/fys-system/src/main/java/com/fuyuanshen/modules/system/service/DeviceService.java +++ b/fys-system/src/main/java/com/fuyuanshen/modules/system/service/DeviceService.java @@ -73,6 +73,8 @@ public interface DeviceService extends IService { */ void assignCustomer(CustomerVo customerVo); + void withdrawDevice(DeviceForm deviceForm); + /** * 多选删除 * @@ -110,5 +112,4 @@ public interface DeviceService extends IService { */ void unbindDevice(DeviceForm deviceForm); - } 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 2908d5d..2f11e89 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 @@ -456,6 +456,30 @@ public class DeviceServiceImpl extends ServiceImpl impleme } + /** + * 撤回设备 + * + * @param deviceForm + */ + @Override + public void withdrawDevice(DeviceForm deviceForm) { + DeviceAssignments assignment = deviceAssignmentsMapper.selectById(deviceForm.getAssignId()); + // 接收者 + assignment.setAssigneeName(""); + deviceAssignmentsMapper.updateById(assignment); + + LambdaQueryWrapper q1 = new LambdaQueryWrapper<>(); + q1.eq(DeviceAssignments::getAssignerId, assignment.getAssigneeId()) + .like(DeviceAssignments::getLever, assignment.getLever()) + .ne(DeviceAssignments::getId, assignment.getId()); + + DeviceAssignments d1 = new DeviceAssignments(); + d1.setActive(DeviceActiveStatusEnum.INACTIVE.getCode()); + deviceAssignmentsMapper.update(d1, q1); + + } + + /** * 创建并保存设备类型授权记录 * @@ -551,6 +575,7 @@ public class DeviceServiceImpl extends ServiceImpl impleme * @param ids */ @Override + @Transactional(rollbackFor = Exception.class) public void deleteAssign(List ids) { // Step 1: 查询所有传入的设备(根据 ID) List deviceAssignments = deviceAssignmentsMapper.selectBatchIds(ids); @@ -562,7 +587,8 @@ public class DeviceServiceImpl extends ServiceImpl impleme throw new BadRequestException("已分配的设备不允许删除!!!"); } - deviceAssignmentsMapper.deleteBatchIds(ids); + deviceAssignmentsMapper.deleteBatchIds(nonNullCustomerIds); + deviceTypeGrantsMapper.delete(new QueryWrapper().in("assignment_id", nonNullCustomerIds)); }