package com.ycl.jxkg.controller.admin;
|
|
import com.ycl.jxkg.group.Update;
|
import com.ycl.jxkg.group.Add;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import lombok.RequiredArgsConstructor;
|
import java.util.List;
|
import javax.validation.constraints.NotEmpty;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import com.ycl.jxkg.service.ClassesService;
|
import com.ycl.jxkg.base.Result;
|
import com.ycl.jxkg.domain.form.ClassesForm;
|
import com.ycl.jxkg.domain.query.ClassesQuery;
|
import org.springframework.web.bind.annotation.*;
|
|
/**
|
* 班级 前端控制器
|
*
|
* @author xp
|
* @since 2024-06-03
|
*/
|
@Validated
|
@RequiredArgsConstructor
|
@Api(value = "班级", tags = "班级管理")
|
@RestController
|
@RequestMapping("/api/admin/classes")
|
public class ClassesController {
|
|
private final ClassesService classesService;
|
|
@PostMapping
|
@ApiOperation(value = "添加", notes = "添加")
|
@PreAuthorize("hasAuthority('classes:add')")
|
public Result add(@RequestBody @Validated(Add.class) ClassesForm form) {
|
return classesService.add(form);
|
}
|
|
@PutMapping
|
@ApiOperation(value = "修改", notes = "修改")
|
@PreAuthorize("hasAuthority('classes:edit')")
|
public Result update(@RequestBody @Validated(Update.class) ClassesForm form) {
|
return classesService.update(form);
|
}
|
|
@DeleteMapping("/{id}")
|
@ApiOperation(value = "ID删除", notes = "ID删除")
|
@PreAuthorize("hasAuthority('classes:del')")
|
public Result removeById(@PathVariable("id") String id) {
|
return classesService.removeById(id);
|
}
|
|
@DeleteMapping("/batch")
|
@ApiOperation(value = "批量删除", notes = "批量删除")
|
@PreAuthorize("hasAuthority('classes:del:batch')")
|
public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) {
|
return classesService.remove(ids);
|
}
|
|
@GetMapping("/page")
|
@ApiOperation(value = "分页", notes = "分页")
|
@PreAuthorize("hasAuthority('classes:page')")
|
public Result page(ClassesQuery query) {
|
return classesService.page(query);
|
}
|
|
@PutMapping("/dissolution/{id}")
|
@ApiOperation(value = "解散", notes = "解散")
|
@PreAuthorize("hasAuthority('classes:dissolution')")
|
public Result dissolution(@PathVariable("id") Integer id) {
|
return classesService.dissolution(id);
|
}
|
|
@PutMapping("/recover/{id}")
|
@ApiOperation(value = "恢复正常", notes = "恢复正常")
|
@PreAuthorize("hasAuthority('classes:recover')")
|
public Result recover(@PathVariable("id") Integer id) {
|
return classesService.recover(id);
|
}
|
|
@GetMapping("/{id}")
|
@ApiOperation(value = "详情", notes = "详情")
|
@PreAuthorize("hasAuthority('classes:detail')")
|
public Result detail(@PathVariable("id") Integer id) {
|
return classesService.detail(id);
|
}
|
|
@GetMapping("/list")
|
@PreAuthorize("hasAuthority('classes:list')")
|
@ApiOperation(value = "列表", notes = "列表")
|
public Result list() {
|
return classesService.all();
|
}
|
|
@GetMapping("/my")
|
@PreAuthorize("hasAuthority('classes:my')")
|
@ApiOperation(value = "我的班级(老师的班级)", notes = "我的班级(老师的班级)")
|
public Result myClassList() {
|
return classesService.myClassList();
|
}
|
|
|
}
|