From 1b3aea2059ab03164b598c3af595fdbec288deb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B0=8F=E4=BA=91?= Date: Sat, 17 Jan 2026 10:30:26 +0800 Subject: [PATCH] xx --- pom.xml | 18 +++++ .../media/controller/MediaTempController.java | 70 +++++++++++++++++++ .../convert/MediaTempControllerConvert.java | 58 +++++++++++++++ .../media/domain/api/IMediaTempDomain.java | 29 ++++++++ .../convert/MediaTempDomainConvert.java | 58 +++++++++++++++ .../domain/impl/MediaTempDomainImpl.java | 39 +++++++++++ .../ruoyi/media/domain/model/MediaTemp.java | 55 +++++++++++++++ .../ruoyi/media/mapper/MediaTempMapper.java | 29 ++++++++ .../media/mapper/entity/MediaTempEntity.java | 36 ++++++++++ .../media/service/api/IMediaTempService.java | 29 ++++++++ .../convert/MediaTempServiceConvert.java | 58 +++++++++++++++ .../ruoyi/media/service/dto/MediaTempDTO.java | 55 +++++++++++++++ .../service/impl/MediaTempServiceImpl.java | 51 ++++++++++++++ src/main/resources/bootstrap.yml | 8 ++- .../migration/V1__Create_media_temp_table.sql | 14 ++++ .../mapper/media/MediaTempMapper.xml | 27 +++++++ 16 files changed, 632 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/ruoyi/media/controller/MediaTempController.java create mode 100644 src/main/java/com/ruoyi/media/controller/convert/MediaTempControllerConvert.java create mode 100644 src/main/java/com/ruoyi/media/domain/api/IMediaTempDomain.java create mode 100644 src/main/java/com/ruoyi/media/domain/convert/MediaTempDomainConvert.java create mode 100644 src/main/java/com/ruoyi/media/domain/impl/MediaTempDomainImpl.java create mode 100644 src/main/java/com/ruoyi/media/domain/model/MediaTemp.java create mode 100644 src/main/java/com/ruoyi/media/mapper/MediaTempMapper.java create mode 100644 src/main/java/com/ruoyi/media/mapper/entity/MediaTempEntity.java create mode 100644 src/main/java/com/ruoyi/media/service/api/IMediaTempService.java create mode 100644 src/main/java/com/ruoyi/media/service/convert/MediaTempServiceConvert.java create mode 100644 src/main/java/com/ruoyi/media/service/dto/MediaTempDTO.java create mode 100644 src/main/java/com/ruoyi/media/service/impl/MediaTempServiceImpl.java create mode 100644 src/main/resources/db/migration/V1__Create_media_temp_table.sql create mode 100644 src/main/resources/mapper/media/MediaTempMapper.xml diff --git a/pom.xml b/pom.xml index bc96e05..7ea4ceb 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,24 @@ ruoyi-common-swagger + + + com.ruoyi + tuoheng-api-media + + + + + org.flywaydb + flyway-core + + + + + org.flywaydb + flyway-mysql + + diff --git a/src/main/java/com/ruoyi/media/controller/MediaTempController.java b/src/main/java/com/ruoyi/media/controller/MediaTempController.java new file mode 100644 index 0000000..f79fcb3 --- /dev/null +++ b/src/main/java/com/ruoyi/media/controller/MediaTempController.java @@ -0,0 +1,70 @@ +package com.ruoyi.media.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.media.api.domain.MediaTempVO; +import com.ruoyi.media.controller.convert.MediaTempControllerConvert; +import com.ruoyi.media.service.api.IMediaTempService; +import com.ruoyi.media.service.dto.MediaTempDTO; +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; + +/** + * 媒体临时表Controller + * + * @author ruoyi + * @date 2026-01-17 + */ +@RestController +@RequestMapping("/media/temp") +public class MediaTempController extends BaseController +{ + @Autowired + private IMediaTempService mediaTempService; + + /** + * 查询媒体临时表列表 + */ + @GetMapping("/list") + public TableDataInfo list(MediaTempVO mediaTemp) + { + startPage(); + // API Domain → Service DTO + MediaTempDTO dto = MediaTempControllerConvert.toDTO(mediaTemp); + List dtoList = mediaTempService.selectMediaTempList(dto); + // Service DTO → API Domain + List list = MediaTempControllerConvert.toApiDomainList(dtoList); + return getDataTable(list); + } + + /** + * 获取媒体临时表详细信息(内部调用) + */ + @InnerAuth + @GetMapping(value = "/{id}") + public R getMediaById(@PathVariable("id") String id) + { + MediaTempDTO dto = mediaTempService.selectMediaTempById(id); + MediaTempVO mediaTemp = MediaTempControllerConvert.toVO(dto); + return R.ok(mediaTemp); + } + + /** + * 获取媒体临时表详细信息(外部调用) + */ + @GetMapping(value = "/info/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) + { + MediaTempDTO dto = mediaTempService.selectMediaTempById(id); + MediaTempVO mediaTemp = MediaTempControllerConvert.toVO(dto); + return success(mediaTemp); + } +} diff --git a/src/main/java/com/ruoyi/media/controller/convert/MediaTempControllerConvert.java b/src/main/java/com/ruoyi/media/controller/convert/MediaTempControllerConvert.java new file mode 100644 index 0000000..b579a29 --- /dev/null +++ b/src/main/java/com/ruoyi/media/controller/convert/MediaTempControllerConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.media.controller.convert; + +import com.ruoyi.media.api.domain.MediaTempVO; +import com.ruoyi.media.service.dto.MediaTempDTO; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 媒体临时表Controller层转换器 + * API Domain ↔ Service DTO + * + * @author ruoyi + * @date 2026-01-17 + */ +public class MediaTempControllerConvert +{ + /** + * DTO 转 API Domain + */ + public static MediaTempVO toVO(MediaTempDTO dto) + { + if (dto == null) + { + return null; + } + MediaTempVO apiDomain = new MediaTempVO(); + BeanUtils.copyProperties(dto, apiDomain); + return apiDomain; + } + + /** + * API Domain 转 DTO + */ + public static MediaTempDTO toDTO(MediaTempVO apiDomain) + { + if (apiDomain == null) + { + return null; + } + MediaTempDTO dto = new MediaTempDTO(); + 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(MediaTempControllerConvert::toVO).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/ruoyi/media/domain/api/IMediaTempDomain.java b/src/main/java/com/ruoyi/media/domain/api/IMediaTempDomain.java new file mode 100644 index 0000000..7cbf2e4 --- /dev/null +++ b/src/main/java/com/ruoyi/media/domain/api/IMediaTempDomain.java @@ -0,0 +1,29 @@ +package com.ruoyi.media.domain.api; + +import com.ruoyi.media.domain.model.MediaTemp; +import java.util.List; + +/** + * 媒体临时表Domain接口 + * + * @author ruoyi + * @date 2026-01-17 + */ +public interface IMediaTempDomain +{ + /** + * 查询媒体临时表列表 + * + * @param mediaTemp 媒体临时表 + * @return 媒体临时表集合 + */ + List selectMediaTempList(MediaTemp mediaTemp); + + /** + * 根据ID查询媒体临时表 + * + * @param id 主键ID + * @return 媒体临时表 + */ + MediaTemp selectMediaTempById(String id); +} diff --git a/src/main/java/com/ruoyi/media/domain/convert/MediaTempDomainConvert.java b/src/main/java/com/ruoyi/media/domain/convert/MediaTempDomainConvert.java new file mode 100644 index 0000000..88f56c8 --- /dev/null +++ b/src/main/java/com/ruoyi/media/domain/convert/MediaTempDomainConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.media.domain.convert; + +import com.ruoyi.media.domain.model.MediaTemp; +import com.ruoyi.media.mapper.entity.MediaTempEntity; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 媒体临时表Domain层转换器 + * Domain Model ↔ Mapper Entity + * + * @author ruoyi + * @date 2026-01-17 + */ +public class MediaTempDomainConvert +{ + /** + * Entity 转 Model + */ + public static MediaTemp toModel(MediaTempEntity entity) + { + if (entity == null) + { + return null; + } + MediaTemp model = new MediaTemp(); + BeanUtils.copyProperties(entity, model); + return model; + } + + /** + * Model 转 Entity + */ + public static MediaTempEntity toEntity(MediaTemp model) + { + if (model == null) + { + return null; + } + MediaTempEntity entity = new MediaTempEntity(); + 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(MediaTempDomainConvert::toModel).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/ruoyi/media/domain/impl/MediaTempDomainImpl.java b/src/main/java/com/ruoyi/media/domain/impl/MediaTempDomainImpl.java new file mode 100644 index 0000000..d71357c --- /dev/null +++ b/src/main/java/com/ruoyi/media/domain/impl/MediaTempDomainImpl.java @@ -0,0 +1,39 @@ +package com.ruoyi.media.domain.impl; + +import com.ruoyi.media.domain.api.IMediaTempDomain; +import com.ruoyi.media.domain.convert.MediaTempDomainConvert; +import com.ruoyi.media.domain.model.MediaTemp; +import com.ruoyi.media.mapper.MediaTempMapper; +import com.ruoyi.media.mapper.entity.MediaTempEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 媒体临时表Domain实现 + * + * @author ruoyi + * @date 2026-01-17 + */ +@Component +public class MediaTempDomainImpl implements IMediaTempDomain +{ + @Autowired + private MediaTempMapper mediaTempMapper; + + @Override + public List selectMediaTempList(MediaTemp mediaTempModel) + { + MediaTempEntity entity = MediaTempDomainConvert.toEntity(mediaTempModel); + List entityList = mediaTempMapper.selectMediaTempList(entity); + return MediaTempDomainConvert.toModelList(entityList); + } + + @Override + public MediaTemp selectMediaTempById(String id) + { + MediaTempEntity entity = mediaTempMapper.selectMediaTempById(id); + return MediaTempDomainConvert.toModel(entity); + } +} diff --git a/src/main/java/com/ruoyi/media/domain/model/MediaTemp.java b/src/main/java/com/ruoyi/media/domain/model/MediaTemp.java new file mode 100644 index 0000000..eb50eaf --- /dev/null +++ b/src/main/java/com/ruoyi/media/domain/model/MediaTemp.java @@ -0,0 +1,55 @@ +package com.ruoyi.media.domain.model; + +import java.io.Serializable; +import java.util.Date; + +/** + * 媒体临时表领域模型 + * Domain 层对外暴露的对象 + * + * @author ruoyi + * @date 2026-01-17 + */ +public class MediaTemp 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; + } +} diff --git a/src/main/java/com/ruoyi/media/mapper/MediaTempMapper.java b/src/main/java/com/ruoyi/media/mapper/MediaTempMapper.java new file mode 100644 index 0000000..c4772bc --- /dev/null +++ b/src/main/java/com/ruoyi/media/mapper/MediaTempMapper.java @@ -0,0 +1,29 @@ +package com.ruoyi.media.mapper; + +import com.ruoyi.media.mapper.entity.MediaTempEntity; +import java.util.List; + +/** + * 媒体临时表Mapper接口 + * + * @author ruoyi + * @date 2026-01-17 + */ +public interface MediaTempMapper +{ + /** + * 查询媒体临时表列表 + * + * @param mediaTempEntity 媒体临时表 + * @return 媒体临时表集合 + */ + public List selectMediaTempList(MediaTempEntity mediaTempEntity); + + /** + * 根据ID查询媒体临时表 + * + * @param id 主键ID + * @return 媒体临时表 + */ + public MediaTempEntity selectMediaTempById(String id); +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/media/mapper/entity/MediaTempEntity.java b/src/main/java/com/ruoyi/media/mapper/entity/MediaTempEntity.java new file mode 100644 index 0000000..ffe1542 --- /dev/null +++ b/src/main/java/com/ruoyi/media/mapper/entity/MediaTempEntity.java @@ -0,0 +1,36 @@ +package com.ruoyi.media.mapper.entity; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +/** + * 媒体临时表实体对象 tuoheng_media_temp + * Mapper 层实体,对应数据库表 + * + * @author ruoyi + * @date 2026-01-17 + */ +public class MediaTempEntity 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 "MediaTempEntity{" + + "id='" + id + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/media/service/api/IMediaTempService.java b/src/main/java/com/ruoyi/media/service/api/IMediaTempService.java new file mode 100644 index 0000000..bbbcfdb --- /dev/null +++ b/src/main/java/com/ruoyi/media/service/api/IMediaTempService.java @@ -0,0 +1,29 @@ +package com.ruoyi.media.service.api; + +import com.ruoyi.media.service.dto.MediaTempDTO; +import java.util.List; + +/** + * 媒体临时表Service接口 + * + * @author ruoyi + * @date 2026-01-17 + */ +public interface IMediaTempService +{ + /** + * 查询媒体临时表列表 + * + * @param mediaTempDTO 媒体临时表 + * @return 媒体临时表集合 + */ + List selectMediaTempList(MediaTempDTO mediaTempDTO); + + /** + * 根据ID查询媒体临时表 + * + * @param id 主键ID + * @return 媒体临时表 + */ + MediaTempDTO selectMediaTempById(String id); +} diff --git a/src/main/java/com/ruoyi/media/service/convert/MediaTempServiceConvert.java b/src/main/java/com/ruoyi/media/service/convert/MediaTempServiceConvert.java new file mode 100644 index 0000000..5a3ba00 --- /dev/null +++ b/src/main/java/com/ruoyi/media/service/convert/MediaTempServiceConvert.java @@ -0,0 +1,58 @@ +package com.ruoyi.media.service.convert; + +import com.ruoyi.media.domain.model.MediaTemp; +import com.ruoyi.media.service.dto.MediaTempDTO; +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 媒体临时表Service层转换器 + * Service DTO ↔ Domain Model + * + * @author ruoyi + * @date 2026-01-17 + */ +public class MediaTempServiceConvert +{ + /** + * Model 转 DTO + */ + public static MediaTempDTO toDTO(MediaTemp model) + { + if (model == null) + { + return null; + } + MediaTempDTO dto = new MediaTempDTO(); + BeanUtils.copyProperties(model, dto); + return dto; + } + + /** + * DTO 转 Model + */ + public static MediaTemp toModel(MediaTempDTO dto) + { + if (dto == null) + { + return null; + } + MediaTemp model = new MediaTemp(); + 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(MediaTempServiceConvert::toDTO).collect(Collectors.toList()); + } +} diff --git a/src/main/java/com/ruoyi/media/service/dto/MediaTempDTO.java b/src/main/java/com/ruoyi/media/service/dto/MediaTempDTO.java new file mode 100644 index 0000000..9ce8fb7 --- /dev/null +++ b/src/main/java/com/ruoyi/media/service/dto/MediaTempDTO.java @@ -0,0 +1,55 @@ +package com.ruoyi.media.service.dto; + +import java.io.Serializable; +import java.util.Date; + +/** + * 媒体临时表服务层DTO + * Service 层对外暴露的对象 + * + * @author ruoyi + * @date 2026-01-17 + */ +public class MediaTempDTO 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; + } +} diff --git a/src/main/java/com/ruoyi/media/service/impl/MediaTempServiceImpl.java b/src/main/java/com/ruoyi/media/service/impl/MediaTempServiceImpl.java new file mode 100644 index 0000000..abbc10a --- /dev/null +++ b/src/main/java/com/ruoyi/media/service/impl/MediaTempServiceImpl.java @@ -0,0 +1,51 @@ +package com.ruoyi.media.service.impl; + +import com.ruoyi.media.domain.api.IMediaTempDomain; +import com.ruoyi.media.domain.model.MediaTemp; +import com.ruoyi.media.service.api.IMediaTempService; +import com.ruoyi.media.service.convert.MediaTempServiceConvert; +import com.ruoyi.media.service.dto.MediaTempDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 媒体临时表Service业务层处理 + * + * @author ruoyi + * @date 2026-01-17 + */ +@Service +public class MediaTempServiceImpl implements IMediaTempService +{ + @Autowired + private IMediaTempDomain mediaTempDomain; + + /** + * 查询媒体临时表列表 + * + * @param mediaTempDTO 媒体临时表 + * @return 媒体临时表集合 + */ + @Override + public List selectMediaTempList(MediaTempDTO mediaTempDTO) + { + MediaTemp model = MediaTempServiceConvert.toModel(mediaTempDTO); + List modelList = mediaTempDomain.selectMediaTempList(model); + return MediaTempServiceConvert.toDTOList(modelList); + } + + /** + * 根据ID查询媒体临时表 + * + * @param id 主键ID + * @return 媒体临时表 + */ + @Override + public MediaTempDTO selectMediaTempById(String id) + { + MediaTemp model = mediaTempDomain.selectMediaTempById(id); + return MediaTempServiceConvert.toDTO(model); + } +} diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml index 1f1b021..134f20b 100644 --- a/src/main/resources/bootstrap.yml +++ b/src/main/resources/bootstrap.yml @@ -1,15 +1,19 @@ # Tomcat server: - port: 9201 + port: 9205 # Spring -spring: +spring: application: # 应用名称 name: tuoheng-media profiles: # 环境配置 active: prod + flyway: + table: flyway_media_schema_history # 自定义历史表名 + baseline-on-migrate: true # 在nocos中也有配置 + baseline-version: 0 # 在nocos中也有配置 cloud: nacos: discovery: diff --git a/src/main/resources/db/migration/V1__Create_media_temp_table.sql b/src/main/resources/db/migration/V1__Create_media_temp_table.sql new file mode 100644 index 0000000..a56f1ed --- /dev/null +++ b/src/main/resources/db/migration/V1__Create_media_temp_table.sql @@ -0,0 +1,14 @@ +-- ============================================================ +-- Flyway Migration Script +-- ============================================================ +-- Version: V1 +-- Description: Create tuoheng_media_temp table +-- Author: ruoyi +-- Date: 2026-01-17 +-- ============================================================ + +-- 创建媒体临时表 +CREATE TABLE IF NOT EXISTS tuoheng_media_temp ( + id VARCHAR(64) NOT NULL COMMENT '主键ID', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='媒体临时表'; diff --git a/src/main/resources/mapper/media/MediaTempMapper.xml b/src/main/resources/mapper/media/MediaTempMapper.xml new file mode 100644 index 0000000..fc1ac1e --- /dev/null +++ b/src/main/resources/mapper/media/MediaTempMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + select id from tuoheng_media_temp + + + + + + +