|
@@ -1,17 +1,15 @@
|
|
package com.backendsys.modules.crt.service.impl;
|
|
package com.backendsys.modules.crt.service.impl;
|
|
|
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
|
-import com.backendsys.exception.CustException;
|
|
|
|
-import com.backendsys.modules.cms.article.entity.ArticleCategory;
|
|
|
|
-import com.backendsys.modules.common.config.security.enums.SecurityEnum;
|
|
|
|
-import com.backendsys.modules.common.config.security.utils.SecurityUtil;
|
|
|
|
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.entity.CrtDramaProject;
|
|
import com.backendsys.modules.crt.entity.CrtDramaProject;
|
|
import com.backendsys.modules.crt.entity.CrtDramaProjectSettings;
|
|
import com.backendsys.modules.crt.entity.CrtDramaProjectSettings;
|
|
|
|
+import com.backendsys.modules.crt.entity.CrtDramaProjectStoryboard;
|
|
import com.backendsys.modules.crt.enums.AspectRatioEnums;
|
|
import com.backendsys.modules.crt.enums.AspectRatioEnums;
|
|
import com.backendsys.modules.crt.enums.ProjectSettingTypeEnums;
|
|
import com.backendsys.modules.crt.enums.ProjectSettingTypeEnums;
|
|
import com.backendsys.modules.crt.service.CrtDramaProjectService;
|
|
import com.backendsys.modules.crt.service.CrtDramaProjectService;
|
|
|
|
+import com.backendsys.modules.crt.utils.CrtUtil;
|
|
import com.backendsys.utils.response.PageEntity;
|
|
import com.backendsys.utils.response.PageEntity;
|
|
import com.backendsys.utils.response.PageInfoResult;
|
|
import com.backendsys.utils.response.PageInfoResult;
|
|
import com.backendsys.utils.v2.PageUtils;
|
|
import com.backendsys.utils.v2.PageUtils;
|
|
@@ -27,11 +25,13 @@ import java.util.Map;
|
|
public class CrtDramaProjectServiceImpl implements CrtDramaProjectService {
|
|
public class CrtDramaProjectServiceImpl implements CrtDramaProjectService {
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
- private SecurityUtil securityUtil;
|
|
|
|
|
|
+ private CrtUtil crtUtil;
|
|
@Autowired
|
|
@Autowired
|
|
private CrtDramaProjectDao crtDramaProjectDao;
|
|
private CrtDramaProjectDao crtDramaProjectDao;
|
|
@Autowired
|
|
@Autowired
|
|
private CrtDramaProjectSettingsDao crtDramaProjectSettingsDao;
|
|
private CrtDramaProjectSettingsDao crtDramaProjectSettingsDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CrtDramaProjectStoryboardDao crtDramaProjectStoryboardDao;
|
|
|
|
|
|
// 获取短剧创作-项目列表
|
|
// 获取短剧创作-项目列表
|
|
@Override
|
|
@Override
|
|
@@ -65,10 +65,10 @@ public class CrtDramaProjectServiceImpl implements CrtDramaProjectService {
|
|
CrtDramaProjectSettings settings_video = new CrtDramaProjectSettings();
|
|
CrtDramaProjectSettings settings_video = new CrtDramaProjectSettings();
|
|
settings_video.setDrama_project_id(project_id);
|
|
settings_video.setDrama_project_id(project_id);
|
|
settings_video.setDrama_project_setting_type(ProjectSettingTypeEnums.GENERATE_VIDEO.getKey()); // 项目配置类型
|
|
settings_video.setDrama_project_setting_type(ProjectSettingTypeEnums.GENERATE_VIDEO.getKey()); // 项目配置类型
|
|
- settings_image.setAspect_ratio(AspectRatioEnums.RATIO_16_9.getKey()); // 画面比例
|
|
|
|
|
|
+ settings_video.setAspect_ratio(AspectRatioEnums.RATIO_16_9.getKey()); // 画面比例
|
|
crtDramaProjectSettingsDao.insert(settings_video);
|
|
crtDramaProjectSettingsDao.insert(settings_video);
|
|
|
|
|
|
- return Map.of("project_id", project_id);
|
|
|
|
|
|
+ return Map.of("drama_project_id", project_id);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -77,29 +77,13 @@ public class CrtDramaProjectServiceImpl implements CrtDramaProjectService {
|
|
@Override
|
|
@Override
|
|
public Map<String, Object> updateCrtDramaProject(CrtDramaProject crtDramaProject) {
|
|
public Map<String, Object> updateCrtDramaProject(CrtDramaProject crtDramaProject) {
|
|
|
|
|
|
- CrtDramaProject detail = crtDramaProjectDao.selectById(crtDramaProject.getDrama_project_id());
|
|
|
|
- if (detail == null) throw new CustException("项目不存在");
|
|
|
|
-
|
|
|
|
- Long user_id = detail.getUser_id();
|
|
|
|
- System.out.println("项目user_id: " + user_id + ", 当前user_id: " + SecurityUtil.getUserId());
|
|
|
|
-
|
|
|
|
- // 编辑他人的用户信息
|
|
|
|
- // - 编辑自己 (无需权限)
|
|
|
|
- // - 编辑他人 (需要子权限或超级管理员)
|
|
|
|
- if (user_id != SecurityUtil.getUserId() && !securityUtil.hasPermission("36.1.4")) {
|
|
|
|
- throw new CustException(SecurityEnum.NOAUTH);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- crtDramaProject.setId(crtDramaProject.getDrama_project_id());
|
|
|
|
-
|
|
|
|
- System.out.println(crtDramaProject);
|
|
|
|
-
|
|
|
|
- crtDramaProjectDao.updateById(crtDramaProject);
|
|
|
|
- return Map.of("project_id", crtDramaProject.getDrama_project_id());
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ // 判断项目是否存在,并且是否具备操作权限
|
|
|
|
+ crtUtil.checkProject(crtDramaProject.getDrama_project_id(), "36.1.4");
|
|
|
|
|
|
|
|
+ // [DB] 更新项目
|
|
|
|
+ crtDramaProjectDao.update(crtDramaProject, new LambdaQueryWrapper<CrtDramaProject>()
|
|
|
|
+ .eq(CrtDramaProject::getId, crtDramaProject.getDrama_project_id()));
|
|
|
|
+ return Map.of("drama_project_id", crtDramaProject.getDrama_project_id());
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -110,9 +94,18 @@ public class CrtDramaProjectServiceImpl implements CrtDramaProjectService {
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public Map<String, Object> deleteCrtDramaProject(CrtDramaProject crtDramaProject) {
|
|
public Map<String, Object> deleteCrtDramaProject(CrtDramaProject crtDramaProject) {
|
|
|
|
|
|
|
|
+ // 判断项目是否存在,并且是否具备操作权限
|
|
|
|
+ crtUtil.checkProject(crtDramaProject.getDrama_project_id(), "36.1.6");
|
|
|
|
|
|
|
|
+ // [DB] 删除 [项目],同时删除 [项目配置]、[项目分集/分镜]
|
|
|
|
+ Long project_id = crtDramaProject.getDrama_project_id();
|
|
|
|
+ crtDramaProjectDao.delete(new LambdaQueryWrapper<CrtDramaProject>().eq(CrtDramaProject::getId, project_id));
|
|
|
|
+ crtDramaProjectSettingsDao.delete(new LambdaQueryWrapper<CrtDramaProjectSettings>()
|
|
|
|
+ .eq(CrtDramaProjectSettings::getDrama_project_id, project_id));
|
|
|
|
+ crtDramaProjectStoryboardDao.delete(new LambdaQueryWrapper<CrtDramaProjectStoryboard>()
|
|
|
|
+ .eq(CrtDramaProjectStoryboard::getDrama_project_id, project_id));
|
|
|
|
|
|
- return Map.of("project_id", crtDramaProject.getDrama_project_id());
|
|
|
|
|
|
+ return Map.of("drama_project_id", crtDramaProject.getDrama_project_id());
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|