diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/controller/VoiceRefFilesController.java b/flx-ai/src/main/java/com/pjilisense/flxai/controller/VoiceRefFilesController.java new file mode 100644 index 0000000..9acc642 --- /dev/null +++ b/flx-ai/src/main/java/com/pjilisense/flxai/controller/VoiceRefFilesController.java @@ -0,0 +1,95 @@ +package com.pjilisense.flxai.controller; + +import com.pjilisense.flxai.base.constant.Constant; +import com.pjilisense.flxai.dto.DigitalImgDTO; +import com.pjilisense.flxai.page.PageData; +import com.pjilisense.flxai.utils.Result; +import com.pjilisense.flxai.dto.VoiceRefFilesDTO; +import com.pjilisense.flxai.service.VoiceRefFilesService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 音频参考文件 + * + * @author liushujing liushujing@philisense.com + * @since 1.0.0 2025-02-28 + */ +@RestController +@RequestMapping(Constant.BASE_PATH+"voicereffiles") +@Api(tags="音频参考文件") +public class VoiceRefFilesController { + + private static Logger logger = LoggerFactory.getLogger(VoiceRefFilesController.class); + + @Autowired + private VoiceRefFilesService voiceRefFilesService; + + @GetMapping("page") + @ApiOperation("分页") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType="Integer", dataTypeClass =Integer.class) , + @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query",required = true, dataType="Integer", dataTypeClass =Integer.class) , + @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType="String", dataTypeClass =String.class) , + @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType="String", dataTypeClass =String.class) + }) + public Result> page(@ApiIgnore @RequestParam Map params){ + PageData page = voiceRefFilesService.page(params); + + return new Result>().ok(page); + } + @PostMapping("queryAll") + @ApiOperation("根据类型获取全部数据") + public Result> queryAll(@RequestBody VoiceRefFilesDTO dto) { + List page = voiceRefFilesService.getAll(dto); + return new Result>().ok(page); + } + @GetMapping("{id}") + @ApiOperation("信息") + public Result get(@PathVariable("id") Long id){ + VoiceRefFilesDTO data = voiceRefFilesService.get(id); + + return new Result().ok(data); + } + + @PostMapping + @ApiOperation("保存") + public Result save(@RequestBody VoiceRefFilesDTO dto){ + + voiceRefFilesService.save(dto); + + return new Result(); + } + + @PutMapping + @ApiOperation("修改") + public Result update(@RequestBody VoiceRefFilesDTO dto){ + + voiceRefFilesService.update(dto); + + return new Result(); + } + + @DeleteMapping + @ApiOperation("删除") + public Result delete(@RequestBody String[] ids){ + + voiceRefFilesService.delete(ids); + + return new Result(); + } + + +} \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/dao/VoiceRefFilesDao.java b/flx-ai/src/main/java/com/pjilisense/flxai/dao/VoiceRefFilesDao.java new file mode 100644 index 0000000..e419541 --- /dev/null +++ b/flx-ai/src/main/java/com/pjilisense/flxai/dao/VoiceRefFilesDao.java @@ -0,0 +1,16 @@ +package com.pjilisense.flxai.dao; + +import com.pjilisense.flxai.base.dao.BaseDao; +import com.pjilisense.flxai.entity.VoiceRefFilesEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 音频参考文件 + * + * @author liushujing liushujing@philisense.com + * @since 1.0.0 2025-02-28 + */ +@Mapper +public interface VoiceRefFilesDao extends BaseDao { + +} \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/dto/DigitalImgDTO.java b/flx-ai/src/main/java/com/pjilisense/flxai/dto/DigitalImgDTO.java index d7d2878..eb0dd70 100644 --- a/flx-ai/src/main/java/com/pjilisense/flxai/dto/DigitalImgDTO.java +++ b/flx-ai/src/main/java/com/pjilisense/flxai/dto/DigitalImgDTO.java @@ -28,7 +28,7 @@ public class DigitalImgDTO implements Serializable { @ApiModelProperty(value = "图片存放的相对路径") private String imgPath; - @ApiModelProperty(value = "图片类型1数字人形象2数字人场景3数字人背景") + @ApiModelProperty(value = "图片类型1数字人形象2数字人场景3数字人背景4音色形象") private String imgType; diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/dto/VoiceRefFilesDTO.java b/flx-ai/src/main/java/com/pjilisense/flxai/dto/VoiceRefFilesDTO.java new file mode 100644 index 0000000..e04def0 --- /dev/null +++ b/flx-ai/src/main/java/com/pjilisense/flxai/dto/VoiceRefFilesDTO.java @@ -0,0 +1,38 @@ +package com.pjilisense.flxai.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 音频参考文件 + * + * @author liushujing liushujing@philisense.com + * @since 1.0.0 2025-02-28 + */ +@Data +@ApiModel(value = "音频参考文件") +public class VoiceRefFilesDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "主键") + private String id; + + @ApiModelProperty(value = "名称") + private String name; + + @ApiModelProperty(value = "音频存路径") + private String voicePath; + + @ApiModelProperty(value = "显示图片路径") + private String imgPath; + + @ApiModelProperty(value = "语言") + private String language; + + +} \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/entity/DigitalImgEntity.java b/flx-ai/src/main/java/com/pjilisense/flxai/entity/DigitalImgEntity.java index 636ed88..b036488 100644 --- a/flx-ai/src/main/java/com/pjilisense/flxai/entity/DigitalImgEntity.java +++ b/flx-ai/src/main/java/com/pjilisense/flxai/entity/DigitalImgEntity.java @@ -28,7 +28,7 @@ public class DigitalImgEntity { */ private String imgPath; /** - * 图片类型1数字人形象2数字人场景3数字人背景 + * 图片类型1数字人形象2数字人场景3数字人背景4音色形象 */ private String imgType; } \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/entity/VoiceRefFilesEntity.java b/flx-ai/src/main/java/com/pjilisense/flxai/entity/VoiceRefFilesEntity.java new file mode 100644 index 0000000..84caae0 --- /dev/null +++ b/flx-ai/src/main/java/com/pjilisense/flxai/entity/VoiceRefFilesEntity.java @@ -0,0 +1,38 @@ +package com.pjilisense.flxai.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +/** + * 音频参考文件 + * + * @author liushujing liushujing@philisense.com + * @since 1.0.0 2025-02-28 + */ +@Data +@TableName("voice_ref_files") +public class VoiceRefFilesEntity { + + /** + * 主键 + */ + private String id; + /** + * 名称 + */ + private String name; + /** + * 音频存路径 + */ + private String voicePath; + /** + * 显示图片路径 + */ + private String imgPath; + /** + * 语言 + */ + private String language; +} \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/service/VoiceRefFilesService.java b/flx-ai/src/main/java/com/pjilisense/flxai/service/VoiceRefFilesService.java new file mode 100644 index 0000000..b7557dd --- /dev/null +++ b/flx-ai/src/main/java/com/pjilisense/flxai/service/VoiceRefFilesService.java @@ -0,0 +1,18 @@ +package com.pjilisense.flxai.service; + +import com.pjilisense.flxai.base.service.CrudService; +import com.pjilisense.flxai.dto.VoiceRefFilesDTO; +import com.pjilisense.flxai.entity.VoiceRefFilesEntity; + +import java.util.List; + +/** + * 音频参考文件 + * + * @author liushujing liushujing@philisense.com + * @since 1.0.0 2025-02-28 + */ +public interface VoiceRefFilesService extends CrudService { + + List getAll(VoiceRefFilesDTO dto); +} \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/service/impl/VoiceRefFilesServiceImpl.java b/flx-ai/src/main/java/com/pjilisense/flxai/service/impl/VoiceRefFilesServiceImpl.java new file mode 100644 index 0000000..f15dfd9 --- /dev/null +++ b/flx-ai/src/main/java/com/pjilisense/flxai/service/impl/VoiceRefFilesServiceImpl.java @@ -0,0 +1,47 @@ +package com.pjilisense.flxai.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.pjilisense.flxai.base.service.impl.CrudServiceImpl; +import com.pjilisense.flxai.dao.VoiceRefFilesDao; +import com.pjilisense.flxai.dto.DigitalImgDTO; +import com.pjilisense.flxai.dto.VoiceRefFilesDTO; +import com.pjilisense.flxai.entity.DigitalImgEntity; +import com.pjilisense.flxai.entity.VoiceRefFilesEntity; +import com.pjilisense.flxai.service.VoiceRefFilesService; +import cn.hutool.core.util.StrUtil; +import com.pjilisense.flxai.utils.ConvertUtils; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * 音频参考文件 + * + * @author liushujing liushujing@philisense.com + * @since 1.0.0 2025-02-28 + */ +@Service +public class VoiceRefFilesServiceImpl extends CrudServiceImpl implements VoiceRefFilesService { + + @Override + public QueryWrapper getWrapper(Map params){ + String id = (String)params.get("id"); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StrUtil.isNotBlank(id), "id", id); + + return wrapper; + } + + @Override + public List getAll(VoiceRefFilesDTO dto) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StrUtil.isNotBlank(dto.getLanguage()), "language", dto.getLanguage()); + wrapper.eq(StrUtil.isNotBlank(dto.getId()), "id", dto.getId()); + wrapper.orderByAsc("id"); + List entityList =baseDao.selectList(wrapper); + return ConvertUtils.sourceToTarget(entityList, VoiceRefFilesDTO.class); + } + +} \ No newline at end of file diff --git a/flx-ai/src/main/java/com/pjilisense/flxai/utils/FileUtil.java b/flx-ai/src/main/java/com/pjilisense/flxai/utils/FileUtil.java index da2d5fc..6910cdb 100644 --- a/flx-ai/src/main/java/com/pjilisense/flxai/utils/FileUtil.java +++ b/flx-ai/src/main/java/com/pjilisense/flxai/utils/FileUtil.java @@ -46,6 +46,7 @@ public class FileUtil { if (!descFile.getParentFile().exists()) { descFile.getParentFile().mkdirs(); } + //multipartFile.transferTo(descFile); try (InputStream is = multipartFile.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(descFile))) { diff --git a/flx-ai/src/main/resources/mapper/postgres/VoiceRefFilesDao.xml b/flx-ai/src/main/resources/mapper/postgres/VoiceRefFilesDao.xml new file mode 100644 index 0000000..e860c06 --- /dev/null +++ b/flx-ai/src/main/resources/mapper/postgres/VoiceRefFilesDao.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file