package org.springblade.modules.exam.controller; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.apache.commons.codec.Charsets; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.modules.exam.entity.ExamScore; import org.springblade.modules.exam.entity.ScoreAuditRecords; import org.springblade.modules.exam.service.ExamScoreService; import org.springblade.modules.exam.service.ScoreAuditRecordsService; import org.springblade.modules.exam.vo.ScoreAuditRecordsVO; import org.springblade.modules.system.service.IUserService; import org.springframework.web.bind.annotation.*; import java.util.Date; /** * @author zhongrj * @time 2021-11-4 * @desc 考试成绩修改申请记录控制层 */ @RestController @AllArgsConstructor @RequestMapping("/scoreAuditRecords") public class ScoreAuditRecordsController { private final ScoreAuditRecordsService scoreAuditRecordsService; private final ExamScoreService examScoreService; private final IUserService userService; /** * 自定义分页 * @param query page,size * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @GetMapping("/page") public R> page(ScoreAuditRecordsVO scoreAuditRecords, Query query) { IPage pages = scoreAuditRecordsService.selectScoreAuditRecordsPage(Condition.getPage(query), scoreAuditRecords); return R.data(pages); } /** * 新增 * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @PostMapping("/save") @ApiOperation(value = "新增", notes = "传入scoreAuditRecords") public R save(@RequestBody ScoreAuditRecords scoreAuditRecords){ return R.data(scoreAuditRecordsService.save(scoreAuditRecords)); } /** * 成绩修改申请 * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @PostMapping("/scoreUpdateApply") @ApiOperation(value = "新增", notes = "传入scoreAuditRecords") public R scoreUpdateApply(@RequestBody ScoreAuditRecords scoreAuditRecords){ //获取考试成绩id scoreAuditRecords.setCreateTime(new Date()); //待审核 scoreAuditRecords.setStatus(1); //查询成绩 ExamScore examScore = examScoreService.getById(scoreAuditRecords.getExamScoreId()); scoreAuditRecords.setUserId(Long.parseLong(examScore.getUserId())); //申请并返回数据 return R.data(scoreAuditRecordsService.save(scoreAuditRecords)); } /** * 修改 * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @PostMapping("/update") public R update(@RequestBody ScoreAuditRecords scoreAuditRecords){ return R.status(scoreAuditRecordsService.updateById(scoreAuditRecords)); } /** * 新增或修改 * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @PostMapping("/submit") public R submit(@RequestBody ScoreAuditRecords scoreAuditRecords){ return R.data(scoreAuditRecordsService.saveOrUpdate(scoreAuditRecords)); } /** * 删除 * @param ids 考试成绩修改申请记录信息ids 数组 */ @PostMapping("/remove") public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) { return R.status(scoreAuditRecordsService.removeByIds(Func.toLongList(ids))); } /** * 详情 * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @GetMapping("/detail") @ApiOperation(value = "详情", notes = "传入scoreAuditRecords") public R detail(ScoreAuditRecords scoreAuditRecords) { ScoreAuditRecords detail = scoreAuditRecordsService.getOne(Condition.getQueryWrapper(scoreAuditRecords)); return R.data(detail); } /** * 详情 * @param scoreAuditRecords 考试成绩修改申请记录信息对象 */ @GetMapping("/details") @ApiOperation(value = "详情", notes = "传入scoreAuditRecords") public R details(ScoreAuditRecords scoreAuditRecords) { ScoreAuditRecordsVO detail = scoreAuditRecordsService.getScoreAuditRecordsDetails(scoreAuditRecords); return R.data(detail); } /** * 申请审核 * @param scoreAuditRecords 考试成绩修改申请记录审核 */ @PostMapping("/applyAudit") public R applyAudit(@RequestBody ScoreAuditRecords scoreAuditRecords){ return R.status(scoreAuditRecordsService.applyAudit(scoreAuditRecords)); } /** * 批量申请审核 * @param scoreAuditRecords 考试成绩修改申请记录审核 */ @PostMapping("/batchAudit") public R batchAudit(@RequestBody ScoreAuditRecordsVO scoreAuditRecords){ return R.status(scoreAuditRecordsService.batchAudit(scoreAuditRecords)); } }