package com.ruoyi.web.controller.device; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.device.domain.entity.DeviceUpgradePackage; import com.ruoyi.device.service.IDeviceUpgradePackageService; import jakarta.annotation.Resource; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 设备升级包管理 Controller * * @author lwm */ @RestController @RequestMapping("/tsb/upgradePackage") public class DeviceUpgradePackageController extends BaseController { @Resource private IDeviceUpgradePackageService deviceUpgradePackageService; /** * 分页查询升级包列表 */ @PreAuthorize("@ss.hasPermi('tsb:upgradePackage:list')") @GetMapping("/list") public TableDataInfo list(DeviceUpgradePackage query) { startPage(); List list = deviceUpgradePackageService.selectDeviceUpgradePackageList(query); return getDataTable(list); } /** * 根据ID获取升级包详情 */ @PreAuthorize("@ss.hasPermi('tsb:upgradePackage:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable Long id) { return success(deviceUpgradePackageService.selectDeviceUpgradePackageById(id)); } /** * 新增设备升级包 */ @PreAuthorize("@ss.hasPermi('tsb:upgradePackage:add')") @Log(title = "设备升级包", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@Validated @RequestBody DeviceUpgradePackage deviceUpgradePackage) { // 校验版本号唯一性 if (!deviceUpgradePackageService.checkAppVersionUnique(deviceUpgradePackage)) { return error("该设备类型下相同固件类型的版本号已存在"); } deviceUpgradePackage.setCreateBy(getUsername()); return toAjax(deviceUpgradePackageService.insertDeviceUpgradePackage(deviceUpgradePackage)); } /** * 修改设备升级包 */ @PreAuthorize("@ss.hasPermi('tsb:upgradePackage:edit')") @Log(title = "设备升级包", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@Validated @RequestBody DeviceUpgradePackage deviceUpgradePackage) { // 校验版本号唯一性 if (!deviceUpgradePackageService.checkAppVersionUnique(deviceUpgradePackage)) { return error("该设备类型下相同固件类型的版本号已存在"); } deviceUpgradePackage.setUpdateBy(getUsername()); return toAjax(deviceUpgradePackageService.updateDeviceUpgradePackage(deviceUpgradePackage)); } /** * 状态修改(列表开关) */ @PreAuthorize("@ss.hasPermi('tsb:upgradePackage:edit')") @Log(title = "设备升级包", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") public AjaxResult changeStatus(@RequestBody DeviceUpgradePackage deviceUpgradePackage) { if (deviceUpgradePackage.getId() == null) { return error("ID不能为空"); } if (deviceUpgradePackage.getStatus() == null) { return error("状态不能为空"); } deviceUpgradePackage.setUpdateBy(getUsername()); return toAjax(deviceUpgradePackageService.updateDeviceUpgradePackageStatus(deviceUpgradePackage)); } /** * 删除设备升级包(逻辑删除,支持批量) */ @PreAuthorize("@ss.hasPermi('tsb:upgradePackage:remove')") @Log(title = "设备升级包", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(deviceUpgradePackageService.deleteDeviceUpgradePackageByIds(ids)); } }