Browse Source

Merge remote-tracking branch 'origin/yxz' into yxz

杨兴卓 4 weeks ago
parent
commit
b66024f97c
29 changed files with 709 additions and 171 deletions
  1. 1 0
      xyzc-common/xyzc-common-core/src/main/java/com/xyzc/common/core/exception/ErrorCode.java
  2. 83 8
      xyzc-start/src/main/java/com/xyzc/start/controller/NumPersonController.java
  3. 11 4
      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. 2 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpMaterial.java
  6. 2 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpMusic.java
  7. 7 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpSound.java
  8. 2 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplate.java
  9. 63 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplateCaptions.java
  10. 83 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplateDraft.java
  11. 2 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpVideoConflate.java
  12. 2 0
      xyzc-start/src/main/java/com/xyzc/start/domain/NpVideoDraft.java
  13. 10 0
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpCommitTrainMapper.java
  14. 1 1
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpMusicMapper.java
  15. 25 0
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpTemplateDraftMapper.java
  16. 5 0
      xyzc-start/src/main/java/com/xyzc/start/mapper/NpVideoDraftMapper.java
  17. 2 1
      xyzc-start/src/main/java/com/xyzc/start/mapper/NumPersonMapper.java
  18. 2 0
      xyzc-start/src/main/java/com/xyzc/start/request/NpRequestParams.java
  19. 11 2
      xyzc-start/src/main/java/com/xyzc/start/service/INpCommitService.java
  20. 9 2
      xyzc-start/src/main/java/com/xyzc/start/service/INpQueryService.java
  21. 1 1
      xyzc-start/src/main/java/com/xyzc/start/service/INumPersonService.java
  22. 71 6
      xyzc-start/src/main/java/com/xyzc/start/service/impl/NpCommitServiceImpl.java
  23. 107 20
      xyzc-start/src/main/java/com/xyzc/start/service/impl/NpQueryServiceImpl.java
  24. 4 3
      xyzc-start/src/main/java/com/xyzc/start/service/impl/NumPersonServiceImpl.java
  25. 58 112
      xyzc-start/src/main/java/com/xyzc/start/utils/SnowflakeIdWorker.java
  26. 16 0
      xyzc-start/src/main/resources/mapper/WebStart/NpCommitTrainMapper.xml
  27. 7 7
      xyzc-start/src/main/resources/mapper/WebStart/NpMusicMapper.xml
  28. 57 0
      xyzc-start/src/main/resources/mapper/WebStart/NpTemplateDraftMapper.xml
  29. 7 4
      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  表示法人姓名和身份证的错误码  -认证

+ 83 - 8
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;
@@ -105,12 +106,18 @@ public class NumPersonController {
      */
     @PostMapping("/queryTrainingModel")
     @ResponseBody
-    public Result<List<NpCommitTrain>> queryTrainingModel(@RequestBody NpRequestParams npRequestParams) throws Exception {
-        List<NpCommitTrain> npTemplateList = npQueryService.queryTrainingModel(npRequestParams.getPage(), npRequestParams.getSize());
+    public Result<Page<NpCommitTrain>> queryTrainingModel(@RequestBody NpRequestParams npRequestParams) {
+        Page<NpCommitTrain> npTemplateList = npQueryService.queryTrainingModel(npRequestParams.getType(), npRequestParams.getName(), npRequestParams.getPage(), npRequestParams.getSize());
         return Result.ok(npTemplateList);
     }
 
 
+//    @PostMapping("/queryCompanySound")
+//    @ResponseBody
+//    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);
+//    }
     /**
      *上传素材
      * @param file form-data/file	文件
@@ -151,7 +158,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 +168,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 +212,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.getName(), npRequestParams.getPage(), npRequestParams.getSize());
         return Result.ok(companySoundList);
     }
 
@@ -261,17 +268,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("保存成功!");
+//    }
+
 }

+ 11 - 4
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 {
 
@@ -136,10 +138,15 @@ public class NpCommitTrain extends BaseEntity {
      */
     private String baseUserId;
 
-//    /**
-//     * 原因
-//     */
-//    private String reason;
+    /*
+    默认适配的tts发言人
+     */
+    private String speakerId;
+
+    /**
+     * 删除标记
+     */
+    private String delFlag;
 
 
 }

+ 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;
+
+
+}

