访客预约,修复商户判断

This commit is contained in:
zjf committed 2025-04-10 11:43:11 +08:00
1 parent b9f8db427f
commit c330957d45
4 files changed
+70 -2

No files matched your search

@@ -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";
}
@@ -64,6 +64,17 @@
<artifactId>pjcloud-integrated-api</artifactId>
<version>5.7.0</version>
</dependency>
<dependency>
<groupId>com.bsd</groupId>
<artifactId>pjcloud-flow-task-api</artifactId>
<version>5.7.0</version>
</dependency>
<dependency>
<groupId>com.bsd</groupId>
<artifactId>pjcloud-common-seata</artifactId>
<version>5.7.0</version>
</dependency>
<!--必备: log 依赖-->
<dependency>
<groupId>com.bsd</groupId>
@@ -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<VisitorsMapper, VisitorsEntity> implements VisitorsService {
private final VisitorsCarMapper visitorsCarMapper;
private final RemoteUserService remoteUserService;
private final RemoteFlowApiFlowService remoteFlowApiFlowService;
@Override
@Transactional
public Object vistorsSave(VisitorsAppDTO visitors) {
//发起流程
R<Process> 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<String> 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<VisitorsCarAppDTO> visitorsCarAppDTOList = visitors.getVisitorsCarAppDTOList();
if (!CollectionUtils.isEmpty(visitorsCarAppDTOList)){
List<VisitorsCarEntity> visitorsCarEntities = BeanUtils.toBean(visitorsCarAppDTOList, VisitorsCarEntity.class);
@@ -37,6 +70,6 @@ public class VisitorsServiceImpl extends ServiceImpl<VisitorsMapper, VisitorsEnt
});
visitorsCarMapper.insert(visitorsCarEntities);
}
return null;
return insert;
}
}
@@ -25,9 +25,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.admin.api.entity.SysRole;
import com.bsd.pjcloud.admin.api.entity.SysUser;
import com.bsd.pjcloud.admin.api.entity.SysUserRole;
import com.bsd.pjcloud.admin.api.vo.RoleExcelVO;
import com.bsd.pjcloud.admin.api.vo.RoleMenuVO;
import com.bsd.pjcloud.admin.service.SysRoleService;
import com.bsd.pjcloud.admin.service.SysUserRoleService;
import com.bsd.pjcloud.common.core.constant.CacheConstants;
import com.bsd.pjcloud.common.core.exception.ErrorCodes;
import com.bsd.pjcloud.common.core.util.MsgUtils;
@@ -51,6 +53,7 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author pjcloud
@@ -65,6 +68,8 @@ public class SysRoleController {
private final SysRoleService sysRoleService;
private final SysUserRoleService sysUserRoleService;
@Inner
@PostMapping("/by-codes")
public R<List<SysRole>> findRolesByCodes(@RequestBody List<String> codes) {
@@ -141,7 +146,9 @@ public class SysRoleController {
@GetMapping("/isMchUser")
public R<Boolean> isMchUser() {
List<Long> roleIds = SecurityUtils.getRoleIds();
Long id = SecurityUtils.getUser().getId();
List<SysUserRole> sysUserRoles = sysUserRoleService.list(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getUserId, id));
List<Long> roleIds = sysUserRoles.stream().map(sysUserRole -> sysUserRole.getRoleId()).collect(Collectors.toList());
List<SysRole> list = sysRoleService.list(Wrappers.<SysRole>lambdaQuery().eq(SysRole::getRoleCode, "MCH_USER"));
if (CollectionUtils.isEmpty(list) || CollUtil.isEmpty(roleIds) || !roleIds.contains(list.get(0).getRoleId())){
return R.ok(false);