From 8bcc04c9623e0eee0995e1139dee6258a8df464d Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 12 六月 2024 09:14:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java new file mode 100644 index 0000000..afbca10 --- /dev/null +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java @@ -0,0 +1,124 @@ +package com.ycl.jxkg.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.ycl.jxkg.context.WebContext; +import com.ycl.jxkg.domain.entity.Exam; +import com.ycl.jxkg.enums.general.ExamStatusEnum; +import com.ycl.jxkg.mapper.ExamMapper; +import com.ycl.jxkg.service.ExamService; +import com.ycl.jxkg.base.Result; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.jxkg.domain.form.ExamForm; +import com.ycl.jxkg.domain.vo.ExamVO; +import com.ycl.jxkg.domain.query.ExamQuery; +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 java.util.List; +import java.util.stream.Collectors; + +/** + * 鑰冭瘯 鏈嶅姟瀹炵幇绫� + * + * @author xp + * @since 2024-06-11 + */ +@Service +@RequiredArgsConstructor +public class ExamServiceImpl extends ServiceImpl<ExamMapper, Exam> implements ExamService { + + private final ExamMapper examMapper; + private final WebContext webContext; + + /** + * 娣诲姞 + * @param form + * @return + */ + @Override + public Result add(ExamForm form) { + Exam entity = ExamForm.getEntityByForm(form, null); + entity.setStatus(ExamStatusEnum.getStatusByTime(form.getStartTime(), form.getEndTime(), null)); + entity.setTeacherId(webContext.getCurrentUser().getId()); + baseMapper.insert(entity); + return Result.ok("娣诲姞鎴愬姛"); + } + + /** + * 淇敼 + * @param form + * @return + */ + @Override + public Result update(ExamForm form) { + Exam entity = baseMapper.selectById(form.getId()); + // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 + Assert.notNull(entity, "璁板綍涓嶅瓨鍦�"); + BeanUtils.copyProperties(form, entity); + entity.setStatus(ExamStatusEnum.getStatusByTime(form.getStartTime(), form.getEndTime(), null)); + baseMapper.updateById(entity); + return Result.ok("淇敼鎴愬姛"); + } + + /** + * 鎵归噺鍒犻櫎 + * @param ids + * @return + */ + @Override + public Result remove(List<String> ids) { + baseMapper.deleteBatchIds(ids); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + /** + * id鍒犻櫎 + * @param id + * @return + */ + @Override + public Result removeById(String id) { + baseMapper.deleteById(id); + return Result.ok("鍒犻櫎鎴愬姛"); + } + + /** + * 鍒嗛〉鏌ヨ + * @param query + * @return + */ + @Override + public Result page(ExamQuery query) { + IPage<ExamVO> page = PageUtil.getPage(query, ExamVO.class); + baseMapper.getPage(page, query); + return Result.ok().data(page.getRecords()).total(page.getTotal()); + } + + /** + * 鏍规嵁id鏌ユ壘 + * @param id + * @return + */ + @Override + public Result detail(Integer id) { + ExamVO vo = baseMapper.getById(id); + Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); + return Result.ok().data(vo); + } + + /** + * 鍒楄〃 + * @return + */ + @Override + public Result all() { + List<Exam> entities = baseMapper.selectList(null); + List<ExamVO> vos = entities.stream() + .map(entity -> ExamVO.getVoByEntity(entity, null)) + .collect(Collectors.toList()); + return Result.ok().data(vos); + } +} -- Gitblit v1.8.0