refactor: 统一系统枚举接口入参与返回体
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
package com.bruce.common.controller;
|
package com.bruce.common.controller;
|
||||||
|
|
||||||
import com.bruce.common.entity.SysEnum;
|
import com.bruce.common.domain.entity.SysEnum;
|
||||||
|
import com.bruce.common.domain.model.RequestResult;
|
||||||
|
import com.bruce.common.dto.request.SysEnumQueryRequest;
|
||||||
|
import com.bruce.common.dto.request.SysEnumSaveRequest;
|
||||||
import com.bruce.common.service.ISysEnumService;
|
import com.bruce.common.service.ISysEnumService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -11,7 +14,6 @@ import org.springframework.web.bind.annotation.PathVariable;
|
|||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -26,25 +28,25 @@ public class SysEnumController {
|
|||||||
|
|
||||||
@Operation(summary = "查询全部系统枚举")
|
@Operation(summary = "查询全部系统枚举")
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public List<SysEnum> list() {
|
public RequestResult<List<SysEnum>> list() {
|
||||||
return sysEnumService.list();
|
return RequestResult.success(sysEnumService.list());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "根据模块和类型查询系统枚举")
|
@Operation(summary = "根据模块和类型查询系统枚举")
|
||||||
@GetMapping("/query")
|
@PostMapping("/query")
|
||||||
public List<SysEnum> queryByCatalogAndType(@RequestParam String catalog, @RequestParam String type) {
|
public RequestResult<List<SysEnum>> queryByCatalogAndType(@RequestBody SysEnumQueryRequest request) {
|
||||||
return sysEnumService.listByCatalogAndType(catalog, type);
|
return RequestResult.success(sysEnumService.listByCatalogAndType(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "新增或修改系统枚举")
|
@Operation(summary = "新增或修改系统枚举")
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public boolean saveOrUpdate(@RequestBody SysEnum sysEnum) {
|
public RequestResult<Boolean> saveOrUpdate(@RequestBody SysEnumSaveRequest request) {
|
||||||
return sysEnumService.saveOrUpdate(sysEnum);
|
return RequestResult.success(sysEnumService.saveOrUpdate(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "删除系统枚举")
|
@Operation(summary = "删除系统枚举")
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public boolean deleteById(@PathVariable Long id) {
|
public RequestResult<Boolean> deleteById(@PathVariable Long id) {
|
||||||
return sysEnumService.removeById(id);
|
return RequestResult.success(sysEnumService.removeById(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.bruce.common.dto.request;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "系统枚举查询请求")
|
||||||
|
public class SysEnumQueryRequest {
|
||||||
|
|
||||||
|
@Schema(description = "模块目录")
|
||||||
|
private String catalog;
|
||||||
|
|
||||||
|
@Schema(description = "枚举类型")
|
||||||
|
private String type;
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package com.bruce.common.dto.request;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "系统枚举保存请求")
|
||||||
|
public class SysEnumSaveRequest {
|
||||||
|
|
||||||
|
@Schema(description = "主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "模块目录")
|
||||||
|
private String catalog;
|
||||||
|
|
||||||
|
@Schema(description = "枚举类型")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@Schema(description = "枚举名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Schema(description = "整型值")
|
||||||
|
private Integer value;
|
||||||
|
|
||||||
|
@Schema(description = "字符串值")
|
||||||
|
private String strvalue;
|
||||||
|
|
||||||
|
@Schema(description = "排序")
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
|
@Schema(description = "备注")
|
||||||
|
private String remark;
|
||||||
|
}
|
||||||
@@ -1,11 +1,15 @@
|
|||||||
package com.bruce.common.service;
|
package com.bruce.common.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.bruce.common.entity.SysEnum;
|
import com.bruce.common.domain.entity.SysEnum;
|
||||||
|
import com.bruce.common.dto.request.SysEnumQueryRequest;
|
||||||
|
import com.bruce.common.dto.request.SysEnumSaveRequest;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface ISysEnumService extends IService<SysEnum> {
|
public interface ISysEnumService extends IService<SysEnum> {
|
||||||
|
|
||||||
List<SysEnum> listByCatalogAndType(String catalog, String type);
|
List<SysEnum> listByCatalogAndType(SysEnumQueryRequest request);
|
||||||
|
|
||||||
|
boolean saveOrUpdate(SysEnumSaveRequest request);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
package com.bruce.common.service.impl;
|
package com.bruce.common.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.bruce.common.entity.SysEnum;
|
import com.bruce.common.domain.entity.SysEnum;
|
||||||
|
import com.bruce.common.dto.request.SysEnumQueryRequest;
|
||||||
|
import com.bruce.common.dto.request.SysEnumSaveRequest;
|
||||||
import com.bruce.common.mapper.SysEnumMapper;
|
import com.bruce.common.mapper.SysEnumMapper;
|
||||||
import com.bruce.common.service.ISysEnumService;
|
import com.bruce.common.service.ISysEnumService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -12,11 +15,32 @@ import java.util.List;
|
|||||||
public class SysEnumServiceImpl extends ServiceImpl<SysEnumMapper, SysEnum> implements ISysEnumService {
|
public class SysEnumServiceImpl extends ServiceImpl<SysEnumMapper, SysEnum> implements ISysEnumService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SysEnum> listByCatalogAndType(String catalog, String type) {
|
public List<SysEnum> listByCatalogAndType(SysEnumQueryRequest request) {
|
||||||
|
if (request == null) {
|
||||||
|
throw new IllegalArgumentException("查询请求不能为空");
|
||||||
|
}
|
||||||
return lambdaQuery()
|
return lambdaQuery()
|
||||||
.eq(SysEnum::getCatalog, catalog)
|
.eq(StringUtils.hasText(request.getCatalog()), SysEnum::getCatalog, request.getCatalog())
|
||||||
.eq(SysEnum::getType, type)
|
.eq(StringUtils.hasText(request.getType()), SysEnum::getType, request.getType())
|
||||||
.orderByAsc(SysEnum::getSort)
|
.orderByAsc(SysEnum::getSort)
|
||||||
.list();
|
.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean saveOrUpdate(SysEnumSaveRequest request) {
|
||||||
|
if (request == null) {
|
||||||
|
throw new IllegalArgumentException("保存请求不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
SysEnum sysEnum = new SysEnum();
|
||||||
|
sysEnum.setId(request.getId());
|
||||||
|
sysEnum.setCatalog(request.getCatalog());
|
||||||
|
sysEnum.setType(request.getType());
|
||||||
|
sysEnum.setName(request.getName());
|
||||||
|
sysEnum.setValue(request.getValue());
|
||||||
|
sysEnum.setStrvalue(request.getStrvalue());
|
||||||
|
sysEnum.setSort(request.getSort());
|
||||||
|
sysEnum.setRemark(request.getRemark());
|
||||||
|
return super.saveOrUpdate(sysEnum);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,14 +4,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.bruce.common.controller.SysEnumController;
|
import com.bruce.common.controller.SysEnumController;
|
||||||
import com.bruce.common.entity.SysEnum;
|
import com.bruce.common.domain.entity.SysEnum;
|
||||||
|
import com.bruce.common.domain.model.RequestResult;
|
||||||
|
import com.bruce.common.dto.request.SysEnumQueryRequest;
|
||||||
|
import com.bruce.common.dto.request.SysEnumSaveRequest;
|
||||||
import com.bruce.common.mapper.SysEnumMapper;
|
import com.bruce.common.mapper.SysEnumMapper;
|
||||||
import com.bruce.common.service.ISysEnumService;
|
import com.bruce.common.service.ISysEnumService;
|
||||||
import com.bruce.common.service.impl.SysEnumServiceImpl;
|
import com.bruce.common.service.impl.SysEnumServiceImpl;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
@@ -28,20 +33,30 @@ class SysEnumComponentStructureTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void sysEnumShouldExposeQueryMethodForCatalogAndType() throws NoSuchMethodException {
|
void sysEnumShouldExposeQueryMethodForCatalogAndType() throws NoSuchMethodException {
|
||||||
Method serviceMethod = ISysEnumService.class.getMethod("listByCatalogAndType", String.class, String.class);
|
Method serviceMethod = ISysEnumService.class.getMethod("listByCatalogAndType", SysEnumQueryRequest.class);
|
||||||
Method controllerMethod = SysEnumController.class.getMethod("queryByCatalogAndType", String.class, String.class);
|
Method controllerMethod = SysEnumController.class.getMethod("queryByCatalogAndType", SysEnumQueryRequest.class);
|
||||||
|
|
||||||
assertNotNull(serviceMethod);
|
assertNotNull(serviceMethod);
|
||||||
assertNotNull(controllerMethod);
|
assertNotNull(controllerMethod);
|
||||||
|
assertEquals(List.class, serviceMethod.getReturnType());
|
||||||
|
assertEquals(RequestResult.class, controllerMethod.getReturnType());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void sysEnumShouldExposeSaveOrUpdateAndDeleteInterfaces() throws NoSuchMethodException {
|
void sysEnumShouldExposeSaveOrUpdateAndDeleteInterfaces() throws NoSuchMethodException {
|
||||||
Method saveOrUpdateMethod = SysEnumController.class.getMethod("saveOrUpdate", SysEnum.class);
|
Method saveOrUpdateMethod = ISysEnumService.class.getMethod("saveOrUpdate", SysEnumSaveRequest.class);
|
||||||
|
Method controllerSaveOrUpdateMethod = SysEnumController.class.getMethod("saveOrUpdate", SysEnumSaveRequest.class);
|
||||||
Method deleteMethod = SysEnumController.class.getMethod("deleteById", Long.class);
|
Method deleteMethod = SysEnumController.class.getMethod("deleteById", Long.class);
|
||||||
|
Method listMethod = SysEnumController.class.getMethod("list");
|
||||||
|
|
||||||
assertNotNull(saveOrUpdateMethod);
|
assertNotNull(saveOrUpdateMethod);
|
||||||
|
assertNotNull(controllerSaveOrUpdateMethod);
|
||||||
assertNotNull(deleteMethod);
|
assertNotNull(deleteMethod);
|
||||||
|
assertNotNull(listMethod);
|
||||||
|
assertEquals(boolean.class, saveOrUpdateMethod.getReturnType());
|
||||||
|
assertEquals(RequestResult.class, controllerSaveOrUpdateMethod.getReturnType());
|
||||||
|
assertEquals(RequestResult.class, deleteMethod.getReturnType());
|
||||||
|
assertEquals(RequestResult.class, listMethod.getReturnType());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user