Browse Source

移动端会议详情返回会议状态和当前登录用户签到状态

大数据与最优化研究所 1 week ago
parent
commit
21c6d6efa9

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

@@ -133,7 +133,7 @@ public class WfMeetingApplyController {
         return RT.ok(meetingConfereeOpinionListVos);
     }
 
-    @PutMapping(value = "/update_meetingSummary")
+    @PostMapping(value = "/update_meetingSummary")
     @ApiOperation(value = "编辑会议纪要")
     @SaCheckPermission("wfmeetingapply:edit")
     @XjrLog(value = "编辑会议纪要")

+ 8 - 1
src/main/java/com/xjrsoft/module/oa/dto/UpdateMeetingSummaryDto.java

@@ -3,6 +3,8 @@ package com.xjrsoft.module.oa.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
+
 
 /**
 * @title: 编辑会议纪要
@@ -11,7 +13,7 @@ import lombok.Data;
 * @Version 1.0
 */
 @Data
-public class UpdateMeetingSummaryDto {
+public class UpdateMeetingSummaryDto implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -31,4 +33,9 @@ public class UpdateMeetingSummaryDto {
      */
     @ApiModelProperty("会议纪要附件")
     private Long meetingSummaryFileId;
+    /**
+     * 会议纪要附件
+     */
+    @ApiModelProperty("无用参数")
+    private Long fileId;
 }

+ 31 - 2
src/main/java/com/xjrsoft/module/oa/service/impl/WfMeetingApplyServiceImpl.java

@@ -4,6 +4,7 @@ import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.IdUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -442,6 +443,32 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
         if (ObjectUtils.isNotEmpty(info)) {
             List<File> fileList = fileMapper.selectList(Wrappers.<File>query().lambda().eq(File::getFolderId, info.getPreMeetingInfoFileId()));
             info.setFileInfos(fileList);
+
+            // 处理签到状态
+            LambdaQueryWrapper<MeetingConferee> meetingConfereeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            meetingConfereeLambdaQueryWrapper
+                    .eq(MeetingConferee::getUserId, StpUtil.getLoginIdAsLong())
+                    .eq(MeetingConferee::getWfMeetingApplyId, id)
+                    ;
+            MeetingConferee meetingConferee = meetingConfereeMapper.selectOne(meetingConfereeLambdaQueryWrapper);
+            info.setCheckInStatus(meetingConferee.getCheckInStatus());
+
+            // 处理状态
+            LocalTime nowLocalTime = LocalTime.now();
+            if (info.getMeetingStatus() != 1) {
+                if (info.getMeetingApplyE().isBefore(nowLocalTime)) {
+                    if(info.getCheckInStatus() == 0){
+                        info.setMeetingStatus(4);
+                    }
+                    if(info.getCheckInStatus() == 1){
+                        info.setMeetingStatus(2);
+                    }
+                } else if (info.getMeetingApplyS().isAfter(nowLocalTime)) {
+                    info.setMeetingStatus(0);
+                } else {
+                    info.setMeetingStatus(3);
+                }
+            }
         }
 
         return info;
@@ -718,16 +745,18 @@ public class WfMeetingApplyServiceImpl extends MPJBaseServiceImpl<WfMeetingApply
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateMeetingCheckIn(UpdateMeetingCheckInDto dto) {
+        Long loginId = StpUtil.getLoginIdAsLong();
+
         LambdaUpdateWrapper<MeetingConferee> meetingConfereeLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
         meetingConfereeLambdaUpdateWrapper
                 .eq(MeetingConferee::getWfMeetingApplyId, dto.getId())
-                .eq(MeetingConferee::getUserId, StpUtil.getLoginIdAsLong())
+                .eq(MeetingConferee::getUserId, loginId)
                 ;
         MeetingConferee meetingConferee = new MeetingConferee();
         meetingConferee.setCheckInStatus(1);
         meetingConferee.setCheckInDate(new Date());
         meetingConferee.setModifyDate(new Date());
-        meetingConferee.setModifyUserId(StpUtil.getLoginIdAsLong());
+        meetingConferee.setModifyUserId(loginId);
         meetingConfereeMapper.update(meetingConferee, meetingConfereeLambdaUpdateWrapper);
         return true;
     }

+ 12 - 0
src/main/java/com/xjrsoft/module/oa/vo/MeetingMobileInfoVo.java

@@ -115,4 +115,16 @@ public class MeetingMobileInfoVo {
 
     @ApiModelProperty("附件列表")
     private List<File> fileInfos;
+
+    /**
+     * 会议状态(0:未开始 1:已经撤销,2:已结束)
+     */
+    @ApiModelProperty("会议状态(0:未开始 1:已经撤销,2:已结束,3:进行中,4:未参与)")
+    private Integer meetingStatus;
+
+    /**
+     * 签到状态(0:未签到,1:已签到)
+     */
+    @ApiModelProperty("签到状态(0:未签到,1:已签到,2:请假)")
+    private Integer checkInStatus;
 }