package com.ruoyi.device.controller; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.device.api.domain.DeviceTemp; import com.ruoyi.device.domain.vo.DeviceTempVO; import com.ruoyi.device.service.IDeviceTempService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.stream.Collectors; /** * 设备临时表Controller * * @author ruoyi * @date 2026-01-15 */ @RestController @RequestMapping("/device/temp") public class DeviceTempController extends BaseController { @Autowired private IDeviceTempService deviceTempService; /** * 查询设备临时表列表 */ @GetMapping("/list") public TableDataInfo list(DeviceTemp deviceTemp) { startPage(); List list = deviceTempService.selectDeviceTempList(deviceTemp); // 将 Domain 转换为 VO List voList = list.stream().map(this::convertToVO).collect(Collectors.toList()); return getDataTable(voList); } /** * 获取设备临时表详细信息(内部调用) */ @InnerAuth @GetMapping(value = "/{id}") public R getDeviceById(@PathVariable("id") String id) { DeviceTemp deviceTemp = deviceTempService.selectDeviceTempById(id); return R.ok(deviceTemp); } /** * 获取设备临时表详细信息(外部调用,返回VO) */ @GetMapping(value = "/info/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { DeviceTemp deviceTemp = deviceTempService.selectDeviceTempById(id); // 将 Domain 转换为 VO DeviceTempVO vo = convertToVO(deviceTemp); return success(vo); } /** * 将 Domain 实体转换为 VO */ private DeviceTempVO convertToVO(DeviceTemp deviceTemp) { if (deviceTemp == null) { return null; } DeviceTempVO vo = new DeviceTempVO(); BeanUtils.copyProperties(deviceTemp, vo); return vo; } }