Prechádzať zdrojové kódy

添加数字人业务

wuyouzhi 4 týždňov pred
rodič
commit
75543bf5a1
19 zmenil súbory, kde vykonal 565 pridanie a 46 odobranie
  1. 1 0
      xyzc-common/xyzc-common-core/src/main/java/com/xyzc/common/core/exception/ErrorCode.java
  2. 75 6
      xyzc-start/src/main/java/com/xyzc/start/controller/NumPersonController.java
  3. 2 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpCommitTrain.java
  4. 58 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpFormwork.java
  5. 63 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplateCaptions.java
  6. 83 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplateDraft.java
  7. 1 1
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpMusicMapper.java
  8. 25 0
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpTemplateDraftMapper.java
  9. 5 0
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpVideoDraftMapper.java
  10. 2 1
      xyzc-start/src/main/java/com/xyzc/start/mapper/NumPersonMapper.java
  11. 11 2
      xyzc-start/src/main/java/com/xyzc/start/service/INpCommitService.java
  12. 8 1
      xyzc-start/src/main/java/com/xyzc/start/service/INpQueryService.java
  13. 1 1
      xyzc-start/src/main/java/com/xyzc/start/service/INumPersonService.java
  14. 71 6
      xyzc-start/src/main/java/com/xyzc/start/service/impl/NpCommitServiceImpl.java
  15. 89 16
      xyzc-start/src/main/java/com/xyzc/start/service/impl/NpQueryServiceImpl.java
  16. 4 3
      xyzc-start/src/main/java/com/xyzc/start/service/impl/NumPersonServiceImpl.java
  17. 7 7
      xyzc-start/src/main/resources/mapper/WebStart/NpMusicMapper.xml
  18. 57 0
      xyzc-start/src/main/resources/mapper/WebStart/NpTemplateDraftMapper.xml
  19. 2 2
      xyzc-start/src/main/resources/mapper/WebStart/NumPersonMapper.xml

+ 1 - 0
xyzc-common/xyzc-common-core/src/main/java/com/xyzc/common/core/exception/ErrorCode.java

