package com.xjrsoft.module.student.controller; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xjrsoft.common.model.result.RT; import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; import com.xjrsoft.module.banding.dto.ChangeClassDto; import com.xjrsoft.module.student.dto.BaseStudentSimpleInfoDto; import com.xjrsoft.module.student.dto.BaseStudentInfoDetailDto; import com.xjrsoft.module.student.dto.BaseStudentInfoPageDto; import com.xjrsoft.module.student.dto.UpdateBaseStudentInfoDto; import com.xjrsoft.module.student.entity.BaseStudentUser; import com.xjrsoft.module.student.service.IBaseStudentSchoolRollService; import com.xjrsoft.module.student.service.IStudentManagerService; import com.xjrsoft.module.student.vo.BaseStudentInfoDetailVo; import com.xjrsoft.module.student.vo.BaseStudentInfoPageDataVo; import com.xjrsoft.module.student.vo.BaseStudentInfoPageVo; import com.xjrsoft.module.student.vo.BaseStudentSompleInfoVo; import com.xjrsoft.module.student.vo.MobileClassStatisticsVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import java.util.List; /** * @title: 学生职务设置 * @Author dzx * @Date: 2023-11-13 * @Version 1.0 */ @RestController @RequestMapping("/student" + "/basestudentinfo") @Api(value = "/student" + "/basestudentinfo",tags = "学生信息修改管理") @AllArgsConstructor public class BaseStudentInfoController { private final IStudentManagerService studentManagerService; private final IBaseStudentSchoolRollService baseStudentSchoolRollService; @GetMapping(value = "/mobile-page") @ApiOperation(value="学生列表(分页)") @SaCheckPermission("basestudentpost:detail") public RT> mobilePage(@Valid BaseStudentInfoPageDto dto){ Page mobilePage = baseStudentSchoolRollService.getMobilePage(new Page<>(dto.getLimit(), dto.getSize()), dto); for (BaseStudentInfoPageVo record : mobilePage.getRecords()) { BaseStudentUser user = studentManagerService.getById(record.getId()); record.setAvatar(user.getAvatar()); } PageOutput pageOutput = ConventPage.getPageOutput(mobilePage, BaseStudentInfoPageVo.class); return RT.ok(pageOutput); } @GetMapping(value = "/mobile-page-statistics") @ApiOperation(value="学生列表人数统计") @SaCheckPermission("basestudentpost:detail") public RT mobilePageStatistics(@Valid BaseStudentInfoPageDto dto){ BaseStudentInfoPageDataVo result = baseStudentSchoolRollService.getMobilePageStatistics(dto); return RT.ok(result); } @GetMapping(value = "/mobile-class-statistics") @ApiOperation(value="班级统计(移动端)") @SaCheckPermission("basestudentpost:detail") public RT mobileClassStatistics(@Valid BaseStudentInfoPageDto dto){ MobileClassStatisticsVo result = baseStudentSchoolRollService.getMobileClassStatistics(dto); return RT.ok(result); } @PutMapping @ApiOperation(value = "修改学生信息") @SaCheckPermission("basestudentpost:edit") public RT update(@Valid @RequestBody UpdateBaseStudentInfoDto dto){ return RT.ok(baseStudentSchoolRollService.updateInfo(dto)); } @GetMapping(value = "/info") @ApiOperation(value="根据id查询详情信息") @SaCheckPermission("room:detail") public RT info(@RequestParam Long id){ BaseStudentInfoDetailDto dto = new BaseStudentInfoDetailDto(); dto.setId(id); BaseStudentInfoDetailVo detailVo = baseStudentSchoolRollService.getInfoById(dto); if (detailVo == null) { return RT.error("找不到此数据!"); } return RT.ok(BeanUtil.toBean(detailVo, BaseStudentInfoDetailVo.class)); } @GetMapping(value = "/studentinfoByKeyWord") @ApiOperation(value="根据姓名或者身份证号查询详情信息") @SaCheckPermission("room:detail") public RT> info(@Valid BaseStudentSimpleInfoDto dto){ List infos = baseStudentSchoolRollService.getInfosByParam(dto); return RT.ok(infos); } }