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 00000000..0fe22e2e
--- /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 7177e748..5561f5f8 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 4e930eaa..e42de1ce 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);