From 680d04955a875614d2056542ad7c200ee6168444 Mon Sep 17 00:00:00 2001 From: hujunpeng Date: Wed, 5 Mar 2025 17:47:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=AE=A1=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccic/safeliab/dao/ExamPaperMapper.java | 51 ++++++++++ .../safeliab/service/ExamPaperService.java | 71 ++++++++++++++ .../service/ExamPaperServiceImpl.java | 84 +++++++++++++++++ .../safeliab/service/QuestionServiceImpl.java | 3 + .../com/ccic/safeliab/vo/InsExamPaperVO.java | 20 ++++ .../safeliab/web/ExamPaperController.java | 94 +++++++++++++++++++ .../resources/mappers/ExamPaperMapper.xml | 73 ++++++++++++++ 7 files changed, 396 insertions(+) create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/vo/InsExamPaperVO.java create mode 100644 ccic-exam/src/main/java/com/ccic/safeliab/web/ExamPaperController.java create mode 100644 ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java new file mode 100644 index 0000000..4bd0341 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/ExamPaperMapper.java @@ -0,0 +1,51 @@ +package com.ccic.safeliab.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ccic.safeliab.entity.ExamPapers; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * Mapper 接口 + * + * @author Chill + */ +@Mapper +public interface ExamPaperMapper extends BaseMapper { + + /** + * 查询当前页数据 + * + * @param industryId 监管行业 + * @param paperName 试卷名称 + * @param offset 偏移量 + * @param num 每页显示的记录数 + * @return 当前页数据 + */ + List getList( + @Param("industryId") Long industryId, + @Param("paperName") String paperName, + @Param("offset") int offset, + @Param("num") int num); + + /** + * 查询总数量 + * + * @param industryId 监管行业 + * @param paperName 试卷名称 + * @return 总数量 + */ + int getListSize( + @Param("industryId") Long industryId, + @Param("paperName") String paperName); + + /** + * 查询当题目详情 + * + * @param id 监管行业 + * @return 题目详情 + */ + ExamPapers getDetail(@Param("id") Long id); +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java new file mode 100644 index 0000000..7b86e24 --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperService.java @@ -0,0 +1,71 @@ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.entity.ExamPapers; +import com.ccic.safeliab.support.BaseService; +import com.ccic.safeliab.vo.InsExamPaperVO; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +@Service +public interface ExamPaperService extends BaseService { + /** + * 获取试卷列表 + * @param page 页码 + * @param num 每页数量 + * @param entity 试卷表 + * @return 试卷列表 + */ + Map getList(int page, int num, ExamPapers entity); + + + /** + * 根据主键删除试卷记录 + * @param id 试卷记录的主键 + * @return 删除操作是否成功 + */ + boolean deleteExamPaperById(Long id); + + /** + * 根据主键批量删除试卷记录 + * @param ids 试卷记录的主键列表 + * @return 删除操作是否成功 + */ + boolean deleteExamPaperListByIds(List ids); + + /** + * 更新试卷状态 + * @param vo 试题 VO 列表 + * @return 添加是否成功 + */ + boolean updatePaperStatus(InsExamPaperVO vo); + + /** + * 批量更新试卷状态 + * @param vos 试卷记录的主键列表 + * @return 删除操作是否成功 + */ + boolean batchUpdatePaperStatus(List vos); + + /** + * 添加试题 + * @param vo 试题 VO 列表 + * @return 添加是否成功 + */ + int add(List vo); + + /** + * 修改试题 + * @param vo 试题 VO 列表 + * @return 添加是否成功 + */ + boolean update(InsExamPaperVO vo); + + /** + * 获取试卷列表 + * @param id 题目ID + * @return 题目详情 + */ + ExamPapers getDetail(String id); +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java new file mode 100644 index 0000000..c363a5d --- /dev/null +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/ExamPaperServiceImpl.java @@ -0,0 +1,84 @@ +package com.ccic.safeliab.service; + +import com.ccic.safeliab.dao.ExamPaperMapper; +import com.ccic.safeliab.entity.*; +import com.ccic.safeliab.support.BaseServiceImpl; +import com.ccic.safeliab.vo.InsExamPaperVO; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class ExamPaperServiceImpl extends BaseServiceImpl implements ExamPaperService { + + @Override + public Map getList(int page,int num, ExamPapers entity) { + int offset = (page - 1) * num; + Map map = new HashMap<>(); + List data = baseMapper.getList( + entity.getIndustryId(), + entity.getPaperName(), + offset, + num); + + int total = baseMapper.getListSize( + entity.getIndustryId(), + entity.getPaperName()); + map.put("data", data); + map.put("total", total); + return map; + } + + @Override + public boolean deleteExamPaperById(Long id) { + List ids = new ArrayList<>(); + ids.add(id); + return deleteLogic(ids); + } + + @Override + public boolean deleteExamPaperListByIds(List ids) { + return deleteLogic(ids); + } + + @Override + @Transactional + public boolean updatePaperStatus(InsExamPaperVO vo) { + ExamPapers entity = baseMapper.getDetail(vo.getId()); + if(vo.getPaperStatus()==0){ + entity.setPaperStatus(1); + }else if(vo.getPaperStatus()==1){ + entity.setPaperStatus(0); + } + return updateById(entity); + } + + @Override + @Transactional + public boolean batchUpdatePaperStatus(List vos) { + boolean flag = false; + for(InsExamPaperVO vo : vos){ + flag = updatePaperStatus(vo); + } + return flag; + } + + @Override + public int add(List vo) { + return 0; + } + + @Override + public boolean update(InsExamPaperVO vo) { + return true; + } + + @Override + public ExamPapers getDetail(String id){ + return baseMapper.getDetail(Long.valueOf(id)); + } +} diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java index d1d6e2c..3918f62 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java @@ -5,6 +5,7 @@ import com.ccic.safeliab.entity.*; import com.ccic.safeliab.support.BaseServiceImpl; import com.ccic.safeliab.vo.InsQuestionVO; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; @@ -47,6 +48,7 @@ public class QuestionServiceImpl extends BaseServiceImpl vo) { int count =0; for(InsQuestionVO item :vo){ @@ -57,6 +59,7 @@ public class QuestionServiceImpl extends BaseServiceImpl map = examPaperService.getList(vo.getPage(), vo.getNum(), entity); + return R.ok().data(map); + } + + /** + * 删除单个试卷 + */ + @GetMapping("/delete") + public R delete(String id) { + boolean resultFlg = examPaperService.deleteExamPaperById(Long.valueOf((id))); + return R.ok().data(resultFlg); + } + + /** + * 删除多个试卷 + */ + @PostMapping("/deleteList") + public R deleteList(@RequestBody List ids) { + boolean resultFlg = examPaperService.deleteExamPaperListByIds(ids); + return R.ok().data(resultFlg); + } + + /** + * 更新试卷状态 + */ + @PostMapping("/updatePaperStatus") + public R updatePaperStatus(@RequestBody InsExamPaperVO vo) { + return R.ok().data(examPaperService.updatePaperStatus(vo) + ); + } + + /** + * 批量更新试卷状态 + */ + @PostMapping("/batchUpdatePaperStatus") + public R batchUpdatePaperStatus(@RequestBody List vos) { + boolean resultFlg = examPaperService.batchUpdatePaperStatus(vos); + return R.ok().data(resultFlg); + } + + /** + * 添加试卷 + */ + @PostMapping("/add") + public R add(@RequestBody List vo) { + return R.ok().data(examPaperService.add(vo)); + } + + /** + * 修改试卷 + */ + @PostMapping("/update") + public R add(@RequestBody InsExamPaperVO vo) { + return R.ok().data(examPaperService.update(vo)); + } + + /** + * 题目详情 + */ + @GetMapping("/getDetail") + public R getDetail(String id) { + ExamPapers data = examPaperService.getDetail(id); + return R.ok().data(data); + } +} diff --git a/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml b/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml new file mode 100644 index 0000000..2e55f9b --- /dev/null +++ b/ccic-exam/src/main/resources/mappers/ExamPaperMapper.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + +