diff --git a/src/main/java/com/youlai/boot/device/controller/DeviceController.java b/src/main/java/com/youlai/boot/device/controller/DeviceController.java index 0087a77d..69cef2f2 100644 --- a/src/main/java/com/youlai/boot/device/controller/DeviceController.java +++ b/src/main/java/com/youlai/boot/device/controller/DeviceController.java @@ -6,6 +6,7 @@ import com.youlai.boot.common.enums.ActionTypeEnum; import com.youlai.boot.common.enums.LogModuleEnum; import com.youlai.boot.common.result.PageResult; import com.youlai.boot.common.result.Result; +import com.youlai.boot.device.model.entity.SnDeviceInfo; import com.youlai.boot.device.model.query.DeviceQuery; import com.youlai.boot.device.model.vo.DeviceApkInfoVO; import com.youlai.boot.device.model.vo.DeviceHardwareInfoVO; @@ -28,6 +29,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -69,6 +72,16 @@ public class DeviceController { return Result.success(detail); } + @Operation(summary = "新增设备") + @PostMapping + public Result addDevice(@RequestBody SnDeviceInfo device) { + boolean success = deviceService.addSn(device); + if (!success) { + return Result.failed("设备SN已存在或参数非法,新增失败"); + } + return Result.success(); + } + // ===================== 设备系统信息(分面板独立接口) ===================== @Operation(summary = "设备基本信息") diff --git a/src/main/java/com/youlai/boot/device/service/impl/DeviceServiceImpl.java b/src/main/java/com/youlai/boot/device/service/impl/DeviceServiceImpl.java index 2273f25f..dcf1eef9 100644 --- a/src/main/java/com/youlai/boot/device/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/youlai/boot/device/service/impl/DeviceServiceImpl.java @@ -181,12 +181,30 @@ public class DeviceServiceImpl extends ServiceImpl i @Override public boolean addSn(SnDeviceInfo device) { - return false; + if (device == null || device.getSerialno() == null || device.getSerialno().isBlank()) { + return false; + } + // 校验 SN 唯一 + long count = this.count(new LambdaQueryWrapper() + .eq(SnDeviceInfo::getSerialno, device.getSerialno())); + if (count > 0) { + log.warn("新增设备失败,SN 已存在: {}", device.getSerialno()); + return false; + } + // 状态默认启用 + if (device.getStatus() == null) { + device.setStatus(1); + } + boolean saved = this.save(device); + if (!saved) { + log.error("新增设备失败, sn: {}", device.getSerialno()); + } + return saved; } @Override public boolean deleteSn(String sn) { - return false; + return false; } private PushSendParam getSinglePushSendParam(String sn, String type, String title, String content) {