|
@@ -247,8 +247,20 @@ public class CrtDramaProjectStoryboardServiceImpl implements CrtDramaProjectStor
|
|
|
|
|
|
LambdaQueryWrapper<CrtDramaProjectStoryboard> wrapperStoryboard = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CrtDramaProjectStoryboard> wrapperStoryboard = new LambdaQueryWrapper<>();
|
|
wrapperStoryboard.eq(CrtDramaProjectStoryboard::getDrama_project_storyboard_id, drama_project_storyboard_id);
|
|
wrapperStoryboard.eq(CrtDramaProjectStoryboard::getDrama_project_storyboard_id, drama_project_storyboard_id);
|
|
- Boolean is_exist = crtDramaProjectStoryboardDao.exists(wrapperStoryboard);
|
|
|
|
- if (!is_exist) throw new CustException("分镜不存在");
|
|
|
|
|
|
+ CrtDramaProjectStoryboard storyboardDetail = crtDramaProjectStoryboardDao.selectOne(wrapperStoryboard);
|
|
|
|
+ if (storyboardDetail == null) throw new CustException("分镜不存在");
|
|
|
|
+
|
|
|
|
+ // 是否 [分镜] 拥有者,权限:
|
|
|
|
+ // - 编辑自己的 (需 36.2.6.1 权限)
|
|
|
|
+ // - 编辑自己及他人的 (需要 36.2.6 权限或超级管理员)
|
|
|
|
+ Boolean isOwner = storyboardDetail.getUser_id() == SecurityUtil.getUserId();
|
|
|
|
+ if (isOwner && !securityUtil.hasPermissions(Arrays.asList("36.2.6", "36.2.6.1"), MatchType.OR)) {
|
|
|
|
+ throw new CustException(SecurityEnum.NOAUTH);
|
|
|
|
+ }
|
|
|
|
+ if (!isOwner && !securityUtil.hasPermission("36.2.6")) {
|
|
|
|
+ throw new CustException(SecurityEnum.NOAUTH);
|
|
|
|
+ }
|
|
|
|
+ // ---------------------------------------------------------------------------
|
|
|
|
|
|
// [DB] 删除分镜
|
|
// [DB] 删除分镜
|
|
crtDramaProjectStoryboardDao.deleteById(drama_project_storyboard_id);
|
|
crtDramaProjectStoryboardDao.deleteById(drama_project_storyboard_id);
|