package cn.huge.module.flow.controller.web; import cn.huge.base.common.utils.ReturnFailUtils; import cn.huge.base.common.utils.ReturnSucUtils; import cn.huge.module.flow.domain.po.FlowNode; import cn.huge.module.flow.service.FlowNodeService; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream; /** * @title: 业务流程节点表接口api-web端 * @description: 业务流程节点表接口api-web端 * @company: hugeinfo * @author: liyj * @time: 2024-09-08 15:09:08 * @version: 1.0.0 */ @Slf4j @RestController @RequestMapping("/api/web/flowNode") public class FlowNodeWebController { @Autowired(required = false) private HttpServletRequest request; @Autowired private FlowNodeService service; /** * 获取请求URL参数 * @return Map */ private Map getParameter(){ Map terms = Maps.newHashMap(); // 主键编号 String id = request.getParameter("id"); if (StringUtils.isNotBlank(id)){ terms.put("id", id); } // 业务流程编号 String flowId = request.getParameter("flowId"); if (StringUtils.isNotBlank(flowId)){ terms.put("flowId", flowId); } // 工作流流程编号 String flowableId = request.getParameter("flowableId"); if (StringUtils.isNotBlank(flowableId)){ terms.put("flowableId", flowableId); } // 工作流节点编号 String nodeId = request.getParameter("nodeId"); if (StringUtils.isNotBlank(nodeId)){ terms.put("nodeId", nodeId); } // 流程页面展示名称 String nodeShowName = request.getParameter("nodeShowName"); if (StringUtils.isNotBlank(nodeShowName)){ terms.put("nodeShowName", nodeShowName); } // 工作流节点名称 String nodeName = request.getParameter("nodeName"); if (StringUtils.isNotBlank(nodeName)){ terms.put("nodeName", nodeName); } // 工作流节点类型,1:首节点,2:普通节点,3:尾节点 String nodeType = request.getParameter("nodeType"); if (StringUtils.isNotBlank(nodeType)){ terms.put("nodeType", nodeType); } // 工作流节点顺序 String nodeIndex = request.getParameter("nodeIndex"); if (StringUtils.isNotBlank(nodeIndex)){ terms.put("nodeIndex", nodeIndex); } // 节点图标 String nodeIcon = request.getParameter("nodeIcon"); if (StringUtils.isNotBlank(nodeIcon)){ terms.put("nodeIcon", nodeIcon); } // 对应请求接口方式,POST:post请求,GET:get请求,PUT:put请求,DELETE:delete请求 String apiType = request.getParameter("apiType"); if (StringUtils.isNotBlank(apiType)){ terms.put("apiType", apiType); } // 对应请求接口 String api = request.getParameter("api"); if (StringUtils.isNotBlank(api)){ terms.put("api", api); } // 对应纠纷进度 String caseProcess = request.getParameter("caseProcess"); if (StringUtils.isNotBlank(caseProcess)){ terms.put("caseProcess", caseProcess); } // 对应纠纷进度名称 String caseProcessName = request.getParameter("caseProcessName"); if (StringUtils.isNotBlank(caseProcessName)){ terms.put("caseProcessName", caseProcessName); } // 节点处理时限,单位:天 String expire = request.getParameter("expire"); if (StringUtils.isNotBlank(expire)){ terms.put("expire", expire); } // 节点候选执行者类型:1:所有人,2:上一步骤选择,3:上一步骤执行者,4:自定义指定(单位部门角色人组合) String candeType = request.getParameter("candeType"); if (StringUtils.isNotBlank(candeType)){ terms.put("candeType", candeType); } // 节点候选执行组织编号 String candeUnitId = request.getParameter("candeUnitId"); if (StringUtils.isNotBlank(candeUnitId)){ terms.put("candeUnitId", candeUnitId); } // 节点候选执行组织名称 String candeUnitName = request.getParameter("candeUnitName"); if (StringUtils.isNotBlank(candeUnitName)){ terms.put("candeUnitName", candeUnitName); } // 节点候选执行部门编号 String candeDeptId = request.getParameter("candeDeptId"); if (StringUtils.isNotBlank(candeDeptId)){ terms.put("candeDeptId", candeDeptId); } // 节点候选执行部门名称 String candeDeptName = request.getParameter("candeDeptName"); if (StringUtils.isNotBlank(candeDeptName)){ terms.put("candeDeptName", candeDeptName); } // 节点候选执行角色代码编号 String candeRoleCode = request.getParameter("candeRoleCode"); if (StringUtils.isNotBlank(candeRoleCode)){ terms.put("candeRoleCode", candeRoleCode); } // 节点候选执行角色名称 String candeRoleName = request.getParameter("candeRoleName"); if (StringUtils.isNotBlank(candeRoleName)){ terms.put("candeRoleName", candeRoleName); } // 节点候选执行人员编号 String candeUserId = request.getParameter("candeUserId"); if (StringUtils.isNotBlank(candeUserId)){ terms.put("candeUserId", candeUserId); } // 节点候选执行人员名称 String candeUserName = request.getParameter("candeUserName"); if (StringUtils.isNotBlank(candeUserName)){ terms.put("candeUserName", candeUserName); } // 节点前进条件 String goCond = request.getParameter("goCond"); if (StringUtils.isNotBlank(goCond)){ terms.put("goCond", goCond); } // 节点退回条件 String backCond = request.getParameter("backCond"); if (StringUtils.isNotBlank(backCond)){ terms.put("backCond", backCond); } // 描述 String des = request.getParameter("des"); if (StringUtils.isNotBlank(des)){ terms.put("des", des); } // 删除状态,0:未删除,1:已删除 String deleteStatus = request.getParameter("deleteStatus"); if (StringUtils.isNotBlank(deleteStatus)){ terms.put("deleteStatus", deleteStatus); } // 顾客编号 String custId = request.getParameter("custId"); if (StringUtils.isNotBlank(custId)){ terms.put("custId", custId); } // 创建时间区间 String createStart = request.getParameter("createStart"); String createEnd = request.getParameter("createEnd"); if(StringUtils.isNotBlank(createStart) && StringUtils.isNotBlank(createEnd)) { terms.put("createStart", createStart); terms.put("createEnd", createEnd); } // 更新时间区间 String updateStart = request.getParameter("updateStart"); String updateEnd = request.getParameter("updateEnd"); if(StringUtils.isNotBlank(updateStart) && StringUtils.isNotBlank(updateEnd)) { terms.put("updateStart", updateStart); terms.put("updateEnd", updateEnd); } return terms; } /** * 条件查询多个 * @url {ctx}/api/web/flowNode/listQuery * @return Object */ @GetMapping("/listQuery") public Object listQuery() { try { Map terms = getParameter(); return ReturnSucUtils.getRepInfo(service.listTerms(terms)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 条件分页查询 * @url {ctx}/api/web/flowNode/pageQuery * @param page 页码 * @param size 每页数量 * @return Object */ @GetMapping("/pageQuery") public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { try { Map terms = getParameter(); Sort sort = Sort.by(Sort.Direction.DESC, "create_time"); PageRequest pageRequest = PageRequest.of(page-1, size, sort); Page flowNodePage = service.pageQuery(pageRequest, terms); return ReturnSucUtils.getRepInfo( "处理成功", flowNodePage); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据编号查询单个 * @url {ctx}/api/web/flowNode/getById * @param id 主键编号 * @return Object */ @GetMapping("/getById") public Object getById(@RequestParam(value = "id") String id) { try { return ReturnSucUtils.getRepInfo(service.getById(id)); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 根据主键单个 * @url {ctx}/api/web/flowNode/deleteById * @param id 主键编号 * @return Object */ @GetMapping("/deleteById") public Object deleteById(@RequestParam(value = "id") String id) { try { service.removeById(id); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } /** * 新增或更新对象 * @url {ctx}/api/web/flowNode/saveFlowNode * @param flowNode 实体对象 * @return Object */ @PostMapping("/saveFlowNode") public Object saveFlowNode(@RequestBody FlowNode flowNode) { try { service.saveFlowNode(flowNode); return ReturnSucUtils.getRepInfo(); } catch (Exception e) { return ReturnFailUtils.getRepInfo(); } } }