package com.gkhy.exam.coalmine.controller; import com.gkhy.exam.coalmine.entity.TeacherManage; import com.gkhy.exam.coalmine.model.dto.req.TeacherManageAddReqDTO; import com.gkhy.exam.coalmine.model.dto.req.TeacherManageUpdateReqDTO; import com.gkhy.exam.coalmine.model.dto.req.TeacherManageUpdateStatusReqDTO; import com.gkhy.exam.coalmine.model.dto.resp.GetTeacherRespDTO; import com.gkhy.exam.coalmine.service.EduResourcesManagerService; import com.gkhy.exam.coalmine.service.baseService.TeacherManageService; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.page.TableDataInfo; import io.lettuce.core.StrAlgoArgs; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.constraints.NotNull; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; import static com.ruoyi.common.core.domain.AjaxResult.success; /** * @author hz * @since 2023-09-11 14:26:20 */ @Api(tags = "教师管理") @RestController @RequestMapping("/teacherManage") public class TeacherManageController extends BaseController { /** * 服务对象 */ @Resource private EduResourcesManagerService eduResourcesManagerService; /** * 分页查询所有数据 */ @ApiOperation(value = "分页获取教师管理",httpMethod = "GET") @GetMapping("/page") public TableDataInfo selectTeacherAll(@RequestParam @NotNull(message = "isCm不能为空") int isCm) { List list = eduResourcesManagerService.selectTeacherAll(isCm); return getDataTable(list); } @ApiOperation(value = "分页获取教师管理通过工种类型",httpMethod = "GET") @GetMapping("/pageByCondition") public TableDataInfo selectTeacherByCondition(@RequestParam @NotNull(message = "isCm不能为空") int isCm ,@RequestParam Long operateTypeId) { List list = eduResourcesManagerService.selectTeacherByCondition(isCm,operateTypeId); return getDataTable(list); } /** * 通过主键查询单条数据 */ @ApiOperation(value = "根据id获取教师管理",httpMethod = "GET") @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "教师id",required = true) @GetMapping("{id}") public AjaxResult selectOne(@PathVariable Long id) { return this.eduResourcesManagerService.getTeacherById(id); } /** * 修改状态 */ @PostMapping("/updateStatus") @ApiOperation(value = "开启停用状态",httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true), @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true) }) public AjaxResult updateStatus(@Validated @RequestBody TeacherManageUpdateStatusReqDTO reqDTO) { return this.eduResourcesManagerService.updateStatus(reqDTO); } /** * 新增数据 */ @PostMapping("/add") @ApiOperation(value = "新增教师",httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "name",dataTypeClass = String.class, value = "姓名",required = true), @ApiImplicitParam(name = "sex", dataTypeClass = String.class,value = "性别"), @ApiImplicitParam(name = "code", dataTypeClass = String.class,value = "身份证",required = true), @ApiImplicitParam(name = "mobilePhone", dataTypeClass = String.class,value = "手机号",required = true), @ApiImplicitParam(name = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"), @ApiImplicitParam(name = "qaAttachment", dataTypeClass = Long.class,value = "资质照id"), @ApiImplicitParam(name = "jobTitle", dataTypeClass = String.class,value = "职称"), @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true), @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDate.class,value = "过期时间",required = true), @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是",required = true), @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true), @ApiImplicitParam(name = "description", dataTypeClass = String.class,value = "描述"), @ApiImplicitParam(name = "operateTypes", dataTypeClass = List.class,value = "工种详情") }) public AjaxResult insert(@Validated @RequestBody TeacherManageAddReqDTO reqDTO) { return this.eduResourcesManagerService.saveTeacher(reqDTO); } /** * 修改数据 */ @ApiOperation(value = "修改教师数据",httpMethod = "POST") @ApiImplicitParams({ @ApiImplicitParam(name = "id",dataTypeClass = Long.class, value = "id",required = true), @ApiImplicitParam(name = "name",dataTypeClass = String.class, value = "姓名",required = true), @ApiImplicitParam(name = "sex", dataTypeClass = String.class,value = "性别"), @ApiImplicitParam(name = "code", dataTypeClass = String.class,value = "身份证",required = true), @ApiImplicitParam(name = "mobilePhone", dataTypeClass = String.class,value = "手机号",required = true), @ApiImplicitParam(name = "photoAttachment", dataTypeClass = Long.class,value = "证件照id"), @ApiImplicitParam(name = "qaAttachment", dataTypeClass = Long.class,value = "资质照id"), @ApiImplicitParam(name = "jobTitle", dataTypeClass = String.class,value = "职称"), @ApiImplicitParam(name = "eduLevel", dataTypeClass = String.class,value = "最高学历",required = true), @ApiImplicitParam(name = "expiredTime", dataTypeClass = LocalDate.class,value = "过期时间",required = true), @ApiImplicitParam(name = "isCm", dataTypeClass = Byte.class,value = "是否为煤矿:0为非,1是",required = true), @ApiImplicitParam(name = "status", dataTypeClass = String.class,value = "状态不能为空:0-正常,1-停用",required = true), @ApiImplicitParam(name = "description", dataTypeClass = String.class,value = "描述"), @ApiImplicitParam(name = "operateTypes", dataTypeClass = List.class,value = "工种详情") }) @PostMapping("/update") public AjaxResult update(@Validated @RequestBody TeacherManageUpdateReqDTO reqDTO) { return this.eduResourcesManagerService.updateTeacherById(reqDTO); } /** * 删除数据 */ @ApiOperation(value = "根据id删除教师",httpMethod = "GET") @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "教师id",required = true) @GetMapping("/del/{id}") public AjaxResult delete(@PathVariable @NotNull(message = "id不能为空") Long id) { return this.eduResourcesManagerService.removeTeacherById(id); } /** * 根据id删除与之关联的工种信息 */ @ApiOperation(value = "根据id删除与之关联的工种信息",httpMethod = "GET") @ApiImplicitParam(name = "id",dataTypeClass = Long.class,value = "关联的工种id",required = true) @GetMapping("/operateType/del/{id}") public AjaxResult deleteTeacherBindOperateType(@PathVariable @NotNull(message = "id不能为空") Long id) { return this.eduResourcesManagerService.deleteTeacherBindOperateType(id); } }