TRX 1 gadu atpakaļ
vecāks
revīzija
6f77041b30

+ 8 - 17
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/scene/RoleSceneInfoService.java

@@ -67,15 +67,6 @@ public class RoleSceneInfoService extends SuperService {
 //            return ResultContent.buildFail(String.format("角色已存在场景:%s", entity.getName()));
 //        }
         RoleSceneInfo roleSceneInfo = buildProjectSceneInfo(entity, role);
-        roleSceneInfo.setSceneInfo(entity.getSceneInfo());
-        roleSceneInfo.setSceneInfoId(entity.getId());
-
-        roleSceneInfo.setProjectSceneInfo(entity);
-        roleSceneInfo.setProjectSceneInfoId(entity.getId());
-
-        roleSceneInfo.setRole(role);
-        roleSceneInfo.setRoleId(role.getId());
-
         long index = roleSceneInfoDao.countByRoleId(role.getId());
         roleSceneInfo.setSort(index + 1);
         roleSceneInfoDao.save(roleSceneInfo);
@@ -88,22 +79,20 @@ public class RoleSceneInfoService extends SuperService {
         if (ObjectUtils.isEmpty(role)) {
             return ResultContent.buildFail("角色不存在");
         }
-//        roleSceneInfoDao.deleteByRoleId(role.getId());
-
         List<RoleSceneInfo> list = new ArrayList<>();
         List<String> projectSceneInfoIds = param.getProjectSceneInfoIds();
         if (ObjectUtils.isNotEmpty(projectSceneInfoIds)) {
-            long i = 1;
+            long i = roleSceneInfoDao.countByRoleId(role.getId()) + 1;
             for (String projectSceneInfoId : projectSceneInfoIds) {
                 // 项目的场景
                 ProjectSceneInfo projectSceneInfo = projectSceneInfoDao.findTopById(projectSceneInfoId);
                 if (ObjectUtils.isNotEmpty(projectSceneInfo)) {
                     RoleSceneInfo roleSceneInfo = buildProjectSceneInfo(projectSceneInfo, role);
-                    roleSceneInfo.setRole(role);
-                    roleSceneInfo.setRoleId(role.getId());
-                    roleSceneInfo.setSort(i);
+                    if (StringUtils.isEmpty(roleSceneInfo.getId())) {
+                        roleSceneInfo.setSort(i);
+                        i++;
+                    }
                     list.add(roleSceneInfo);
-                    i++;
                 }
             }
         }
@@ -122,10 +111,12 @@ public class RoleSceneInfoService extends SuperService {
             roleSceneInfo.setSceneInfoId(projectSceneInfo.getId());
             roleSceneInfo.setProjectSceneInfo(projectSceneInfo);
             roleSceneInfo.setProjectSceneInfoId(projectSceneInfo.getId());
-            roleSceneInfo.setProjectOid(projectSceneInfo.getProjectOid());
         } else {
             initUpdateEntity(roleSceneInfo);
         }
+        roleSceneInfo.setProjectOid(projectSceneInfo.getProjectOid());
+        roleSceneInfo.setRole(role);
+        roleSceneInfo.setRoleId(role.getId());
         return roleSceneInfo;
     }