From eda55530e64d87f6c642ce4596dc288a49f258cc Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 03 七月 2024 18:39:12 +0800 Subject: [PATCH] 学生考试分页增加提交状态,登录学生信息返回 --- src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | 59 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 45 insertions(+), 14 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 31d55b9..77687d9 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java @@ -2,7 +2,11 @@ import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ycl.jxkg.base.SystemCode; +import com.ycl.jxkg.context.WebContext; import com.ycl.jxkg.domain.entity.Meet; +import com.ycl.jxkg.enums.MeetStatusEnum; +import com.ycl.jxkg.mapper.ClassesUserMapper; import com.ycl.jxkg.mapper.MeetMapper; import com.ycl.jxkg.service.MeetService; import com.ycl.jxkg.base.Result; @@ -10,11 +14,15 @@ import com.ycl.jxkg.domain.form.MeetForm; import com.ycl.jxkg.domain.vo.MeetVO; import com.ycl.jxkg.domain.query.MeetQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import com.ycl.jxkg.utils.PageUtil; import org.springframework.beans.BeanUtils; import org.springframework.util.Assert; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -32,6 +40,10 @@ private final MeetMapper meetMapper; + @Autowired + private WebContext webContext; + @Autowired + private ClassesUserMapper classesUserMapper; /** * 娣诲姞 * @param form @@ -40,7 +52,8 @@ @Override public Result add(MeetForm form) { Meet entity = MeetForm.getEntityByForm(form, null); - entity.setStudentIds(JSONArray.toJSONString(form.getStudentIds())); + entity.setStatus(MeetStatusEnum.Wait.getCode()); + entity.setCreateUser(webContext.getCurrentUser().getId()); baseMapper.insert(entity); return Result.ok("娣诲姞鎴愬姛"); } @@ -57,7 +70,6 @@ // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); BeanUtils.copyProperties(form, entity); - entity.setStudentIds(JSONArray.toJSONString(form.getStudentIds())); baseMapper.updateById(entity); return Result.ok("淇敼鎴愬姛"); } @@ -85,24 +97,39 @@ } /** - * 鍒嗛〉鏌ヨ + * 鏁欏笀鍒嗛〉鏌ヨ * @param query * @return */ @Override public Result page(MeetQuery query) { - - IPage<Meet> page = PageUtil.getPage(query, Meet.class); + Integer id = webContext.getCurrentUser().getId(); + //鏌ヨ嚜宸卞垱寤虹殑鎴块棿 + query.setTeacherId(id); + IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class); baseMapper.getPage(page, query); - List<Meet> records = page.getRecords(); - List<MeetVO> vos = new ArrayList<>(); - for (Meet record : records) { - MeetVO meetVO = new MeetVO(); - BeanUtils.copyProperties(record,meetVO); - meetVO.setStudentIds(JSONArray.parseArray(record.getStudentIds(),Integer.class)); - vos.add(meetVO); + + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } + + /** + * 瀛︾敓鍒嗛〉鏌ヨ + * @param query + * @return + */ + @Override + public Result studentPage(MeetQuery query) { + Integer userId = webContext.getCurrentUser().getId(); + //鏌ュ嚭瀛︾敓鎵�鍦ㄧ彮绾� + List<Integer> classes = classesUserMapper.getClassesByUserId(userId); + if(CollectionUtils.isEmpty(classes)){ + return Result.ok("鎮ㄦ殏鏈姞鍏ョ彮绾�"); } - return Result.ok().data(vos).total(page.getTotal()); + query.setClassesIds(classes); + IPage<MeetVO> page = PageUtil.getPage(query, MeetVO.class); + baseMapper.getPage(page, query); + + return Result.ok().data(page.getRecords()).total(page.getTotal()); } /** @@ -114,7 +141,11 @@ public Result detail(Integer id) { MeetVO vo = baseMapper.getById(id); Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); - return Result.ok().data(vo); + if(vo.getStatus().equals(MeetStatusEnum.Starting.getCode())){ + return Result.ok(); + }else { + return Result.fail(SystemCode.InnerError.getCode(),"鎴块棿灏氭湭寮�濮嬫垨宸茬粨鏉�"); + } } /** -- Gitblit v1.8.0