mirror of
https://github.com/continew-org/continew-admin.git
synced 2025-09-12 06:57:13 +08:00
重构:初步封装后端 CRUD 公共组件(BaseController、BaseService、BaseServiceImpl)
This commit is contained in:
@@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
|
||||
import top.charles7c.cnadmin.common.config.properties.ContinewAdminProperties;
|
||||
import top.charles7c.cnadmin.common.config.properties.ContiNewAdminProperties;
|
||||
|
||||
/**
|
||||
* 启动程序
|
||||
@@ -51,7 +51,7 @@ import top.charles7c.cnadmin.common.config.properties.ContinewAdminProperties;
|
||||
@ComponentScan(basePackages = {"top.charles7c.cnadmin", "cn.hutool.extra.spring"})
|
||||
public class ContinewAdminApplication implements ApplicationRunner {
|
||||
|
||||
private final ContinewAdminProperties properties;
|
||||
private final ContiNewAdminProperties properties;
|
||||
private final ServerProperties serverProperties;
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
@@ -42,7 +42,7 @@ import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
|
||||
import top.charles7c.cnadmin.common.config.properties.CaptchaProperties;
|
||||
import top.charles7c.cnadmin.common.config.properties.ContinewAdminProperties;
|
||||
import top.charles7c.cnadmin.common.config.properties.ContiNewAdminProperties;
|
||||
import top.charles7c.cnadmin.common.consts.CacheConstants;
|
||||
import top.charles7c.cnadmin.common.model.vo.CaptchaVO;
|
||||
import top.charles7c.cnadmin.common.model.vo.R;
|
||||
@@ -64,7 +64,7 @@ import top.charles7c.cnadmin.common.util.validate.CheckUtils;
|
||||
public class CaptchaController {
|
||||
|
||||
private final CaptchaProperties captchaProperties;
|
||||
private final ContinewAdminProperties properties;
|
||||
private final ContiNewAdminProperties properties;
|
||||
|
||||
@Operation(summary = "获取图片验证码", description = "获取图片验证码(Base64编码,带图片格式:data:image/gif;base64)")
|
||||
@GetMapping("/img")
|
||||
|
@@ -16,19 +16,20 @@
|
||||
|
||||
package top.charles7c.cnadmin.webapi.controller.system;
|
||||
|
||||
import java.util.List;
|
||||
import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.enums.ParameterIn;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import top.charles7c.cnadmin.common.annotation.CrudRequestMapping;
|
||||
import top.charles7c.cnadmin.common.base.BaseController;
|
||||
import top.charles7c.cnadmin.common.model.request.UpdateStatusRequest;
|
||||
import top.charles7c.cnadmin.common.model.vo.R;
|
||||
import top.charles7c.cnadmin.system.model.query.DeptQuery;
|
||||
@@ -44,39 +45,22 @@ import top.charles7c.cnadmin.system.service.DeptService;
|
||||
*/
|
||||
@Tag(name = "部门管理 API")
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping(value = "/system/dept", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public class DeptController {
|
||||
@CrudRequestMapping(value = "/system/dept", api = {Api.ALL})
|
||||
public class DeptController
|
||||
extends BaseController<DeptService, DeptVO, DeptVO, DeptQuery, CreateDeptRequest, CreateDeptRequest> {
|
||||
|
||||
private final DeptService deptService;
|
||||
|
||||
@Operation(summary = "查询部门列表")
|
||||
@GetMapping
|
||||
@Override
|
||||
@Operation(summary = "查询部门列表树")
|
||||
public R<List<DeptVO>> list(@Validated DeptQuery query) {
|
||||
List<DeptVO> list = deptService.list(query);
|
||||
return R.ok(deptService.buildListTree(list));
|
||||
}
|
||||
|
||||
@Operation(summary = "新增部门")
|
||||
@PostMapping
|
||||
public R<Long> create(@Validated @RequestBody CreateDeptRequest request) {
|
||||
Long id = deptService.create(request);
|
||||
return R.ok("新增成功", id);
|
||||
List<DeptVO> list = baseService.list(query);
|
||||
return R.ok(baseService.buildListTree(list));
|
||||
}
|
||||
|
||||
@Operation(summary = "修改部门状态")
|
||||
@Parameter(name = "ids", description = "ID 列表", in = ParameterIn.PATH)
|
||||
@PatchMapping("/{ids}")
|
||||
public R updateStatus(@PathVariable List<Long> ids, @Validated @RequestBody UpdateStatusRequest request) {
|
||||
deptService.updateStatus(ids, request.getStatus());
|
||||
baseService.updateStatus(ids, request.getStatus());
|
||||
return R.ok(String.format("%s成功", request.getStatus().getDescription()));
|
||||
}
|
||||
|
||||
@Operation(summary = "删除部门")
|
||||
@Parameter(name = "ids", description = "ID 列表", in = ParameterIn.PATH)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R delete(@PathVariable List<Long> ids) {
|
||||
deptService.delete(ids);
|
||||
return R.ok("删除成功");
|
||||
}
|
||||
}
|
||||
|
@@ -160,6 +160,8 @@ spring:
|
||||
# 启用的环境
|
||||
# 配合 Maven Profile 选择不同配置文件进行启动,在 IntelliJ IDEA 右侧 Maven 工具窗口可以快速切换环境
|
||||
active: @profiles.active@
|
||||
main:
|
||||
allow-bean-definition-overriding: true
|
||||
## JSON 配置
|
||||
jackson:
|
||||
# 时区配置
|
||||
|
Reference in New Issue
Block a user