浏览代码

会议申请二维码权限

大数据与最优化研究所 8 月之前
父节点
当前提交
d565463f03

+ 1 - 1
src/main/java/com/xjrsoft/module/oa/controller/WfMeetingApplyController.java

@@ -197,7 +197,7 @@ public class WfMeetingApplyController {
     @SaCheckPermission("wfmeetingapply:detail")
     @XjrLog(value = "会议签到二维码-生成二维码")
     public RT<String> qrcode(@RequestParam Long id) throws Exception {
-        String url = commonPropertiesConfig.getDomainApp() + "/pages/meeting/permissions?id=" + id + "&type=0";
+        String url = commonPropertiesConfig.getDomainApp() + "/pages/meeting/detail?id=" + id + "&type=0";
         int width = 400;
         int height = 400;
         int margin = 1;

+ 15 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImpl.java

@@ -43,6 +43,7 @@ import com.xjrsoft.module.workflow.mapper.WorkflowFormRelationMapper;
 import com.xjrsoft.module.workflow.mapper.WorkflowRecordMapper;
 import com.xjrsoft.module.workflow.service.IWorkflowExtraService;
 import lombok.AllArgsConstructor;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.camunda.bpm.engine.history.HistoricProcessInstance;
@@ -440,6 +441,8 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
 
     @Override
     public MeetingMobileInfoVo mobileInfo(Long id) {
+        Long loginId = StpUtil.getLoginIdAsLong();
+
         MPJLambdaWrapper<WfMeetingApply> wfMeetingApplyPageVoMPJLambdaWrapper = new MPJLambdaWrapper<>();
         wfMeetingApplyPageVoMPJLambdaWrapper
                 .disableSubLogicDel()
@@ -470,6 +473,18 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
         MeetingMobileInfoVo info = this.selectJoinOne(MeetingMobileInfoVo.class, wfMeetingApplyPageVoMPJLambdaWrapper);
 
         if (ObjectUtils.isNotEmpty(info)) {
+            // 判断当前用户是否是当前会议的参与人
+            LambdaQueryWrapper<MeetingConferee> meetingConfereeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            meetingConfereeLambdaQueryWrapper
+                    .eq(MeetingConferee::getWfMeetingApplyId, id)
+                    .eq(MeetingConferee::getUserId, loginId)
+                    ;
+            List<MeetingConferee> meetingConfereeList = meetingConfereeMapper.selectList(meetingConfereeLambdaQueryWrapper);
+            // 既不是发起人也不是参与人
+            if(CollectionUtils.isEmpty(meetingConfereeList) && !info.getSponsorId().equals(loginId)){
+                return new MeetingMobileInfoVo();
+            }
+
             List<File> fileList = fileMapper.selectList(Wrappers.<File>query().lambda().eq(File::getFolderId, info.getPreMeetingInfoFileId()));
             info.setFileInfos(fileList);