package cn.stylefeng.guns.modular.business.controller; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.StrUtil; import cn.stylefeng.guns.modular.business.entity.CouserChapterLearningRate; import cn.stylefeng.guns.modular.business.service.ICouserChapterLearningRateService; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.annotation.BusinessLog; import cn.stylefeng.roses.kernel.rule.enums.ResBizTypeEnum; import cn.stylefeng.roses.kernel.rule.pojo.response.ErrorResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; /** * 课程章节学习进度管理类 * @author guo */ @RestController @Api(tags = "课程章节学习进度管理类") @ApiResource(name = "课程章节学习进度管理类", resBizType = ResBizTypeEnum.BUSINESS) @RequestMapping("/business") public class CouserChapterLearningRateController { @Resource private ICouserChapterLearningRateService couserChapterLearningRateService; /** * 添加课程章节学习进度 */ @ApiOperation("添加课程章节学习进度") @PostResource(name = "添加课程章节学习进度", path = "/couserChapterLearningRate/add") @BusinessLog public ResponseData add(@RequestBody CouserChapterLearningRate couserChapterLearningRate) { this.couserChapterLearningRateService.save(couserChapterLearningRate); return new SuccessResponseData<>(); } /** * 删除课程章节学习进度 */ @ApiOperation("删除课程章节学习进度") @PostResource(name = "删除课程章节学习进度", path = "/couserChapterLearningRate/delete") @BusinessLog public ResponseData delete(@RequestParam String ids) { if (StrUtil.isBlank(ids)){ return new ErrorResponseData<>("500","id不能为空"); } LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper(); lambdaUpdateWrapper.in(CouserChapterLearningRate::getId, ListUtil.toList(ids.split(","))); this.couserChapterLearningRateService.update(lambdaUpdateWrapper); return new SuccessResponseData<>(); } /** * 修改课程章节学习进度 */ @ApiOperation("修改课程章节学习进度") @PostResource(name = "修改课程章节学习进度", path = "/couserChapterLearningRate/edit") @BusinessLog public ResponseData edit(@RequestBody CouserChapterLearningRate couserChapterLearningRate) { this.couserChapterLearningRateService.updateById(couserChapterLearningRate); return new SuccessResponseData<>(); } /** * 修改课程章节学习进度状态 */ @ApiOperation("修改课程章节学习进度状态") @PostResource(name = "修改课程章节学习进度状态", path = "/couserChapterLearningRate/updateStatus") @BusinessLog public ResponseData updateStatus(String ids, Integer status) { if (StrUtil.isBlank(ids)){ return new ErrorResponseData<>("500","id不能为空"); } LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper(); lambdaUpdateWrapper.in(CouserChapterLearningRate::getId, ListUtil.toList(ids.split(","))); this.couserChapterLearningRateService.update(lambdaUpdateWrapper); return new SuccessResponseData<>(); } /** * 获取课程章节学习进度详情 */ @ApiOperation("获取课程章节学习进度详情") @GetResource(name = "获取课程章节学习进度详情", path = "/couserChapterLearningRate/detail/{id}", requiredPermission = false) public ResponseData detail(@PathVariable("id") Long id) { CouserChapterLearningRate couserChapterLearningRate = this.couserChapterLearningRateService.getById(id); return new SuccessResponseData<>(couserChapterLearningRate); } /** * 获取课程章节学习进度列表 * */ @ApiOperation("获取课程章节学习进度列表") @GetResource(name = "获取课程章节学习进度列表", path = "/couserChapterLearningRate/list", requiredPermission = false) public ResponseData> list(CouserChapterLearningRate couserChapterLearningRate) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() .orderByDesc(CouserChapterLearningRate::getId); return new SuccessResponseData<>(couserChapterLearningRateService.list(lambdaQueryWrapper)); } /** * 获取课程章节学习进度列表(分页) */ @ApiOperation("获取课程章节学习进度列表(分页)") @GetResource(name = "获取课程章节学习进度列表(分页)", path = "/couserChapterLearningRate/page", requiredPermission = false) public ResponseData> page(CouserChapterLearningRate couserChapterLearningRate) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper() .orderByDesc(CouserChapterLearningRate::getId); Page page = this.couserChapterLearningRateService.page(PageFactory.defaultPage(), lambdaQueryWrapper); return new SuccessResponseData<>(PageResultFactory.createPageResult(page)); } }