package com.yf.exam.modules.repo.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yf.exam.core.api.ApiRest; import com.yf.exam.core.api.controller.BaseController; import com.yf.exam.core.api.dto.BaseIdReqDTO; import com.yf.exam.core.api.dto.BaseIdsReqDTO; import com.yf.exam.core.api.dto.PagingReqDTO; import com.yf.exam.modules.qu.dto.request.QuRepoBatchReqDTO; import com.yf.exam.modules.qu.service.QuRepoService; import com.yf.exam.modules.repo.dto.RepoDTO; import com.yf.exam.modules.repo.dto.request.RepoReqDTO; import com.yf.exam.modules.repo.dto.response.RepoRespDTO; import com.yf.exam.modules.repo.entity.Repo; import com.yf.exam.modules.repo.service.RepoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresRoles; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** *
* 题库控制器,处理与题库相关的 HTTP 请求 *
* * @author 聪明笨狗 * @since 2020-05-25 13:25 */ @Api(tags={"题库"}) @RestController @RequestMapping("/exam/api/repo") public class RepoController extends BaseController { /** * 注入题库服务,用于处理题库相关的业务逻辑 */ @Autowired private RepoService baseService; /** * 注入题目与题库关联服务,用于处理题目与题库的批量操作 */ @Autowired private QuRepoService quRepoService; /** * 添加或修改题库信息 * @param reqDTO 包含题库信息的请求数据传输对象 * @return 操作结果,封装在 ApiRest 对象中 */ @RequiresRoles("sa") @ApiOperation(value = "添加或修改") @RequestMapping(value = "/save", method = { RequestMethod.POST}) public ApiRest save(@RequestBody RepoDTO reqDTO) { // 调用服务层方法保存或更新题库信息 baseService.save(reqDTO); // 返回操作成功的响应 return super.success(); } /** * 批量删除题库 * @param reqDTO 包含要删除的题库 ID 列表的请求数据传输对象 * @return 操作结果,封装在 ApiRest 对象中 */ @RequiresRoles("sa") @ApiOperation(value = "批量删除") @RequestMapping(value = "/delete", method = { RequestMethod.POST}) public ApiRest edit(@RequestBody BaseIdsReqDTO reqDTO) { // 根据 ID 列表删除题库 baseService.removeByIds(reqDTO.getIds()); // 返回操作成功的响应 return super.success(); } /** * 查找单个题库的详情信息 * @param reqDTO 包含要查找的题库 ID 的请求数据传输对象 * @return 包含题库详情信息的操作结果,封装在 ApiRest 对象中 */ @RequiresRoles("sa") @ApiOperation(value = "查找详情") @RequestMapping(value = "/detail", method = { RequestMethod.POST}) public ApiRest