123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package com.activiti6.controller.editor;
- import com.activiti6.controller.BaseController;
- import com.activiti6.entity.ActivitiUser;
- import com.activiti6.entity.AjaxEntityVo;
- import com.activiti6.entity.GroupActiviti;
- import com.activiti6.entity.SelectVo;
- import org.activiti.editor.constants.ModelDataJsonConstants;
- import org.activiti.engine.ActivitiException;
- import org.activiti.engine.IdentityService;
- import org.activiti.engine.RepositoryService;
- import org.activiti.engine.identity.Group;
- import org.activiti.engine.identity.User;
- import org.activiti.engine.repository.Model;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.node.ObjectNode;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * 获取model的节点信息,编辑器根据返回的json进行绘图
- * liuzhize 2019年3月7日下午3:29:15
- */
- @RestController
- @RequestMapping("service")
- public class ModelEditorJsonRestResource extends BaseController implements ModelDataJsonConstants {
- protected static final Logger LOGGER = LoggerFactory.getLogger(ModelEditorJsonRestResource.class);
- @Autowired
- private RepositoryService repositoryService;
- @Autowired
- private ObjectMapper objectMapper;
- @Autowired
- private IdentityService identityService;
- /**
- * 获取流程json信息
- *
- * @param modelId
- * @return
- */
- @SuppressWarnings("deprecation")
- @RequestMapping(value = "/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json")
- public ObjectNode getEditorJson(@PathVariable String modelId) {
- ObjectNode modelNode = null;
- Model model = repositoryService.getModel(modelId);
- if (model != null) {
- try {
- if (StringUtils.isNotEmpty(model.getMetaInfo())) {
- modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
- } else {
- modelNode = objectMapper.createObjectNode();
- modelNode.put(MODEL_NAME, model.getName());
- }
- modelNode.put(MODEL_ID, model.getId());
- ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
- new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
- modelNode.put("model", editorJsonNode);
- } catch (Exception e) {
- LOGGER.error("Error creating model JSON", e);
- throw new ActivitiException("Error creating model JSON", e);
- }
- }
- return modelNode;
- }
- @GetMapping(value = "/model/user")
- public AjaxEntityVo getUser() {
- List<User> list = identityService.createUserQuery().list();
- List<ActivitiUser> collect = list.stream().map(x -> {
- ActivitiUser activitiUser = new ActivitiUser();
- String id = x.getId();
- String firstName = x.getFirstName();
- activitiUser.setId(id);
- activitiUser.setFirstName(firstName);
- return activitiUser;
- }).collect(Collectors.toList());
- return success(collect);
- }
- @GetMapping(value = "/model/user/select")
- public List<SelectVo> getUserSelect() {
- List<User> list = identityService.createUserQuery().list();
- List<SelectVo> collect = list.stream().map(x -> {
- SelectVo activitiUser = new SelectVo();
- String id = x.getId();
- String firstName = x.getFirstName();
- activitiUser.setValue(id);
- activitiUser.setText(firstName);
- return activitiUser;
- }).collect(Collectors.toList());
- return collect;
- }
- @GetMapping(value = "/model/group")
- public AjaxEntityVo getGroup() {
- List<Group> list = identityService.createGroupQuery().list();
- list.stream().map(x->{
- String id = x.getId();
- String name = x.getName();
- GroupActiviti groupActiviti=new GroupActiviti();
- groupActiviti.setId(id);
- groupActiviti.setName(name);
- return groupActiviti;
- }).collect(Collectors.toList());
- return success(list);
- }
- }
|