From f5379a7100a20f538092eb839b2f4c9f6d3a1b45 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 04 七月 2024 17:06:10 +0800
Subject: [PATCH] 上课记录Bug修复

---
 src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
index 147057f..5493e04 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ycl.jxkg.service.impl;
 
 import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -8,12 +9,16 @@
 import com.ycl.jxkg.base.SystemCode;
 import com.ycl.jxkg.context.WebContext;
 import com.ycl.jxkg.domain.entity.Meet;
+import com.ycl.jxkg.domain.entity.MeetStudent;
+import com.ycl.jxkg.domain.entity.StudyRecord;
 import com.ycl.jxkg.domain.form.MeetForm;
 import com.ycl.jxkg.domain.query.MeetQuery;
 import com.ycl.jxkg.domain.vo.MeetVO;
 import com.ycl.jxkg.enums.MeetStatusEnum;
 import com.ycl.jxkg.mapper.ClassesUserMapper;
 import com.ycl.jxkg.mapper.MeetMapper;
+import com.ycl.jxkg.mapper.MeetStudentMapper;
+import com.ycl.jxkg.mapper.StudyRecordMapper;
 import com.ycl.jxkg.rabbitmq.msg.MeetStatusMsg;
 import com.ycl.jxkg.rabbitmq.product.Producer;
 import com.ycl.jxkg.service.MeetService;
@@ -46,6 +51,8 @@
     @Autowired
     private ClassesUserMapper classesUserMapper;
     private final Producer producer;
+    private final MeetStudentMapper meetStudentMapper;
+    private final StudyRecordMapper studyRecordMapper;
     /**
      * 娣诲姞
      * @param form
@@ -161,9 +168,42 @@
      */
     @Override
     public Result detail(Integer id) {
-        MeetVO vo = baseMapper.getById(id);
+        Meet vo = baseMapper.getById(id);
         Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
         if(vo.getStatus().equals(MeetStatusEnum.Starting.getCode())){
+            Integer userId = webContext.getCurrentUser().getId();
+            //楠岃瘉鏈夋病鏈夐噸澶嶈繘鍏ワ紙閲嶅杩涘叆浼氬鑷翠笂璇炬鏁板澶氾級
+            QueryWrapper<MeetStudent> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("meet_id",id);
+            queryWrapper.eq("student_id",userId);
+            queryWrapper.eq("version",vo.getUpdateVersion());
+            MeetStudent one = meetStudentMapper.selectOne(queryWrapper);
+            if(one != null){
+                return Result.ok();
+            }
+            //澧炲姞瀛︾敓涓婅璁板綍
+            MeetStudent meetStudent = new MeetStudent();
+            meetStudent.setMeetId(id);
+            meetStudent.setStudentId(userId);
+            meetStudent.setCreateTime(new Date());
+            meetStudent.setStartTime(vo.getStartTime());
+            meetStudent.setVersion(vo.getUpdateVersion());
+            meetStudent.setMeetName(vo.getMeetName());
+            //TODO锛氭殏鏃跺鐞嗭紝鍚庢湡鑰冭檻jitsiApi
+            meetStudent.setDuringTime(0L);
+            meetStudentMapper.insert(meetStudent);
+            //瀛︾敓瀛︿範妗f鏇存柊
+            StudyRecord studyRecord = studyRecordMapper.getByStudentId(userId);
+            if(studyRecord ==null){
+                StudyRecord record = new StudyRecord();
+                record.setMeetCount(0);
+                record.setStudyTime(0L);
+                record.setStudentId(userId);
+                studyRecordMapper.insert(record);
+            }else {
+                studyRecord.setMeetCount(studyRecord.getMeetCount()+1);
+                studyRecordMapper.updateById(studyRecord);
+            }
             return Result.ok();
         }else {
             return Result.fail(SystemCode.InnerError.getCode(),"鎴块棿灏氭湭寮�濮嬫垨宸茬粨鏉�");

--
Gitblit v1.8.0