@@ -94,6 +94,7 @@ public enum ErrorCode {
     NUMERSON_NO_FILE_TYPE2(11126, "请上传mp3/wav文件类型"),
     NUMERSON_NO_FILE_TYPE3(11127, "请上传mp4/webm文件类型"),
     NUMERSON_NO_FILE_TYPE4(11128, "请上传png/jpg/gif/mp4/webm文件类型"),
+    NUMERSON_NO_MODEL(11129, "请输入模板"),
     // 5000自定义编码
     /**
      * 5000  表示法人姓名和身份证的错误码  -认证

+ 75 - 6
xyzc-start/src/main/java/com/xyzc/start/controller/NumPersonController.java

@@ -1,6 +1,7 @@
 package com.xyzc.start.controller;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xyzc.common.core.utils.Result;
 import com.xyzc.start.domain.*;
 import com.xyzc.start.domain.vo.ComfyuiWorkflowVo;
@@ -151,7 +152,7 @@ public class NumPersonController {
      */
     @PostMapping("/uploadMusic")
     @ResponseBody
-    public Result<String> uploadMusic(NpMusic npMusic){
+    public Result<String> uploadMusic(@RequestBody NpMusic npMusic){
         npCommitService.uploadMusic(npMusic);
         return Result.ok("上传成功");
     }
@@ -161,7 +162,7 @@ public class NumPersonController {
      */
     @PostMapping("/queryMusic")
     @ResponseBody
-    public Result<List<NpMusic>> QueryMusic(NpMusic npMusic){
+    public Result<List<NpMusic>> QueryMusic(@RequestBody NpMusic npMusic){
         List<NpMusic> npMusics = npQueryService.queryMusic(npMusic);
 
         return Result.ok(npMusics);
@@ -205,8 +206,8 @@ public class NumPersonController {
      */
     @PostMapping("/queryCompanySound")
     @ResponseBody
-    public Result<List<NpSound>> queryCompanySound(@RequestBody NpRequestParams npRequestParams) throws Exception {
-        List<NpSound> companySoundList = npQueryService.queryCompanySound(npRequestParams.getType(), npRequestParams.getPage(), npRequestParams.getSize());
+    public Result<Page<NpSound>> queryCompanySound(@RequestBody NpRequestParams npRequestParams) throws Exception {
+        Page<NpSound> companySoundList = npQueryService.queryCompanySound(npRequestParams.getType(), npRequestParams.getPage(), npRequestParams.getSize());
         return Result.ok(companySoundList);
     }
 
@@ -261,17 +262,85 @@ public class NumPersonController {
         return Result.ok();
     }
 
+    /**
+     * 上传公共模板
+     */
+    @PostMapping("/uploadCommonTemplate")
+    @ResponseBody
+    public Result<Void> uploadCommonTemplate(@RequestBody NpFormwork npFormwork) {
+        npCommitService.uploadCommonTemplate(npFormwork);
+        return Result.ok();
+    }
+
+
+    /**
+     * 公共模板查询
+     */
+    @PostMapping("/getCommonTemplate")
+    @ResponseBody
+    public Result<Page<NpFormwork>> getCommonTemplate(@RequestBody NpRequestParams npRequestParams) {
+        Page<NpFormwork> commonTemplate = npQueryService.getCommonTemplate(npRequestParams.getType(), npRequestParams.getPage(), npRequestParams.getSize());
+        return Result.ok(commonTemplate);
+    }
+
+    /**
+     * 获取模板草稿
+     * @param templateId
+     * @return
+     */
     @GetMapping("/getTemplateDraft")
     @ResponseBody
-    public Result<List<NpVideoDraft>> getTemplateDraft(String templateId) {
-        List<NpVideoDraft> npVideoDraft = numPersonService.getTemplateDraft(templateId);
+    public Result<NpTemplateDraft> getTemplateDraft(String templateId) {
+        NpTemplateDraft npVideoDraft = npQueryService.getTemplateDraft(templateId);
         return Result.ok(npVideoDraft);
     }
 
+    /**
+     * 更改草稿名称
+     */
+    @PostMapping("/udateDraftName")
+    @ResponseBody
+    public Result<Void> udateDraftName(@RequestBody NpTemplateDraft templateDraft) {
+        npCommitService.udateDraftName(templateDraft);
+        return Result.ok();
+    }
+
+    /**
+     * 删除草稿
+     */
+    @PostMapping("/deleteDraftById")
+    @ResponseBody
+    public Result<Void> deleteDraftById(@RequestBody NpTemplateDraft templateDraft) {
+        npCommitService.deleteDraftById(templateDraft);
+        return Result.ok();
+    }
+
+    /**
+     * 对草稿进行按更新日期排序
+     */
+    @PostMapping("/sortDraftByUpdate")
+    @ResponseBody
+    public Result<Page<NpTemplateDraft>> sortDraftByUpdate(@RequestBody NpRequestParams npRequestParams) {
+        Page<NpTemplateDraft> npTemplateDraftPage = npQueryService.sortDraftByUpdate(npRequestParams.getPage(), npRequestParams.getSize());
+        return Result.ok(npTemplateDraftPage);
+    }
+
+    /**
+     * 删除草稿
+     */
     @PostMapping("/saveTemplateDraft")
     @ResponseBody
     public Result<String> saveTemplateDraft(@RequestBody NpVideoDraft npVideoDraft) {
         numPersonService.saveTemplateDraft(npVideoDraft);
         return Result.ok("保存成功!");
     }
+//
+
+//    @PostMapping("/getFormworkList")
+//    @ResponseBody
+//    public Result<String> getFormworkList() {
+//        numPersonService.saveTemplate(npTemplate);
+//        return Result.ok("保存成功!");
+//    }
+
 }

+ 2 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpCommitTrain.java

@@ -1,6 +1,7 @@
 package com.xyzc.start.domain;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.xyzc.common.mybatis.core.domain.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -17,6 +18,7 @@ import java.io.Serial;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @TableName("xy_np_commit_train")
 public class NpCommitTrain extends BaseEntity {
 

+ 58 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpFormwork.java

@@ -0,0 +1,58 @@
+package com.xyzc.start.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.xyzc.common.mybatis.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 模板信息对象 xy_np_formwork
+ *
+ * @author wyz
+ * @date 2024-08-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@TableName("xy_np_formwork")
+public class NpFormwork extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+    @TableId(value = "id")
+    private Long id;
+
+    /**
+     * 基础用户
+     */
+    private Long baseUserId;
+
+    /**
+     * 模板元素
+     */
+    private String nodes;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 模板类型:1:我的;2:热门
+     */
+    private Integer type;
+
+    /**
+     * 1:竖版;2:横版
+     */
+    private Integer formworkType;
+
+
+}

+ 63 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplateCaptions.java

@@ -0,0 +1,63 @@
+package com.xyzc.start.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.xyzc.common.mybatis.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * 对象 xy_np_template_captions
+ *
+ * @author wyz
+ * @date 2024-08-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("xy_np_template_captions")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class NpTemplateCaptions extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+    @TableId(value = "id")
+    private Long id;
+
+    /**
+     * 平台id
+     */
+    private Integer plateId;
+
+    /**
+     * 基础用户id
+     */
+    private Long baseUserId;
+
+    /**
+     * 语音地址
+     */
+    private String ttsUrl;
+
+    /**
+     * 文字地址
+     */
+    private String srtUrl;
+
+    /**
+     * 时长
+     */
+    private String duration;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+
+}

+ 83 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplateDraft.java

@@ -0,0 +1,83 @@
+package com.xyzc.start.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.xyzc.common.mybatis.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serial;
+
+/**
+ * xy_np_template_draft
+ *
+ * @author yz
+ * @date 2024-08-23
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@TableName("xy_np_template_draft")
+public class NpTemplateDraft extends BaseEntity {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 
+     */
+    @TableId(value = "id")
+    private Long id;
+
+    /**
+     * 
+     */
+    private Long baseUserId;
+
+    /**
+     * 封面Url
+     */
+    private String draftImgUrl;
+
+    /**
+     * 草稿名称
+     */
+    private String draftName;
+
+    /**
+     * 声音id
+     */
+    private Long soundId;
+
+    /**
+     * 音乐id
+     */
+    private Long musicId;
+
+    /**
+     * 背景图片id
+     */
+    private Long materialId;
+
+    /**
+     * ai文案内容
+     */
+    private String content;
+
+    /**
+     * 画面素材
+     */
+    private String nodes;
+
+    /**
+     * 模特大小及位置
+     */
+    private String style;
+
+    /**
+     * 字幕样式
+     */
+    private String srtStyle;
+
+
+}

+ 1 - 1
xyzc-start/src/main/java/com/xyzc/start/mapper/NpMusicMapper.java

@@ -11,5 +11,5 @@ import java.util.List;
 @Repository
 public interface NpMusicMapper extends BaseMapper<NpMusic> {
 
-    List<NpMusic> queryMusic(NpMusic npMusic);
+    List<NpMusic> queryMusic(long baseUserId, NpMusic npMusic);
 }

+ 25 - 0
xyzc-start/src/main/java/com/xyzc/start/mapper/NpTemplateDraftMapper.java

@@ -0,0 +1,25 @@
+package com.xyzc.start.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xyzc.start.domain.NpFormwork;
+import com.xyzc.start.domain.NpTemplateDraft;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 编辑模特草稿Mapper接口
+ *
+ * @author wyz
+ * @date 2024-08-23
+ */
+@Repository
+public interface NpTemplateDraftMapper extends BaseMapper<NpTemplateDraft> {
+
+    NpFormwork getTemplateDraft(String templateId);
+
+    Page<NpFormwork>  getCommonTemplate(Long baseUserId, int type, Page<NpFormwork> page);
+
+    Page<NpTemplateDraft>  sortDraftByUpdate(Long baseUserId, Page<NpTemplateDraft> page);
+
+    int insertNpFormwork(NpFormwork npFormwork);
+}

+ 5 - 0
xyzc-start/src/main/java/com/xyzc/start/mapper/NpVideoDraftMapper.java

@@ -2,12 +2,17 @@ package com.xyzc.start.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xyzc.start.domain.NpFormwork;
+import com.xyzc.start.domain.NpTemplateDraft;
 import com.xyzc.start.domain.NpVideoDraft;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 
 @Repository
 public interface NpVideoDraftMapper extends BaseMapper<NpVideoDraft> {
 
 //    List<NpVideoDraft> queryText(NpText npText);
+
 }

+ 2 - 1
xyzc-start/src/main/java/com/xyzc/start/mapper/NumPersonMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xyzc.start.domain.NpSound;
 import com.xyzc.start.domain.NpTemplate;
 import org.springframework.stereotype.Repository;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import java.util.List;
 
@@ -14,7 +15,7 @@ public interface NumPersonMapper extends BaseMapper<NpSound> {
          * 查询公司声音
          * @return
          */
-        List<NpSound> queryCompanySound(Long baseUserId, Integer type, Integer start, Integer end);
+        Page<NpSound> queryCompanySound(Long baseUserId, Integer type, Page<NpSound> page);
 
         /**
          * 查询公共模特

+ 11 - 2
xyzc-start/src/main/java/com/xyzc/start/service/INpCommitService.java

@@ -1,11 +1,12 @@
 package com.xyzc.start.service;
 
-import com.xyzc.start.domain.NpCommitTrain;
-import com.xyzc.start.domain.NpMusic;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xyzc.start.domain.*;
 import org.springframework.core.io.FileSystemResource;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.security.NoSuchAlgorithmException;
+import java.util.List;
 
 public interface INpCommitService {
 
@@ -20,5 +21,13 @@ public interface INpCommitService {
 
     void uploadMusic(NpMusic npMusic);
 
+    void uploadCommonTemplate(NpFormwork npFormwork);
+
+    void udateDraftName(NpTemplateDraft templateDraft);
+
+    void deleteDraftById(NpTemplateDraft templateDraft);
+
 //    void uploadText(NpText npText);
+
+//    NpTemplateDraft getTemplateDraft(String templateId);
 }

+ 8 - 1
xyzc-start/src/main/java/com/xyzc/start/service/INpQueryService.java

@@ -1,6 +1,7 @@
 package com.xyzc.start.service;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xyzc.start.domain.*;
 
 import java.util.List;
@@ -13,7 +14,11 @@ public interface INpQueryService {
      */
     public NpCommitTrain queryTrainVideoById(String trainId);
 
-    List<NpSound> queryCompanySound(Integer type, Integer page, Integer size);
+    Page<NpSound> queryCompanySound(Integer type, Integer page, Integer size);
+
+    Page<NpFormwork> getCommonTemplate(Integer type, Integer page, Integer size);
+
+    Page<NpTemplateDraft> sortDraftByUpdate(Integer page, Integer size);
 
     /**
      * 查询共同模板
@@ -22,6 +27,8 @@ public interface INpQueryService {
     List<NpTemplate> queryCommonTemplate(Integer page, Integer size);
     List<NpCommitTrain> queryTrainingModel(Integer page, Integer size);
 
+    NpTemplateDraft getTemplateDraft(String templateId);
+
     public List<NpCommitTrain> queryTrainVideo(Integer page, Integer size);
 
     /**

+ 1 - 1
xyzc-start/src/main/java/com/xyzc/start/service/INumPersonService.java

@@ -36,7 +36,7 @@ public interface INumPersonService {
      */
     String getTrainingInfo(String trainingId);
 
-    List<NpVideoDraft> getTemplateDraft(String templateId);
+//    NpVideoDraft getTemplateDraft(String templateId);
 
     void saveTemplateDraft(NpVideoDraft npVideoDraft);
 }

+ 71 - 6
xyzc-start/src/main/java/com/xyzc/start/service/impl/NpCommitServiceImpl.java

@@ -1,19 +1,19 @@
 package com.xyzc.start.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xyzc.common.core.exception.ErrorCode;
 import com.xyzc.common.core.exception.ServerException;
 import com.xyzc.common.web.security.user.SecurityUser;
-import com.xyzc.start.domain.NpCommitTrain;
-import com.xyzc.start.domain.NpMaterial;
-import com.xyzc.start.domain.NpMusic;
-import com.xyzc.start.mapper.NpCommitTrainMapper;
-import com.xyzc.start.mapper.NpMaterialMapper;
-import com.xyzc.start.mapper.NpMusicMapper;
+import com.xyzc.start.domain.*;
+import com.xyzc.start.mapper.*;
 //import com.xyzc.start.mapper.NpTextMapper;
 import com.xyzc.start.service.INpCommitService;
 import com.xyzc.start.service.INpQueryService;
+import com.xyzc.start.utils.SnowflakeIdWorker;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.logging.log4j.util.Strings;
@@ -63,6 +63,10 @@ public class NpCommitServiceImpl implements INpCommitService {
 
     private INpQueryService queryService;
 
+    private final NpVideoDraftMapper npVideoDraftMapper;
+
+    private final NpTemplateDraftMapper npTemplateDraftMapper;
+
     @Autowired
     public void NpCommitServiceImpl(@Lazy INpQueryService queryService) {
         this.queryService = queryService;
@@ -359,6 +363,67 @@ public class NpCommitServiceImpl implements INpCommitService {
 
     }
 
+    @Override
+    public void  uploadCommonTemplate(NpFormwork npFormwork) {
+        if (Strings.isBlank(npFormwork.getNodes())) {
+            log.error("请输入模板");
+            throw new ServerException(ErrorCode.NUMERSON_NO_MODEL);
+        }
+        if (Strings.isBlank(npFormwork.getName())) {
+            log.error("请输入名称");
+            throw new ServerException(ErrorCode.NUMERSON_NO_NAME);
+        }
+        if (null == npFormwork.getType() ) {
+            log.error("请输入类型");
+            throw new ServerException(ErrorCode.NUMERSON_NO_TYPE);
+        }
+        if (null == npFormwork.getFormworkType() ) {
+            log.error("请输入类型");
+            throw new ServerException(ErrorCode.NUMERSON_NO_TYPE);
+        }
+
+        int i = npTemplateDraftMapper.insertNpFormwork(npFormwork);
+        if(i == 0){
+            log.error("保存失败");
+        }
+
+    }
+
+    @Override
+    public void udateDraftName(NpTemplateDraft templateDraft) {
+//        npTemplateDraftMapper.update(new QueryWrapper<NpTemplateDraft>().eq("id",templateDraft.getId()).set("draft_name",templateDraft.getDraftName()));
+        templateDraft.setBaseUserId(SecurityUser.getUserId());
+        npTemplateDraftMapper.insertOrUpdate(templateDraft);
+    }
+
+    @Override
+    public void deleteDraftById(NpTemplateDraft templateDraft) {
+//        npTemplateDraftMapper.update(new QueryWrapper<NpTemplateDraft>().eq("id",templateDraft.getId()).set("draft_name",templateDraft.getDraftName()));
+        Long id = templateDraft.getId();
+        if (null == id) {
+            log.error("请输入id");
+            throw new ServerException(ErrorCode.NUMERSON_NO_ID);
+        }
+        npTemplateDraftMapper.deleteById(id);
+    }
+
+
+//    Long baseUserId = SecurityUser.getUserId();
+//    List<NpVideoDraft> videoDraftList = npVideoDraftMapper.selectList(new QueryWrapper<NpVideoDraft>().eq("base_user_id", baseUserId).eq("type", "1"));
+//
+//    String nodeJson = "";
+//        if (Strings.isBlank(templateId) && videoDraftList.isEmpty()) {
+//        NpVideoDraft videoDraft = npVideoDraftMapper.selectOne(new QueryWrapper<NpVideoDraft>().eq("id", "1"));
+//        nodeJson = videoDraft.getNodesJson();
+//
+//        SnowflakeIdWorker snowflakeIdWorker = new SnowflakeIdWorker(1, 1);
+//        long l = snowflakeIdWorker.nextId();
+//        videoDraft.setId(l);
+//        videoDraft.setNodesJson(nodeJson);
+//    }
+//
+//        return videoDraftList;
+
 //    @Override
 //    public void uploadText(NpText npText) {
 //

+ 89 - 16
xyzc-start/src/main/java/com/xyzc/start/service/impl/NpQueryServiceImpl.java

@@ -1,7 +1,9 @@
 package com.xyzc.start.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xyzc.common.core.exception.ErrorCode;
 import com.xyzc.common.core.exception.ServerException;
 import com.xyzc.common.web.security.user.SecurityUser;
@@ -9,8 +11,10 @@ import com.xyzc.start.domain.*;
 import com.xyzc.start.mapper.*;
 import com.xyzc.start.service.INpCommitService;
 import com.xyzc.start.service.INpQueryService;
+import com.xyzc.start.utils.SnowflakeIdWorker;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.http.HttpEntity;
@@ -19,10 +23,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
 import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
+import java.util.*;
 
 @Service
 @RequiredArgsConstructor
@@ -50,6 +51,10 @@ public class NpQueryServiceImpl implements INpQueryService {
 
     private final NpMaterialMapper materialMapper;
 
+    private final NpTemplateDraftMapper npTemplateDraftMapper;
+
+    private final NpVideoDraftMapper videoDraftMapper;
+
     @Autowired
     public void NpCommitServiceImpl(@Lazy INpCommitService commitService) {
         this.commitService = commitService;
@@ -244,30 +249,77 @@ public class NpQueryServiceImpl implements INpQueryService {
 
 
     @Override
-    public List<NpSound> queryCompanySound(Integer type, Integer page, Integer size){
+    public Page<NpSound> queryCompanySound(Integer type, Integer pageNum, Integer size){
         if (type == null) {
 
         }
-        if (page == null || page == 0) {
-            page = 1;
-        }
-        if (size == null || size < 0) {
-            size = 10;
-        }
-        int start = page*size - size;
+//        if (page == null || page == 0) {
+//            page = 1;
+//        }
+//        if (size == null || size < 0) {
+//            size = 10;
+//        }
+//        int start = page*size - size;
 //        int end = page*size;
-        List<NpSound> npSoundList = null;
+        Page<NpSound> npSoundList = null;
+        Page<NpSound> page = new Page<>(pageNum, size);
         if (1 == type) {
-            npSoundList = numPersonMapper.queryCompanySound(null, type, start, size);
+            npSoundList = numPersonMapper.queryCompanySound(null, type, page);
         }
         if (2 == type) {
             Long baseUserId = SecurityUser.getUserId();
-            npSoundList = numPersonMapper.queryCompanySound(baseUserId, type, start, size);
+            npSoundList = numPersonMapper.queryCompanySound(baseUserId, type, page);
         }
         return npSoundList;
     }
 
     @Override
+    public Page<NpFormwork> getCommonTemplate(Integer type, Integer pageNum, Integer size) {
+        if (type == null) {
+
+        }
+        if (pageNum == null || pageNum == 0) {
+            pageNum = 1;
+        }
+        if (size == null || size < 0) {
+            size = 10;
+        }
+        Page<NpFormwork> formworkPage = null;
+        Page<NpFormwork> page = new Page<>(pageNum, size);
+//        if (1 == type) {
+            formworkPage = npTemplateDraftMapper.getCommonTemplate(null, type, page);
+//        }
+//        if (2 == type) {
+//            Long baseUserId = SecurityUser.getUserId();
+//            formworkPage = npTemplateDraftMapper.getCommonTemplate(baseUserId, type, page);
+//        }
+        return formworkPage;
+    }
+
+    @Override
+    public Page<NpTemplateDraft> sortDraftByUpdate(Integer pageNum, Integer size) {
+//        if (type == null) {
+//
+//        }
+        if (pageNum == null || pageNum == 0) {
+            pageNum = 1;
+        }
+        if (size == null || size < 0) {
+            size = 10;
+        }
+        Page<NpTemplateDraft> templateDraftPage = null;
+        Page<NpTemplateDraft> page = new Page<>(pageNum, size);
+//        if (1 == type) {
+        templateDraftPage = npTemplateDraftMapper.sortDraftByUpdate(SecurityUser.getUserId(), page);
+//        }
+//        if (2 == type) {
+//            Long baseUserId = SecurityUser.getUserId();
+//            formworkPage = npTemplateDraftMapper.getCommonTemplate(baseUserId, type, page);
+//        }
+        return templateDraftPage;
+    }
+
+    @Override
     public List<NpTemplate> queryCommonTemplate(Integer page, Integer size) {
         if (page == null || page == 0) {
             page = 1;
@@ -298,6 +350,27 @@ public class NpQueryServiceImpl implements INpQueryService {
     }
 
 
+    @Override
+    public NpTemplateDraft getTemplateDraft(String templateId) {
+        if (Strings.isBlank(templateId)) {
+            NpTemplateDraft npTemplateDraft = new NpTemplateDraft();
+            NpFormwork templateDraft = npTemplateDraftMapper.getTemplateDraft("1");
+            npTemplateDraft.setNodes(templateDraft.getNodes());
+            // 生成id
+            SnowflakeIdWorker idGenerator = new SnowflakeIdWorker(1, 1);
+            npTemplateDraft.setId(idGenerator.generateId());
+            npTemplateDraft.setBaseUserId(SecurityUser.getUserId());
+            String yyyyMMddHHmmss = DateUtil.format(new Date(), "yyyyMMddHHmmss");
+            npTemplateDraft.setDraftName("未命名-" + yyyyMMddHHmmss);
+            npTemplateDraftMapper.insert(npTemplateDraft);
+//            log.info("插入成功");
+            return npTemplateDraft;
+        }
+        // 查询草稿
+        NpTemplateDraft npTemplateDraft = npTemplateDraftMapper.selectOne(new QueryWrapper<NpTemplateDraft>().eq("id", templateId));
+        return npTemplateDraft;
+    }
+
 //    public List<NpCommitTrain> queryTrainingModel() {
 ////        // TODO 必须再加上baseuserId
 ////        Long baseUserId = SecurityUser.getUserId();
@@ -330,7 +403,7 @@ public class NpQueryServiceImpl implements INpQueryService {
 
     @Override
     public List<NpMusic> queryMusic(NpMusic npMusic) {
-        List<NpMusic> npMusics = npMusicMapper.queryMusic(npMusic);
+        List<NpMusic> npMusics = npMusicMapper.queryMusic(SecurityUser.getUserId(), npMusic);
         return npMusics;
     }
 

+ 4 - 3
xyzc-start/src/main/java/com/xyzc/start/service/impl/NumPersonServiceImpl.java

@@ -114,7 +114,8 @@ public class NumPersonServiceImpl implements INumPersonService {
         return "";
     }
 
-    @Override
+    // 废弃
+//    @Override
     public List<NpVideoDraft> getTemplateDraft(String templateId) {
         Long baseUserId = SecurityUser.getUserId();
         List<NpVideoDraft> videoDraftList = npVideoDraftMapper.selectList(new QueryWrapper<NpVideoDraft>().eq("base_user_id", baseUserId).eq("type", "1"));
@@ -125,8 +126,8 @@ public class NumPersonServiceImpl implements INumPersonService {
             nodeJson = videoDraft.getNodesJson();
 
             SnowflakeIdWorker snowflakeIdWorker = new SnowflakeIdWorker(1, 1);
-            long l = snowflakeIdWorker.nextId();
-            videoDraft.setId(l);
+//            long l = snowflakeIdWorker.nextId();
+//            videoDraft.setId(l);
             videoDraft.setNodesJson(nodeJson);
         }
 

+ 7 - 7
xyzc-start/src/main/resources/mapper/WebStart/NpMusicMapper.xml

@@ -15,16 +15,16 @@
              , `music_desc`
         FROM xy_np_music
         <where>
-            <if test="musicName != null and musicName != ''">
-                and music_name like concat('%',#{musicName},'%')
+            base_user_id = #{baseUserId}
+            <if test="npMusic.musicType != null and npMusic.musicType != ''">
+                and music_type = #{npMusic.musicType}
             </if>
-            <if test="musicType != null and musicType != ''">
-                and music_type = #{musicType}
+            <if test="npMusic.musicName != null and npMusic.musicName != ''">
+                and music_name like concat('%',#{npMusic.musicName},'%')
             </if>
-            <if test="musicDesc != null and musicDesc != ''">
-                and music_desc like concat('%',#{musicDesc},'%')
+            <if test="npMusic.musicDesc != null and npMusic.musicDesc != ''">
+                and music_desc like concat('%',#{npMusic.musicDesc},'%')
             </if>
-            and base_user_id = #{baseUserId}
         </where>
     </select>
 </mapper>

+ 57 - 0
xyzc-start/src/main/resources/mapper/WebStart/NpTemplateDraftMapper.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xyzc.start.mapper.NpTemplateDraftMapper">
+
+    <select id="getTemplateDraft" resultType="com.xyzc.start.domain.NpFormwork">
+        select
+            `id`
+             , `base_user_id`
+             , `nodes`
+             , `name`
+             , `type`
+             , `formwork_type`
+        from xy_np_formwork where id=#{id}
+    </select>
+
+    <select id="getCommonTemplate" resultType="com.xyzc.start.domain.NpFormwork">
+            SELECT
+                   `id`
+                 , `base_user_id`
+                 , `nodes`
+                 , `name`
+                 , `type`
+                 , `formwork_type`
+            FROM xy_np_formwork
+            <where>
+                <if test="baseUserId != null and baseUserId != ''">
+                    base_user_id = #{baseUserId} AND
+                </if>
+                <if test="type != null and type != ''">
+                    `type` = #{type}
+                </if>
+            </where>
+    </select>
+
+    <select id="sortDraftByUpdate" resultType="com.xyzc.start.domain.NpTemplateDraft">
+            SELECT
+                   `id`
+                 , `base_user_id`
+                 , `draft_img_url`
+                 , `nodes`
+                 , `draft_name`
+                 , `update_time`
+            FROM xy_np_template_draft
+            <where>
+                base_user_id = #{baseUserId}
+                ORDER BY update_time DESC
+            </where>
+    </select>
+
+    <insert id="insertNpFormwork" useGeneratedKeys="true" keyProperty="id" parameterType="com.xyzc.start.domain.NpFormwork">
+        insert into xy_np_formwork(`base_user_id`, `nodes`, `name`, `type`, `formwork_type`)
+        values(#{baseUserId}, #{nodes}, #{name}, #{type}, #{formworkType})
+    </insert>
+
+</mapper>

+ 2 - 2
xyzc-start/src/main/resources/mapper/WebStart/NumPersonMapper.xml

@@ -21,14 +21,14 @@
              , `tts_extend_json`
              , `phoneme_flag`
         FROM xy_np_sound
-        WHERE
+        <where>
             <if test="baseUserId != null and baseUserId != ''">
                 base_user_id = #{baseUserId} AND
             </if>
             <if test="type != null and type != ''">
                 sound_type = #{type}
             </if>
-        LIMIT #{start},#{end}
+        </where>
     </select>
 
     <select id="queryCommonTemplate" resultType="com.xyzc.start.domain.NpTemplate">