ModelEditorJsonRestResource.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package com.activiti6.controller.editor;
  2. import com.activiti6.controller.BaseController;
  3. import com.activiti6.entity.ActivitiUser;
  4. import com.activiti6.entity.AjaxEntityVo;
  5. import com.activiti6.entity.GroupActiviti;
  6. import com.activiti6.entity.SelectVo;
  7. import org.activiti.editor.constants.ModelDataJsonConstants;
  8. import org.activiti.engine.ActivitiException;
  9. import org.activiti.engine.IdentityService;
  10. import org.activiti.engine.RepositoryService;
  11. import org.activiti.engine.identity.Group;
  12. import org.activiti.engine.identity.User;
  13. import org.activiti.engine.repository.Model;
  14. import org.apache.commons.lang3.StringUtils;
  15. import org.slf4j.Logger;
  16. import org.slf4j.LoggerFactory;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import com.fasterxml.jackson.databind.ObjectMapper;
  20. import com.fasterxml.jackson.databind.node.ObjectNode;
  21. import java.util.List;
  22. import java.util.stream.Collectors;
  23. /**
  24. * 获取model的节点信息,编辑器根据返回的json进行绘图
  25. * liuzhize 2019年3月7日下午3:29:15
  26. */
  27. @RestController
  28. @RequestMapping("service")
  29. public class ModelEditorJsonRestResource extends BaseController implements ModelDataJsonConstants {
  30. protected static final Logger LOGGER = LoggerFactory.getLogger(ModelEditorJsonRestResource.class);
  31. @Autowired
  32. private RepositoryService repositoryService;
  33. @Autowired
  34. private ObjectMapper objectMapper;
  35. @Autowired
  36. private IdentityService identityService;
  37. /**
  38. * 获取流程json信息
  39. *
  40. * @param modelId
  41. * @return
  42. */
  43. @SuppressWarnings("deprecation")
  44. @RequestMapping(value = "/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json")
  45. public ObjectNode getEditorJson(@PathVariable String modelId) {
  46. ObjectNode modelNode = null;
  47. Model model = repositoryService.getModel(modelId);
  48. if (model != null) {
  49. try {
  50. if (StringUtils.isNotEmpty(model.getMetaInfo())) {
  51. modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
  52. } else {
  53. modelNode = objectMapper.createObjectNode();
  54. modelNode.put(MODEL_NAME, model.getName());
  55. }
  56. modelNode.put(MODEL_ID, model.getId());
  57. ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
  58. new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
  59. modelNode.put("model", editorJsonNode);
  60. } catch (Exception e) {
  61. LOGGER.error("Error creating model JSON", e);
  62. throw new ActivitiException("Error creating model JSON", e);
  63. }
  64. }
  65. return modelNode;
  66. }
  67. @GetMapping(value = "/model/user")
  68. public AjaxEntityVo getUser() {
  69. List<User> list = identityService.createUserQuery().list();
  70. List<ActivitiUser> collect = list.stream().map(x -> {
  71. ActivitiUser activitiUser = new ActivitiUser();
  72. String id = x.getId();
  73. String firstName = x.getFirstName();
  74. activitiUser.setId(id);
  75. activitiUser.setFirstName(firstName);
  76. return activitiUser;
  77. }).collect(Collectors.toList());
  78. return success(collect);
  79. }
  80. @GetMapping(value = "/model/user/select")
  81. public List<SelectVo> getUserSelect() {
  82. List<User> list = identityService.createUserQuery().list();
  83. List<SelectVo> collect = list.stream().map(x -> {
  84. SelectVo activitiUser = new SelectVo();
  85. String id = x.getId();
  86. String firstName = x.getFirstName();
  87. activitiUser.setValue(id);
  88. activitiUser.setText(firstName);
  89. return activitiUser;
  90. }).collect(Collectors.toList());
  91. return collect;
  92. }
  93. @GetMapping(value = "/model/group")
  94. public AjaxEntityVo getGroup() {
  95. List<Group> list = identityService.createGroupQuery().list();
  96. list.stream().map(x->{
  97. String id = x.getId();
  98. String name = x.getName();
  99. GroupActiviti groupActiviti=new GroupActiviti();
  100. groupActiviti.setId(id);
  101. groupActiviti.setName(name);
  102. return groupActiviti;
  103. }).collect(Collectors.toList());
  104. return success(list);
  105. }
  106. }