package com.zhongzheng.controller.grade; import com.zhongzheng.common.annotation.Log; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.enums.BusinessType; import com.zhongzheng.common.utils.DateUtils; import com.zhongzheng.common.utils.ServletUtils; import com.zhongzheng.framework.web.service.WxTokenService; import com.zhongzheng.modules.grade.bo.*; import com.zhongzheng.modules.grade.service.*; import com.zhongzheng.modules.grade.vo.*; import com.zhongzheng.modules.order.bo.OrderAddBo; import com.zhongzheng.modules.user.entity.ClientLoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 班级Controller * * @author ruoyi * @date 2021-11-10 */ @Api(value = "班级控制器", tags = {"班级管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/grade/grade") public class ClassGradeController extends BaseController { private final IClassGradeService iClassGradeService; private final IClassGradeInterfaceService iClassGradeInterfaceService; private final IClassGradeSysService iClassGradeSysService; private final IClassGradeUserService iClassGradeUserService; private final IUserPeriodService iUserPeriodService; private final IUserPeriodStatusService userPeriodStatusService; private final WxTokenService wxTokenService; /** * 查询班级列表 */ @ApiOperation("查询班级列表") @GetMapping("/list") public TableDataInfo list(ClassGradeQueryBo bo) { startPage(); bo.setStatus(new ArrayList(Arrays.asList(1))); bo.setPastDue(1L); List list = iClassGradeService.queryList(bo); return getDataTable(list); } /** * 查询班级 */ @ApiOperation("查询班级") @GetMapping("/class/{gradeId}") public AjaxResult getClassGradeVo(@PathVariable("gradeId")Long gradeId) { ClassGradeVo vo = iClassGradeService.getClassGradeVo(gradeId); return AjaxResult.success(vo); } /** * 获取班级详细信息 */ @ApiOperation("获取班级详细信息") @GetMapping("/{classId}") public AjaxResult getInfo(@PathVariable("classId") Long classId) { return AjaxResult.success(iClassGradeService.queryById(classId)); } /** * 新增订单 */ @ApiOperation("选新班") @PostMapping("/changeGrade") public AjaxResult changeGrade(@RequestBody ClassGradeUserChangeBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); return AjaxResult.success(iClassGradeUserService.changeGrade(bo)); } /** * 检查用户是否学习过节 */ @ApiOperation("检查用户是否学习过节") @PreAuthorize("@ss.hasPermi('grade:user:list')") @GetMapping("/checkGoodsStudy") public AjaxResult checkGoodsStudy(UserPeriodQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); return AjaxResult.success(iUserPeriodService.checkGoodsStudy(bo)); } @ApiOperation("检查二建二造用户是否学完必修") @PreAuthorize("@ss.hasPermi('grade:user:list')") @GetMapping("/checkFinishRequiredCourse") public AjaxResult checkFinishRequiredCourse(ClassGradeUserQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); return AjaxResult.success(iClassGradeUserService.checkFinishRequiredCourse(bo)); } }