huangzhen
2023-09-26 28231163c688c379a688ce6878a1126ee218aa52
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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.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() {
        startPage();
        List<GetTeacherRespDTO> list = eduResourcesManagerService.selectTeacherAll();
        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 = LocalDateTime.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 = LocalDateTime.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);
    }
}