+ 2 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpMaterial.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;
@@ -15,6 +16,7 @@ import java.io.Serial;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @TableName("xy_np_material")
 public class NpMaterial extends BaseEntity {
 

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

@@ -2,6 +2,7 @@ package com.xyzc.start.domain;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+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)
 @TableName("xy_np_music")
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class NpMusic extends BaseEntity {
 
     @Serial

+ 7 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpSound.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;
@@ -16,6 +17,7 @@ import java.io.Serial;
 @Data
 @EqualsAndHashCode(callSuper = true)
 @TableName("xy_np_sound")
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class NpSound extends BaseEntity {
 
     @Serial
@@ -134,5 +136,10 @@ public class NpSound extends BaseEntity {
      */
     private Integer phonemeFlag;
 
+    /**
+     * 删除标记
+     */
+    private String delFlag;
+
 
 }

+ 2 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpTemplate.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;
@@ -15,6 +16,7 @@ import java.io.Serial;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @TableName("xy_np_template")
 public class NpTemplate extends BaseEntity {
 

+ 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;
+
+
+}

+ 2 - 0
xyzc-start/src/main/java/com/xyzc/start/domain/NpVideoConflate.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;
@@ -15,6 +16,7 @@ import java.io.Serial;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @TableName("xy_np_video_conflate")
 public class NpVideoConflate extends BaseEntity {
 

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

@@ -2,6 +2,7 @@ package com.xyzc.start.domain;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.xyzc.common.mybatis.core.domain.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -10,6 +11,7 @@ import java.io.Serial;
 
 @Data
 @EqualsAndHashCode(callSuper = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 @TableName("xy_np_video_draft")
 public class NpVideoDraft extends BaseEntity {
 

+ 10 - 0
xyzc-start/src/main/java/com/xyzc/start/mapper/NpCommitTrainMapper.java

@@ -2,9 +2,19 @@ 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.NpCommitTrain;
+import com.xyzc.start.domain.NpSound;
 import org.springframework.stereotype.Repository;
 
 @Repository
 public interface NpCommitTrainMapper extends BaseMapper<NpCommitTrain> {
+
+
+    /**
+     * 查询公司声音
+     * @return
+     */
+    Page<NpCommitTrain> queryCommitTrain(Long baseUserId, Integer type, String name, Page<NpCommitTrain> page);
+
 }

+ 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, String name, Page<NpSound> page);
 
         /**
          * 查询公共模特

+ 2 - 0
xyzc-start/src/main/java/com/xyzc/start/request/NpRequestParams.java

@@ -11,6 +11,8 @@ import java.util.List;
 @Validated
 public class NpRequestParams {
 
+    String name;
+
     String rootId;
 
     Integer type;

+ 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);
 }

+ 9 - 2
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,14 +14,20 @@ public interface INpQueryService {
      */
     public NpCommitTrain queryTrainVideoById(String trainId);
 
-    List<NpSound> queryCompanySound(Integer type, Integer page, Integer size);
+    Page<NpSound> queryCompanySound(Integer type, String name, Integer page, Integer size);
+
+    Page<NpFormwork> getCommonTemplate(Integer type, Integer page, Integer size);
+
+    Page<NpTemplateDraft> sortDraftByUpdate(Integer page, Integer size);
 
     /**
      * 查询共同模板
      * @return
      */
     List<NpTemplate> queryCommonTemplate(Integer page, Integer size);
-    List<NpCommitTrain> queryTrainingModel(Integer page, Integer size);
+    Page<NpCommitTrain> queryTrainingModel(Integer type, String name, 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) {
 //

+ 107 - 20
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,79 @@ public class NpQueryServiceImpl implements INpQueryService {
 
 
     @Override
-    public List<NpSound> queryCompanySound(Integer type, Integer page, Integer size){
+    public Page<NpSound> queryCompanySound(Integer type, String name, Integer pageNum, Integer size){
         if (type == null) {
 
         }
-        if (page == null || page == 0) {
-            page = 1;
+        if (pageNum == null || pageNum == 0) {
+            pageNum = 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 (!Strings.isBlank(name)) {
+            npSoundList = numPersonMapper.queryCompanySound(SecurityUser.getUserId(), type, name, page);
+            return npSoundList;
+        }
         if (1 == type) {
-            npSoundList = numPersonMapper.queryCompanySound(null, type, start, size);
+            npSoundList = numPersonMapper.queryCompanySound(null, type, null, page);
         }
         if (2 == type) {
             Long baseUserId = SecurityUser.getUserId();
-            npSoundList = numPersonMapper.queryCompanySound(baseUserId, type, start, size);
+            npSoundList = numPersonMapper.queryCompanySound(baseUserId, type,null, 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;
@@ -284,20 +338,53 @@ public class NpQueryServiceImpl implements INpQueryService {
     }
 
     @Override
-    public List<NpCommitTrain> queryTrainingModel(Integer page, Integer size) {
-        if (page == null || page == 0) {
-            page = 1;
+    public Page<NpCommitTrain> queryTrainingModel(Integer type, String name, Integer pageNum, Integer size) {
+        if (pageNum == null || pageNum == 0) {
+            pageNum = 1;
         }
         if (size == null || size < 0) {
             size = 10;
         }
-        int start = page*size - size;
-        List<NpCommitTrain> npCommitTrains = npCommitTrainMapper.selectList(new QueryWrapper<NpCommitTrain>().eq("base_user_id", SecurityUser.getUserId()).eq("status", "2")
-                .last("limit " + start + "," + size).select("model_id, video_url,title, cover_url, scene_id, robot_json"));
-        return npCommitTrains;
+
+    Page<NpCommitTrain> page = new Page<>(pageNum, size);
+
+    Page<NpCommitTrain> npCommitTrainPage = null;
+    // 根据查询名称
+    if (!Strings.isBlank(name)) {
+        npCommitTrainPage = npCommitTrainMapper.queryCommitTrain(SecurityUser.getUserId(), type, name, page);
+        return npCommitTrainPage;
+    }
+
+    if (type == 1) {
+        npCommitTrainPage = npCommitTrainMapper.queryCommitTrain(null, type, null, page);
+    } else {
+        npCommitTrainPage = npCommitTrainMapper.queryCommitTrain(SecurityUser.getUserId(), type, null, page);
+    }
+    return npCommitTrainPage;
     }
 
 
+    @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 +417,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);
         }
 

+ 58 - 112
xyzc-start/src/main/java/com/xyzc/start/utils/SnowflakeIdWorker.java

@@ -1,140 +1,86 @@
 package com.xyzc.start.utils;
 
-public class SnowflakeIdWorker{
-    /** 开始时间截 (2015-01-01) */
-    private final long twepoch = 1288834974657L;
-
-    /** 机器id所占的位数 */
-    private final long workerIdBits = 5L;
-
-    /** 数据标识id所占的位数 */
-    private final long datacenterIdBits = 5L;
-
-    /** 支持的最大机器id,结果是31 (这个移位算法可以很快的计算出几位二进制数所能表示的最大十进制数) */
-    private final long maxWorkerId = -1L ^ (-1L << workerIdBits);
-
-    /** 支持的最大数据标识id,结果是31 */
-    private final long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
-
-    /** 序列在id中占的位数 */
-    private final long sequenceBits = 12L;
-
-    /** 机器ID向左移12位 */
-    private final long workerIdShift = sequenceBits;
-
-    /** 数据标识id向左移17位(12+5) */
-    private final long datacenterIdShift = sequenceBits + workerIdBits;
-
-    /** 时间截向左移22位(5+5+12) */
-    private final long timestampLeftShift = sequenceBits + workerIdBits
-            + datacenterIdBits;
-
-    /** 生成序列的掩码,这里为4095 (0b111111111111=0xfff=4095) */
-    private final long sequenceMask = -1L ^ (-1L << sequenceBits);
-
-    /** 工作机器ID(0~31) */
-    private long workerId;
-
-    /** 数据中心ID(0~31) */
-    private long datacenterId;
+import java.util.concurrent.atomic.AtomicLong;
 
-    /** 毫秒内序列(0~4095) */
-    private long sequence = 0L;
-
-    /** 上次生成ID的时间截 */
+public class SnowflakeIdWorker{
+    // 起始时间戳(2020-01-01 00:00:00)
+    private static final long START_TIMESTAMP = 1577808000000L;
+    // 机器 ID 占用的位数
+    private static final long WORKER_ID_BITS = 5L;
+    // 数据中心 ID 占用的位数
+    private static final long DATACENTER_ID_BITS = 5L;
+    // 序列号占用的位数
+    private static final long SEQUENCE_BITS = 1L;
+
+    // 最大机器 ID
+    private static final long MAX_WORKER_ID = -1L ^ (-1L << WORKER_ID_BITS);
+    // 最大数据中心 ID
+    private static final long MAX_DATACENTER_ID = -1L ^ (-1L << DATACENTER_ID_BITS);
+    // 机器 ID 左移位数
+    private static final long WORKER_ID_SHIFT = SEQUENCE_BITS;
+    // 数据中心 ID 左移位数
+    private static final long DATACENTER_ID_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS;
+    // 时间戳左移位数
+    private static final long TIMESTAMP_SHIFT = SEQUENCE_BITS + WORKER_ID_BITS + DATACENTER_ID_BITS;
+
+    private final long workerId;
+    private final long datacenterId;
+    private final AtomicLong sequence = new AtomicLong(0L);
     private long lastTimestamp = -1L;
-    
-    /**
-     * 构造函数
-     * 
-     * @param workerId
-     *            工作ID (0~31)
-     * @param datacenterId
-     *            数据中心ID (0~31)
-     */
+
     public SnowflakeIdWorker(long workerId, long datacenterId) {
-        if (workerId > maxWorkerId || workerId < 0) {
-            throw new IllegalArgumentException(String.format(
-                    "worker Id can't be greater than %d or less than 0",
-                    maxWorkerId));
+        if (workerId < 0 || workerId > MAX_WORKER_ID) {
+            throw new IllegalArgumentException(String.format("Worker ID can't be greater than %d or less than 0", MAX_WORKER_ID));
         }
-        if (datacenterId > maxDatacenterId || datacenterId < 0) {
-            throw new IllegalArgumentException(String.format(
-                    "datacenter Id can't be greater than %d or less than 0",
-                    maxDatacenterId));
+        if (datacenterId < 0 || datacenterId > MAX_DATACENTER_ID) {
+            throw new IllegalArgumentException(String.format("DataCenter ID can't be greater than %d or less than 0", MAX_DATACENTER_ID));
         }
         this.workerId = workerId;
         this.datacenterId = datacenterId;
     }
 
-    /**
-     * 获得下一个ID (该方法是线程安全的)
-     * 
-     * @return SnowflakeId
-     */
-    public synchronized long nextId() {
-        long timestamp = timeGen();
+    public synchronized long generateId() {
+        long currentTimestamp = getCurrentTimestamp();
 
-        // 如果当前时间小于上一次ID生成的时间戳,说明系统时钟回退过这个时候应当抛出异常
-        if (timestamp < lastTimestamp) {
-            throw new RuntimeException(
-                    String.format(
-                            "Clock moved backwards.  Refusing to generate id for %d milliseconds",
-                            (lastTimestamp - timestamp)));
+        if (currentTimestamp < lastTimestamp) {
+            throw new RuntimeException("Clock moved backwards. Refusing to generate ID");
         }
 
-        // 如果是同一时间生成的,则进行毫秒内序列
-        if (lastTimestamp == timestamp) {
-            sequence = (sequence + 1) & sequenceMask;
-            // 毫秒内序列溢出
-            if (sequence == 0) {
-                // 阻塞到下一个毫秒,获得新的时间戳
-                timestamp = tilNextMillis(lastTimestamp);
+        if (currentTimestamp == lastTimestamp) {
+            sequence.incrementAndGet();
+            if (sequence.get() >= (1 << SEQUENCE_BITS)) {
+                currentTimestamp = waitNextMillis(currentTimestamp);
+                sequence.set(0L);
             }
-        }
-        // 时间戳改变,毫秒内序列重置
-        else {
-            sequence = 0L;
+        } else {
+            sequence.set(0L);
         }
 
-        // 上次生成ID的时间截
-        lastTimestamp = timestamp;
+        lastTimestamp = currentTimestamp;
 
-        // 移位并通过或运算拼到一起组成64位的ID
-        return ((timestamp - twepoch) << timestampLeftShift) //
-                | (datacenterId << datacenterIdShift) //
-                | (workerId << workerIdShift) //
-                | sequence;
+        return ((currentTimestamp - START_TIMESTAMP) << TIMESTAMP_SHIFT)
+                | (datacenterId << DATACENTER_ID_SHIFT)
+                | (workerId << WORKER_ID_SHIFT)
+                | sequence.get();
     }
 
-    /**
-     * 阻塞到下一个毫秒,直到获得新的时间戳
-     * 
-     * @param lastTimestamp
-     *            上次生成ID的时间截
-     * @return 当前时间戳
-     */
-    protected long tilNextMillis(long lastTimestamp) {
-        long timestamp = timeGen();
-        while (timestamp <= lastTimestamp) {
-            timestamp = timeGen();
-        }
-        return timestamp;
-    }
-
-    /**
-     * 返回以毫秒为单位的当前时间
-     * 
-     * @return 当前时间(毫秒)
-     */
-    protected long timeGen() {
+    private long getCurrentTimestamp() {
         return System.currentTimeMillis();
     }
 
-  //测试方法自己写
+    private long waitNextMillis(long lastTimestamp) {
+        long currentTimestamp = getCurrentTimestamp();
+        while (currentTimestamp <= lastTimestamp) {
+            currentTimestamp = getCurrentTimestamp();
+        }
+        return currentTimestamp;
+    }
 
     public static void main(String[] args) {
+
         SnowflakeIdWorker idGenerator = new SnowflakeIdWorker(1, 1);
-        System.out.println(idGenerator.nextId());
+        for (int i = 0; i < 10; i++) {
+            System.out.println(idGenerator.generateId());
+        }
     }
 }

+ 16 - 0
xyzc-start/src/main/resources/mapper/WebStart/NpCommitTrainMapper.xml

@@ -4,4 +4,20 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xyzc.start.mapper.NpCommitTrainMapper">
 
+    <select id="queryCommitTrain" resultType="com.xyzc.start.domain.NpCommitTrain">
+        SELECT
+            "model_id, video_url,title, cover_url, scene_id, robot_json"
+        FROM xy_np_commit_train
+        <where>
+            <if test="baseUserId != null and baseUserId != ''">
+                AND base_user_id = #{baseUserId}
+            </if>
+            <if test="name != null and name != ''">
+                AND title like concat('%',#{name},'%')
+            </if>
+            <if test="type != null and type != ''">
+                AND type = #{type}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 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>

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

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