From 1a7c7caa713facc2b013d8bd9e916e06130d004c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Thu, 15 Jan 2026 19:03:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=87=E5=87=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DeviceTempController.java | 49 ++++++---------- .../controller/convert/DeviceTempConvert.java | 58 +++++++++++++++++++ .../device/domain/api/IDeviceTempDomain.java | 29 ++++++++++ .../domain/convert/DeviceTempConvert.java | 58 +++++++++++++++++++ .../domain/impl/DeviceTempDomainImpl.java | 39 +++++++++++++ .../DeviceTemp.java} | 21 ++----- .../ruoyi/device/mapper/DeviceTempMapper.java | 8 +-- .../mapper/entity/DeviceTempEntity.java | 36 ++++++++++++ .../service/{ => api}/IDeviceTempService.java | 10 ++-- .../service/convert/DeviceTempConvert.java | 58 +++++++++++++++++++ .../device/service/dto/DeviceTempDTO.java | 55 ++++++++++++++++++ .../service/impl/DeviceTempServiceImpl.java | 25 ++++---- .../mapper/device/DeviceTempMapper.xml | 4 +- 13 files changed, 381 insertions(+), 69 deletions(-) create mode 100644 src/main/java/com/ruoyi/device/controller/convert/DeviceTempConvert.java create mode 100644 src/main/java/com/ruoyi/device/domain/api/IDeviceTempDomain.java create mode 100644 src/main/java/com/ruoyi/device/domain/convert/DeviceTempConvert.java create mode 100644 src/main/java/com/ruoyi/device/domain/impl/DeviceTempDomainImpl.java rename src/main/java/com/ruoyi/device/domain/{vo/DeviceTempVO.java => model/DeviceTemp.java} (59%) create mode 100644 src/main/java/com/ruoyi/device/mapper/entity/DeviceTempEntity.java rename src/main/java/com/ruoyi/device/service/{ => api}/IDeviceTempService.java (57%) create mode 100644 src/main/java/com/ruoyi/device/service/convert/DeviceTempConvert.java create mode 100644 src/main/java/com/ruoyi/device/service/dto/DeviceTempDTO.java diff --git a/src/main/java/com/ruoyi/device/controller/DeviceTempController.java b/src/main/java/com/ruoyi/device/controller/DeviceTempController.java index 482cc40..f7621e9 100644 --- a/src/main/java/com/ruoyi/device/controller/DeviceTempController.java +++ b/src/main/java/com/ruoyi/device/controller/DeviceTempController.java @@ -5,10 +5,10 @@ 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 com.ruoyi.device.api.domain.DeviceTempVO; +import com.ruoyi.device.controller.convert.DeviceTempConvert; +import com.ruoyi.device.service.api.IDeviceTempService; +import com.ruoyi.device.service.dto.DeviceTempDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; -import java.util.stream.Collectors; /** * 设备临时表Controller @@ -35,13 +34,15 @@ public class DeviceTempController extends BaseController * 查询设备临时表列表 */ @GetMapping("/list") - public TableDataInfo list(DeviceTemp deviceTemp) + public TableDataInfo list(DeviceTempVO deviceTemp) { startPage(); - List list = deviceTempService.selectDeviceTempList(deviceTemp); - // 将 Domain 转换为 VO - List voList = list.stream().map(this::convertToVO).collect(Collectors.toList()); - return getDataTable(voList); + // API Domain → Service DTO + DeviceTempDTO dto = DeviceTempConvert.toDTO(deviceTemp); + List dtoList = deviceTempService.selectDeviceTempList(dto); + // Service DTO → API Domain + List list = DeviceTempConvert.toApiDomainList(dtoList); + return getDataTable(list); } /** @@ -49,35 +50,21 @@ public class DeviceTempController extends BaseController */ @InnerAuth @GetMapping(value = "/{id}") - public R getDeviceById(@PathVariable("id") String id) + public R getDeviceById(@PathVariable("id") String id) { - DeviceTemp deviceTemp = deviceTempService.selectDeviceTempById(id); + DeviceTempDTO dto = deviceTempService.selectDeviceTempById(id); + DeviceTempVO deviceTemp = DeviceTempConvert.toVO(dto); 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; + DeviceTempDTO dto = deviceTempService.selectDeviceTempById(id); + DeviceTempVO deviceTemp = DeviceTempConvert.toVO(dto); + return success(deviceTemp); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/controller/convert/DeviceTempConvert.java b/src/main/java/com/ruoyi/device/controller/convert/DeviceTempConvert.java new file mode 100644 index 0000000..71c4fae --- /dev/null +++ b/src/main/java/com/ruoyi/device/controller/convert/DeviceTempConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.device.controller.convert; + +import com.ruoyi.device.api.domain.DeviceTempVO; +import com.ruoyi.device.service.dto.DeviceTempDTO; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 设备临时表Controller层转换器 + * API Domain ↔ Service DTO + * + * @author ruoyi + * @date 2026-01-15 + */ +public class DeviceTempConvert +{ + /** + * DTO 转 API Domain + */ + public static DeviceTempVO toVO(DeviceTempDTO dto) + { + if (dto == null) + { + return null; + } + DeviceTempVO apiDomain = new DeviceTempVO(); + BeanUtils.copyProperties(dto, apiDomain); + return apiDomain; + } + + /** + * API Domain 转 DTO + */ + public static DeviceTempDTO toDTO(DeviceTempVO apiDomain) + { + if (apiDomain == null) + { + return null; + } + DeviceTempDTO dto = new DeviceTempDTO(); + BeanUtils.copyProperties(apiDomain, dto); + return dto; + } + + /** + * DTO List 转 API Domain List + */ + public static List toApiDomainList(List dtoList) + { + if (dtoList == null) + { + return null; + } + return dtoList.stream().map(DeviceTempConvert::toVO).collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/domain/api/IDeviceTempDomain.java b/src/main/java/com/ruoyi/device/domain/api/IDeviceTempDomain.java new file mode 100644 index 0000000..4148b16 --- /dev/null +++ b/src/main/java/com/ruoyi/device/domain/api/IDeviceTempDomain.java @@ -0,0 +1,29 @@ +package com.ruoyi.device.domain.api; + +import com.ruoyi.device.domain.model.DeviceTemp; +import java.util.List; + +/** + * 设备临时表Domain接口 + * + * @author ruoyi + * @date 2026-01-15 + */ +public interface IDeviceTempDomain +{ + /** + * 查询设备临时表列表 + * + * @param deviceTemp 设备临时表 + * @return 设备临时表集合 + */ + List selectDeviceTempList(DeviceTemp deviceTemp); + + /** + * 根据ID查询设备临时表 + * + * @param id 主键ID + * @return 设备临时表 + */ + DeviceTemp selectDeviceTempById(String id); +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/domain/convert/DeviceTempConvert.java b/src/main/java/com/ruoyi/device/domain/convert/DeviceTempConvert.java new file mode 100644 index 0000000..9dedf7f --- /dev/null +++ b/src/main/java/com/ruoyi/device/domain/convert/DeviceTempConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.device.domain.convert; + +import com.ruoyi.device.domain.model.DeviceTemp; +import com.ruoyi.device.mapper.entity.DeviceTempEntity; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 设备临时表Domain层转换器 + * Domain Model ↔ Mapper Entity + * + * @author ruoyi + * @date 2026-01-15 + */ +public class DeviceTempConvert +{ + /** + * Entity 转 Model + */ + public static DeviceTemp toModel(DeviceTempEntity entity) + { + if (entity == null) + { + return null; + } + DeviceTemp model = new DeviceTemp(); + BeanUtils.copyProperties(entity, model); + return model; + } + + /** + * Model 转 Entity + */ + public static DeviceTempEntity toEntity(DeviceTemp model) + { + if (model == null) + { + return null; + } + DeviceTempEntity entity = new DeviceTempEntity(); + BeanUtils.copyProperties(model, entity); + return entity; + } + + /** + * Entity List 转 Model List + */ + public static List toModelList(List entityList) + { + if (entityList == null) + { + return null; + } + return entityList.stream().map(DeviceTempConvert::toModel).collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/domain/impl/DeviceTempDomainImpl.java b/src/main/java/com/ruoyi/device/domain/impl/DeviceTempDomainImpl.java new file mode 100644 index 0000000..d9aacfd --- /dev/null +++ b/src/main/java/com/ruoyi/device/domain/impl/DeviceTempDomainImpl.java @@ -0,0 +1,39 @@ +package com.ruoyi.device.domain.impl; + +import com.ruoyi.device.domain.api.IDeviceTempDomain; +import com.ruoyi.device.domain.convert.DeviceTempConvert; +import com.ruoyi.device.domain.model.DeviceTemp; +import com.ruoyi.device.mapper.DeviceTempMapper; +import com.ruoyi.device.mapper.entity.DeviceTempEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 设备临时表Domain实现 + * + * @author ruoyi + * @date 2026-01-15 + */ +@Component +public class DeviceTempDomainImpl implements IDeviceTempDomain +{ + @Autowired + private DeviceTempMapper deviceTempMapper; + + @Override + public List selectDeviceTempList(DeviceTemp deviceTempModel) + { + DeviceTempEntity entity = DeviceTempConvert.toEntity(deviceTempModel); + List entityList = deviceTempMapper.selectDeviceTempList(entity); + return DeviceTempConvert.toModelList(entityList); + } + + @Override + public DeviceTemp selectDeviceTempById(String id) + { + DeviceTempEntity entity = deviceTempMapper.selectDeviceTempById(id); + return DeviceTempConvert.toModel(entity); + } +} diff --git a/src/main/java/com/ruoyi/device/domain/vo/DeviceTempVO.java b/src/main/java/com/ruoyi/device/domain/model/DeviceTemp.java similarity index 59% rename from src/main/java/com/ruoyi/device/domain/vo/DeviceTempVO.java rename to src/main/java/com/ruoyi/device/domain/model/DeviceTemp.java index f61da4c..79b4ee0 100644 --- a/src/main/java/com/ruoyi/device/domain/vo/DeviceTempVO.java +++ b/src/main/java/com/ruoyi/device/domain/model/DeviceTemp.java @@ -1,17 +1,16 @@ -package com.ruoyi.device.domain.vo; - -import com.fasterxml.jackson.annotation.JsonFormat; +package com.ruoyi.device.domain.model; import java.io.Serializable; import java.util.Date; /** - * 设备临时表视图对象 DeviceTempVO + * 设备临时表领域模型 + * Domain 层对外暴露的对象 * * @author ruoyi * @date 2026-01-15 */ -public class DeviceTempVO implements Serializable +public class DeviceTemp implements Serializable { private static final long serialVersionUID = 1L; @@ -19,11 +18,9 @@ public class DeviceTempVO implements Serializable private String id; /** 创建时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** 更新时间 */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; public String getId() @@ -55,14 +52,4 @@ public class DeviceTempVO implements Serializable { this.updateTime = updateTime; } - - @Override - public String toString() - { - return "DeviceTempVO{" + - "id='" + id + '\'' + - ", createTime=" + createTime + - ", updateTime=" + updateTime + - '}'; - } } diff --git a/src/main/java/com/ruoyi/device/mapper/DeviceTempMapper.java b/src/main/java/com/ruoyi/device/mapper/DeviceTempMapper.java index d12ba83..4ba6e66 100644 --- a/src/main/java/com/ruoyi/device/mapper/DeviceTempMapper.java +++ b/src/main/java/com/ruoyi/device/mapper/DeviceTempMapper.java @@ -1,6 +1,6 @@ package com.ruoyi.device.mapper; -import com.ruoyi.device.api.domain.DeviceTemp; +import com.ruoyi.device.mapper.entity.DeviceTempEntity; import java.util.List; /** @@ -14,10 +14,10 @@ public interface DeviceTempMapper /** * 查询设备临时表列表 * - * @param deviceTemp 设备临时表 + * @param deviceTempEntity 设备临时表 * @return 设备临时表集合 */ - public List selectDeviceTempList(DeviceTemp deviceTemp); + public List selectDeviceTempList(DeviceTempEntity deviceTempEntity); /** * 根据ID查询设备临时表 @@ -25,5 +25,5 @@ public interface DeviceTempMapper * @param id 主键ID * @return 设备临时表 */ - public DeviceTemp selectDeviceTempById(String id); + public DeviceTempEntity selectDeviceTempById(String id); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/mapper/entity/DeviceTempEntity.java b/src/main/java/com/ruoyi/device/mapper/entity/DeviceTempEntity.java new file mode 100644 index 0000000..1d29f41 --- /dev/null +++ b/src/main/java/com/ruoyi/device/mapper/entity/DeviceTempEntity.java @@ -0,0 +1,36 @@ +package com.ruoyi.device.mapper.entity; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +/** + * 设备临时表实体对象 tuoheng_device_temp + * Mapper 层实体,对应数据库表 + * + * @author ruoyi + * @date 2026-01-15 + */ +public class DeviceTempEntity extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + public String getId() + { + return id; + } + + public void setId(String id) + { + this.id = id; + } + + @Override + public String toString() + { + return "DeviceTempEntity{" + + "id='" + id + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/IDeviceTempService.java b/src/main/java/com/ruoyi/device/service/api/IDeviceTempService.java similarity index 57% rename from src/main/java/com/ruoyi/device/service/IDeviceTempService.java rename to src/main/java/com/ruoyi/device/service/api/IDeviceTempService.java index 71fc531..2db43a7 100644 --- a/src/main/java/com/ruoyi/device/service/IDeviceTempService.java +++ b/src/main/java/com/ruoyi/device/service/api/IDeviceTempService.java @@ -1,6 +1,6 @@ -package com.ruoyi.device.service; +package com.ruoyi.device.service.api; -import com.ruoyi.device.api.domain.DeviceTemp; +import com.ruoyi.device.service.dto.DeviceTempDTO; import java.util.List; /** @@ -14,10 +14,10 @@ public interface IDeviceTempService /** * 查询设备临时表列表 * - * @param deviceTemp 设备临时表 + * @param deviceTempDTO 设备临时表 * @return 设备临时表集合 */ - public List selectDeviceTempList(DeviceTemp deviceTemp); + List selectDeviceTempList(DeviceTempDTO deviceTempDTO); /** * 根据ID查询设备临时表 @@ -25,5 +25,5 @@ public interface IDeviceTempService * @param id 主键ID * @return 设备临时表 */ - public DeviceTemp selectDeviceTempById(String id); + DeviceTempDTO selectDeviceTempById(String id); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/convert/DeviceTempConvert.java b/src/main/java/com/ruoyi/device/service/convert/DeviceTempConvert.java new file mode 100644 index 0000000..3bff10f --- /dev/null +++ b/src/main/java/com/ruoyi/device/service/convert/DeviceTempConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.device.service.convert; + +import com.ruoyi.device.domain.model.DeviceTemp; +import com.ruoyi.device.service.dto.DeviceTempDTO; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 设备临时表Service层转换器 + * Service DTO ↔ Domain Model + * + * @author ruoyi + * @date 2026-01-15 + */ +public class DeviceTempConvert +{ + /** + * Model 转 DTO + */ + public static DeviceTempDTO toDTO(DeviceTemp model) + { + if (model == null) + { + return null; + } + DeviceTempDTO dto = new DeviceTempDTO(); + BeanUtils.copyProperties(model, dto); + return dto; + } + + /** + * DTO 转 Model + */ + public static DeviceTemp toModel(DeviceTempDTO dto) + { + if (dto == null) + { + return null; + } + DeviceTemp model = new DeviceTemp(); + BeanUtils.copyProperties(dto, model); + return model; + } + + /** + * Model List 转 DTO List + */ + public static List toDTOList(List modelList) + { + if (modelList == null) + { + return null; + } + return modelList.stream().map(DeviceTempConvert::toDTO).collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/dto/DeviceTempDTO.java b/src/main/java/com/ruoyi/device/service/dto/DeviceTempDTO.java new file mode 100644 index 0000000..032d19d --- /dev/null +++ b/src/main/java/com/ruoyi/device/service/dto/DeviceTempDTO.java @@ -0,0 +1,55 @@ +package com.ruoyi.device.service.dto; + +import java.io.Serializable; +import java.util.Date; + +/** + * 设备临时表服务层DTO + * Service 层对外暴露的对象 + * + * @author ruoyi + * @date 2026-01-15 + */ +public class DeviceTempDTO implements Serializable +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private String id; + + /** 创建时间 */ + private Date createTime; + + /** 更新时间 */ + private Date updateTime; + + public String getId() + { + return id; + } + + public void setId(String id) + { + this.id = id; + } + + public Date getCreateTime() + { + return createTime; + } + + public void setCreateTime(Date createTime) + { + this.createTime = createTime; + } + + public Date getUpdateTime() + { + return updateTime; + } + + public void setUpdateTime(Date updateTime) + { + this.updateTime = updateTime; + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceTempServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceTempServiceImpl.java index d5bdade..4519a70 100644 --- a/src/main/java/com/ruoyi/device/service/impl/DeviceTempServiceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/DeviceTempServiceImpl.java @@ -1,8 +1,10 @@ package com.ruoyi.device.service.impl; -import com.ruoyi.device.api.domain.DeviceTemp; -import com.ruoyi.device.mapper.DeviceTempMapper; -import com.ruoyi.device.service.IDeviceTempService; +import com.ruoyi.device.domain.api.IDeviceTempDomain; +import com.ruoyi.device.domain.model.DeviceTemp; +import com.ruoyi.device.service.api.IDeviceTempService; +import com.ruoyi.device.service.convert.DeviceTempConvert; +import com.ruoyi.device.service.dto.DeviceTempDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,18 +20,20 @@ import java.util.List; public class DeviceTempServiceImpl implements IDeviceTempService { @Autowired - private DeviceTempMapper deviceTempMapper; + private IDeviceTempDomain deviceTempDomain; /** * 查询设备临时表列表 * - * @param deviceTemp 设备临时表 - * @return 设备临时表 + * @param deviceTempDTO 设备临时表 + * @return 设备临时表集合 */ @Override - public List selectDeviceTempList(DeviceTemp deviceTemp) + public List selectDeviceTempList(DeviceTempDTO deviceTempDTO) { - return deviceTempMapper.selectDeviceTempList(deviceTemp); + DeviceTemp model = DeviceTempConvert.toModel(deviceTempDTO); + List modelList = deviceTempDomain.selectDeviceTempList(model); + return DeviceTempConvert.toDTOList(modelList); } /** @@ -39,8 +43,9 @@ public class DeviceTempServiceImpl implements IDeviceTempService * @return 设备临时表 */ @Override - public DeviceTemp selectDeviceTempById(String id) + public DeviceTempDTO selectDeviceTempById(String id) { - return deviceTempMapper.selectDeviceTempById(id); + DeviceTemp model = deviceTempDomain.selectDeviceTempById(id); + return DeviceTempConvert.toDTO(model); } } \ No newline at end of file diff --git a/src/main/resources/mapper/device/DeviceTempMapper.xml b/src/main/resources/mapper/device/DeviceTempMapper.xml index 1e76642..540707a 100644 --- a/src/main/resources/mapper/device/DeviceTempMapper.xml +++ b/src/main/resources/mapper/device/DeviceTempMapper.xml @@ -4,7 +4,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -12,7 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id from tuoheng_device_temp - and id = #{id}