|
|
@@ -3,6 +3,7 @@ package com.zhongshu.card.server.core.service.scene;
|
|
|
import com.github.microservice.net.ResultContent;
|
|
|
import com.github.microservice.net.ResultMessage;
|
|
|
import com.zhongshu.card.client.model.base.SortParam;
|
|
|
+import com.zhongshu.card.client.model.scene.RoleBindAllParam;
|
|
|
import com.zhongshu.card.client.model.scene.RoleBindSceneParam;
|
|
|
import com.zhongshu.card.client.model.scene.RoleSceneInfoModel;
|
|
|
import com.zhongshu.card.server.core.dao.org.RoleDao;
|
|
|
@@ -18,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
@@ -58,7 +60,7 @@ public class RoleSceneInfoService extends SuperService {
|
|
|
if (ObjectUtils.isNotEmpty(roleSceneInfo)) {
|
|
|
return ResultContent.buildFail(String.format("角色已存在场景:%s", entity.getName()));
|
|
|
}
|
|
|
- roleSceneInfo = new RoleSceneInfo();
|
|
|
+ roleSceneInfo = buildProjectSceneInfo(entity);
|
|
|
roleSceneInfo.setSceneInfo(entity.getSceneInfo());
|
|
|
roleSceneInfo.setSceneInfoId(entity.getId());
|
|
|
|
|
|
@@ -74,6 +76,46 @@ public class RoleSceneInfoService extends SuperService {
|
|
|
return ResultContent.buildSuccess();
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
+ public ResultContent bindList(RoleBindAllParam param) {
|
|
|
+ Role role = roleDao.findTopById(param.getRoleId());
|
|
|
+ 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;
|
|
|
+ for (String projectSceneInfoId : projectSceneInfoIds) {
|
|
|
+ ProjectSceneInfo projectSceneInfo = projectSceneInfoDao.findTopById(projectSceneInfoId);
|
|
|
+ if (ObjectUtils.isNotEmpty(projectSceneInfo)) {
|
|
|
+ RoleSceneInfo roleSceneInfo = buildProjectSceneInfo(projectSceneInfo);
|
|
|
+ roleSceneInfo.setRole(role);
|
|
|
+ roleSceneInfo.setRoleId(role.getId());
|
|
|
+ roleSceneInfo.setSort(i);
|
|
|
+ list.add(roleSceneInfo);
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotEmpty(list)) {
|
|
|
+ roleSceneInfoDao.saveAll(list);
|
|
|
+ }
|
|
|
+ return ResultContent.buildSuccess();
|
|
|
+ }
|
|
|
+
|
|
|
+ public RoleSceneInfo buildProjectSceneInfo(ProjectSceneInfo projectSceneInfo) {
|
|
|
+ RoleSceneInfo roleSceneInfo = new RoleSceneInfo();
|
|
|
+ roleSceneInfo.setSceneInfo(projectSceneInfo.getSceneInfo());
|
|
|
+ roleSceneInfo.setSceneInfoId(projectSceneInfo.getId());
|
|
|
+
|
|
|
+ roleSceneInfo.setProjectSceneInfo(projectSceneInfo);
|
|
|
+ roleSceneInfo.setProjectSceneInfoId(projectSceneInfo.getId());
|
|
|
+
|
|
|
+ return roleSceneInfo;
|
|
|
+ }
|
|
|
+
|
|
|
public ResultContent<List<RoleSceneInfoModel>> list(String roleId) {
|
|
|
List<RoleSceneInfoModel> models = new ArrayList<>();
|
|
|
List<RoleSceneInfo> list = roleSceneInfoDao.findByRoleIdOrderBySortAsc(roleId);
|