From c330957d452ae92bb95ee3b5fcc666d3292b58d8 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Thu, 10 Apr 2025 11:43:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BF=E5=AE=A2=E9=A2=84=E7=BA=A6=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=95=86=E6=88=B7=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/IntegratedFlowConstant.java | 17 +++++++++ .../pjcloud-integrated-biz/pom.xml | 11 ++++++ .../service/impl/VisitorsServiceImpl.java | 35 ++++++++++++++++++- .../admin/controller/SysRoleController.java | 9 ++++- 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/IntegratedFlowConstant.java diff --git a/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/IntegratedFlowConstant.java b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/IntegratedFlowConstant.java new file mode 100644 index 000000000..0fe22e2e9 --- /dev/null +++ b/pjcloud-integrated/pjcloud-integrated-api/src/main/java/com/bsd/pjcloud/integrated/constant/IntegratedFlowConstant.java @@ -0,0 +1,17 @@ +package com.bsd.pjcloud.integrated.constant; + +import lombok.Data; + +@Data +public final class IntegratedFlowConstant { + + /** + * 访客预约 + */ + public static final String INTEGRATED_VISITOR= "INTEGRATED_VISITOR"; + + + + + +} diff --git a/pjcloud-integrated/pjcloud-integrated-biz/pom.xml b/pjcloud-integrated/pjcloud-integrated-biz/pom.xml index 7177e7482..5561f5f81 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/pom.xml +++ b/pjcloud-integrated/pjcloud-integrated-biz/pom.xml @@ -64,6 +64,17 @@ pjcloud-integrated-api 5.7.0 + + + com.bsd + pjcloud-flow-task-api + 5.7.0 + + + com.bsd + pjcloud-common-seata + 5.7.0 + com.bsd diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java index 4e930eaae..e42de1ce0 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java +++ b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java @@ -1,7 +1,15 @@ package com.bsd.pjcloud.integrated.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.admin.api.feign.RemoteUserService; +import com.bsd.pjcloud.common.core.exception.ServiceException; import com.bsd.pjcloud.common.core.util.BeanUtils; +import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.flow.task.api.feign.RemoteFlowApiFlowService; +import com.bsd.pjcloud.flow.task.constant.TaskCheckStatusEnum; +import com.bsd.pjcloud.flow.task.dto.ProcessInstanceParamDto; +import com.bsd.pjcloud.flow.task.entity.Process; +import com.bsd.pjcloud.integrated.constant.IntegratedFlowConstant; import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsAppDTO; import com.bsd.pjcloud.integrated.dto.visitors.app.VisitorsCarAppDTO; import com.bsd.pjcloud.integrated.entity.VisitorsCarEntity; @@ -11,6 +19,7 @@ import com.bsd.pjcloud.integrated.mapper.VisitorsMapper; import com.bsd.pjcloud.integrated.service.VisitorsService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.List; @@ -26,9 +35,33 @@ import java.util.List; public class VisitorsServiceImpl extends ServiceImpl implements VisitorsService { private final VisitorsCarMapper visitorsCarMapper; + + private final RemoteUserService remoteUserService; + + private final RemoteFlowApiFlowService remoteFlowApiFlowService; @Override + @Transactional public Object vistorsSave(VisitorsAppDTO visitors) { + + //发起流程 + R processR = remoteFlowApiFlowService.getProcessByBusinessKey(IntegratedFlowConstant.INTEGRATED_VISITOR); + if (!processR.isOk() || processR.getData() == null) { + throw new ServiceException("流程配置获取失败: " + processR.getMsg()); + } + String flowId = processR.getData().getFlowId(); + ProcessInstanceParamDto processInstanceParamDto = new ProcessInstanceParamDto(); + processInstanceParamDto.setFlowId(flowId); + R stringR = remoteFlowApiFlowService.startProcessInstance(processInstanceParamDto); + if (!stringR.isOk() || stringR.getData() == null) { + throw new ServiceException("流程实例启动失败: " + stringR.getMsg()); + } + String processInstanceId = stringR.getData(); + VisitorsEntity bean = BeanUtils.toBean(visitors, VisitorsEntity.class); + bean.setProcessInstanceId(processInstanceId); + bean.setCheckStatus(TaskCheckStatusEnum.PADDING.getCode()); + + int insert = baseMapper.insert(bean); List visitorsCarAppDTOList = visitors.getVisitorsCarAppDTOList(); if (!CollectionUtils.isEmpty(visitorsCarAppDTOList)){ List visitorsCarEntities = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarEntity.class); @@ -37,6 +70,6 @@ public class VisitorsServiceImpl extends ServiceImpl> findRolesByCodes(@RequestBody List codes) { @@ -141,7 +146,9 @@ public class SysRoleController { @GetMapping("/isMchUser") public R isMchUser() { - List roleIds = SecurityUtils.getRoleIds(); + Long id = SecurityUtils.getUser().getId(); + List sysUserRoles = sysUserRoleService.list(Wrappers.lambdaQuery().eq(SysUserRole::getUserId, id)); + List roleIds = sysUserRoles.stream().map(sysUserRole -> sysUserRole.getRoleId()).collect(Collectors.toList()); List list = sysRoleService.list(Wrappers.lambdaQuery().eq(SysRole::getRoleCode, "MCH_USER")); if (CollectionUtils.isEmpty(list) || CollUtil.isEmpty(roleIds) || !roleIds.contains(list.get(0).getRoleId())){ return R.ok(false);