|
@@ -1,5 +1,6 @@
|
|
|
package com.backendsys.modules.crt.service.impl;
|
|
package com.backendsys.modules.crt.service.impl;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
import com.backendsys.exception.CustException;
|
|
import com.backendsys.exception.CustException;
|
|
|
import com.backendsys.modules.common.config.security.enums.SecurityEnum;
|
|
import com.backendsys.modules.common.config.security.enums.SecurityEnum;
|
|
|
import com.backendsys.modules.common.config.security.utils.SecurityUtil;
|
|
import com.backendsys.modules.common.config.security.utils.SecurityUtil;
|
|
@@ -7,11 +8,10 @@ import com.backendsys.modules.common.enums.MatchType;
|
|
|
import com.backendsys.modules.crt.dao.CrtDramaProjectDao;
|
|
import com.backendsys.modules.crt.dao.CrtDramaProjectDao;
|
|
|
import com.backendsys.modules.crt.dao.CrtDramaProjectSettingsDao;
|
|
import com.backendsys.modules.crt.dao.CrtDramaProjectSettingsDao;
|
|
|
import com.backendsys.modules.crt.dao.CrtDramaProjectStoryboardDao;
|
|
import com.backendsys.modules.crt.dao.CrtDramaProjectStoryboardDao;
|
|
|
-import com.backendsys.modules.crt.entity.CrtDramaProject;
|
|
|
|
|
-import com.backendsys.modules.crt.entity.CrtDramaProjectSettings;
|
|
|
|
|
-import com.backendsys.modules.crt.entity.CrtDramaProjectStoryboard;
|
|
|
|
|
-import com.backendsys.modules.crt.entity.StoryboardResponse;
|
|
|
|
|
|
|
+import com.backendsys.modules.crt.entity.*;
|
|
|
import com.backendsys.modules.crt.service.CrtDramaProjectStoryboardService;
|
|
import com.backendsys.modules.crt.service.CrtDramaProjectStoryboardService;
|
|
|
|
|
+import com.backendsys.modules.upload.enums.StyleEnums;
|
|
|
|
|
+import com.backendsys.modules.upload.utils.UploadUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -41,19 +41,29 @@ public class CrtDramaProjectStoryboardServiceImpl implements CrtDramaProjectStor
|
|
|
@Override
|
|
@Override
|
|
|
public StoryboardResponse selectCrtDramaProjectStoryboardDetail(CrtDramaProjectStoryboard crtDramaProjectStoryboard) {
|
|
public StoryboardResponse selectCrtDramaProjectStoryboardDetail(CrtDramaProjectStoryboard crtDramaProjectStoryboard) {
|
|
|
|
|
|
|
|
- Integer episode_num = crtDramaProjectStoryboard.getEpisode_num();
|
|
|
|
|
Long project_id = crtDramaProjectStoryboard.getDrama_project_id();
|
|
Long project_id = crtDramaProjectStoryboard.getDrama_project_id();
|
|
|
|
|
|
|
|
CrtDramaProject crtDramaProject = crtDramaProjectDao.selectById(project_id);
|
|
CrtDramaProject crtDramaProject = crtDramaProjectDao.selectById(project_id);
|
|
|
if (crtDramaProject == null) throw new CustException("项目不存在");
|
|
if (crtDramaProject == null) throw new CustException("项目不存在");
|
|
|
|
|
|
|
|
- LambdaQueryWrapper<CrtDramaProjectStoryboard> wrapperStoryboard = new LambdaQueryWrapper<>();
|
|
|
|
|
- wrapperStoryboard.eq(CrtDramaProjectStoryboard::getDrama_project_id, project_id);
|
|
|
|
|
- wrapperStoryboard.eq(CrtDramaProjectStoryboard::getEpisode_num, episode_num);
|
|
|
|
|
-
|
|
|
|
|
- List<CrtDramaProjectStoryboard> storyboardList = crtDramaProjectStoryboardDao.selectList(wrapperStoryboard);
|
|
|
|
|
|
|
+ List<CrtDramaProjectStoryboard> storyboardList = crtDramaProjectStoryboardDao.selectStoryboardList(crtDramaProjectStoryboard);
|
|
|
if (storyboardList.isEmpty()) throw new CustException("分镜不存在");
|
|
if (storyboardList.isEmpty()) throw new CustException("分镜不存在");
|
|
|
|
|
|
|
|
|
|
+ // 获取分镜列表
|
|
|
|
|
+ storyboardList.stream().forEach(storyboard -> {
|
|
|
|
|
+ // 获取分镜生图结果
|
|
|
|
|
+ if (!storyboard.getGenerate_images().isEmpty()) {
|
|
|
|
|
+ // 设置生图结果缩略略
|
|
|
|
|
+ List<CrtGenerateImage> generate_image_list = storyboard.getGenerate_images().stream().map(item -> {
|
|
|
|
|
+ String url = item.getUrl();
|
|
|
|
|
+ Integer target = item.getTarget();
|
|
|
|
|
+ String url_thumb = UploadUtil.getImageThumbUrl(url, target, 100, null, StyleEnums.THUMB_BACKGROUND.getValue());
|
|
|
|
|
+ item.setUrl_thumb(url_thumb);
|
|
|
|
|
+ return item;
|
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
|
+ storyboard.setGenerate_images(generate_image_list);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
// 查询项目设置
|
|
// 查询项目设置
|
|
|
LambdaQueryWrapper<CrtDramaProjectSettings> wrapperSettings = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CrtDramaProjectSettings> wrapperSettings = new LambdaQueryWrapper<>();
|
|
@@ -64,12 +74,6 @@ public class CrtDramaProjectStoryboardServiceImpl implements CrtDramaProjectStor
|
|
|
StoryboardResponse storyboardResponse = new StoryboardResponse();
|
|
StoryboardResponse storyboardResponse = new StoryboardResponse();
|
|
|
storyboardResponse.setDrama_project_id(project_id);
|
|
storyboardResponse.setDrama_project_id(project_id);
|
|
|
storyboardResponse.setProject_name(crtDramaProject.getProject_name());
|
|
storyboardResponse.setProject_name(crtDramaProject.getProject_name());
|
|
|
-
|
|
|
|
|
- // 字段格式化
|
|
|
|
|
- storyboardList = storyboardList.stream().map(storyboard -> {
|
|
|
|
|
- storyboard.setDrama_project_storyboard_id(storyboard.getId());
|
|
|
|
|
- return storyboard;
|
|
|
|
|
- }).collect(Collectors.toList());
|
|
|
|
|
storyboardResponse.setStoryboard_list(storyboardList);
|
|
storyboardResponse.setStoryboard_list(storyboardList);
|
|
|
|
|
|
|
|
if (settingsList.size() > 0) {
|
|
if (settingsList.size() > 0) {
|
|
@@ -106,11 +110,11 @@ public class CrtDramaProjectStoryboardServiceImpl implements CrtDramaProjectStor
|
|
|
wrapperStoryboard.eq(CrtDramaProjectStoryboard::getEpisode_num, episode_num);
|
|
wrapperStoryboard.eq(CrtDramaProjectStoryboard::getEpisode_num, episode_num);
|
|
|
if (sort == null) {
|
|
if (sort == null) {
|
|
|
Boolean is_exist_storyboard = crtDramaProjectStoryboardDao.exists(wrapperStoryboard);
|
|
Boolean is_exist_storyboard = crtDramaProjectStoryboardDao.exists(wrapperStoryboard);
|
|
|
- if (is_exist_storyboard) throw new CustException("该项目集数已存在,请勿重复创建");
|
|
|
|
|
|
|
+ if (is_exist_storyboard) throw new CustException("集数或分镜已存在,请勿重复创建");
|
|
|
} else {
|
|
} else {
|
|
|
wrapperStoryboard.eq(CrtDramaProjectStoryboard::getSort, sort);
|
|
wrapperStoryboard.eq(CrtDramaProjectStoryboard::getSort, sort);
|
|
|
Boolean is_exist_storyboard = crtDramaProjectStoryboardDao.exists(wrapperStoryboard);
|
|
Boolean is_exist_storyboard = crtDramaProjectStoryboardDao.exists(wrapperStoryboard);
|
|
|
- if (is_exist_storyboard) throw new CustException("该项目集数已存在,请勿重复创建");
|
|
|
|
|
|
|
+ if (is_exist_storyboard) throw new CustException("集数或分镜已存在,请勿重复创建");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// [DB] 创建分镜
|
|
// [DB] 创建分镜
|