feat: tool模块基础crud
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import org.nl.common.annotation.CommonLog;
|
||||
import org.nl.common.pojo.CommonResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.nl.tool.mock.modular.mockconfig.entity.MockConfig;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigAddParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigEditParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigIdParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigPageParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.service.MockConfigService;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Mock配置表控制器
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
@Tag(name = "Mock配置表控制器")
|
||||
@RestController
|
||||
@Validated
|
||||
public class MockConfigController {
|
||||
|
||||
@Resource
|
||||
private MockConfigService mockConfigService;
|
||||
|
||||
/**
|
||||
* 获取Mock配置表分页
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
@Operation(summary = "获取Mock配置表分页")
|
||||
@SaCheckPermission("/mock/mockconfig/page")
|
||||
@GetMapping("/mock/mockconfig/page")
|
||||
public CommonResult<Page<MockConfig>> page(MockConfigPageParam mockConfigPageParam) {
|
||||
return CommonResult.data(mockConfigService.page(mockConfigPageParam));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加Mock配置表
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
@Operation(summary = "添加Mock配置表")
|
||||
@CommonLog("添加Mock配置表")
|
||||
@SaCheckPermission("/mock/mockconfig/add")
|
||||
@PostMapping("/mock/mockconfig/add")
|
||||
public CommonResult<String> add(@RequestBody @Valid MockConfigAddParam mockConfigAddParam) {
|
||||
mockConfigService.add(mockConfigAddParam);
|
||||
return CommonResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑Mock配置表
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
@Operation(summary = "编辑Mock配置表")
|
||||
@CommonLog("编辑Mock配置表")
|
||||
@SaCheckPermission("/mock/mockconfig/edit")
|
||||
@PostMapping("/mock/mockconfig/edit")
|
||||
public CommonResult<String> edit(@RequestBody @Valid MockConfigEditParam mockConfigEditParam) {
|
||||
mockConfigService.edit(mockConfigEditParam);
|
||||
return CommonResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除Mock配置表
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
@Operation(summary = "删除Mock配置表")
|
||||
@CommonLog("删除Mock配置表")
|
||||
@SaCheckPermission("/mock/mockconfig/delete")
|
||||
@PostMapping("/mock/mockconfig/delete")
|
||||
public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
|
||||
List<MockConfigIdParam> mockConfigIdParamList) {
|
||||
mockConfigService.delete(mockConfigIdParamList);
|
||||
return CommonResult.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取Mock配置表详情
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
@Operation(summary = "获取Mock配置表详情")
|
||||
@SaCheckPermission("/mock/mockconfig/detail")
|
||||
@GetMapping("/mock/mockconfig/detail")
|
||||
public CommonResult<MockConfig> detail(@Valid MockConfigIdParam mockConfigIdParam) {
|
||||
return CommonResult.data(mockConfigService.detail(mockConfigIdParam));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Mock配置表实体
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("tool_mock_config")
|
||||
public class MockConfig {
|
||||
|
||||
/** 主键ID */
|
||||
@TableId
|
||||
@Schema(description = "主键ID")
|
||||
private String id;
|
||||
|
||||
/** 接口路径,如:/api/user/info */
|
||||
@Schema(description = "接口路径,如:/api/user/info")
|
||||
private String apiPath;
|
||||
|
||||
/** 请求方法:GET, POST, PUT, DELETE */
|
||||
@Schema(description = "请求方法:GET, POST, PUT, DELETE")
|
||||
private String apiMethod;
|
||||
|
||||
/** 返回的JSON数据 */
|
||||
@Schema(description = "返回的JSON数据")
|
||||
private String responseJson;
|
||||
|
||||
/** 是否启用:true-启用,false-禁用 */
|
||||
@Schema(description = "是否启用:true-启用,false-禁用")
|
||||
private Boolean isEnabled;
|
||||
|
||||
/** 创建时间 */
|
||||
@Schema(description = "创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
|
||||
/** 更新时间 */
|
||||
@Schema(description = "更新时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* Mock配置表枚举
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Getter
|
||||
public enum MockConfigEnum {
|
||||
|
||||
/** 测试 */
|
||||
TEST("TEST");
|
||||
|
||||
private final String value;
|
||||
|
||||
MockConfigEnum(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.nl.tool.mock.modular.mockconfig.entity.MockConfig;
|
||||
|
||||
/**
|
||||
* Mock配置表Mapper接口
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
public interface MockConfigMapper extends BaseMapper<MockConfig> {
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.nl.tool.mock.modular.mockconfig.mapper.MockConfigMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.param;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Mock配置表添加参数
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MockConfigAddParam {
|
||||
|
||||
/** 接口路径,如:/api/user/info */
|
||||
@Schema(description = "接口路径,如:/api/user/info")
|
||||
private String apiPath;
|
||||
|
||||
/** 请求方法:GET, POST, PUT, DELETE */
|
||||
@Schema(description = "请求方法:GET, POST, PUT, DELETE")
|
||||
private String apiMethod;
|
||||
|
||||
/** 返回的JSON数据 */
|
||||
@Schema(description = "返回的JSON数据")
|
||||
private String responseJson;
|
||||
|
||||
/** 是否启用:true-启用,false-禁用 */
|
||||
@Schema(description = "是否启用:true-启用,false-禁用")
|
||||
private Boolean isEnabled;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.param;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Mock配置表编辑参数
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MockConfigEditParam {
|
||||
|
||||
/** 主键ID */
|
||||
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "id不能为空")
|
||||
private String id;
|
||||
|
||||
/** 接口路径,如:/api/user/info */
|
||||
@Schema(description = "接口路径,如:/api/user/info")
|
||||
private String apiPath;
|
||||
|
||||
/** 请求方法:GET, POST, PUT, DELETE */
|
||||
@Schema(description = "请求方法:GET, POST, PUT, DELETE")
|
||||
private String apiMethod;
|
||||
|
||||
/** 返回的JSON数据 */
|
||||
@Schema(description = "返回的JSON数据")
|
||||
private String responseJson;
|
||||
|
||||
/** 是否启用:true-启用,false-禁用 */
|
||||
@Schema(description = "是否启用:true-启用,false-禁用")
|
||||
private Boolean isEnabled;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.param;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* Mock配置表Id参数
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MockConfigIdParam {
|
||||
|
||||
/** 主键ID */
|
||||
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotBlank(message = "id不能为空")
|
||||
private String id;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.param;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Mock配置表查询参数
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MockConfigPageParam {
|
||||
|
||||
/** 当前页 */
|
||||
@Schema(description = "当前页码")
|
||||
private Integer current;
|
||||
|
||||
/** 每页条数 */
|
||||
@Schema(description = "每页条数")
|
||||
private Integer size;
|
||||
|
||||
/** 排序字段 */
|
||||
@Schema(description = "排序字段,字段驼峰名称,如:userName")
|
||||
private String sortField;
|
||||
|
||||
/** 排序方式 */
|
||||
@Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
|
||||
private String sortOrder;
|
||||
|
||||
/** 关键词 */
|
||||
@Schema(description = "关键词")
|
||||
private String searchKey;
|
||||
|
||||
/** 接口路径,如:/api/user/info */
|
||||
@Schema(description = "接口路径,如:/api/user/info")
|
||||
private String apiPath;
|
||||
|
||||
/** 请求方法:GET, POST, PUT, DELETE */
|
||||
@Schema(description = "请求方法:GET, POST, PUT, DELETE")
|
||||
private String apiMethod;
|
||||
|
||||
/** 是否启用:true-启用,false-禁用 */
|
||||
@Schema(description = "是否启用:true-启用,false-禁用")
|
||||
private Boolean isEnabled;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.tool.mock.modular.mockconfig.entity.MockConfig;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigAddParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigEditParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigIdParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigPageParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Mock配置表Service接口
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
public interface MockConfigService extends IService<MockConfig> {
|
||||
|
||||
/**
|
||||
* 获取Mock配置表分页
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
Page<MockConfig> page(MockConfigPageParam mockConfigPageParam);
|
||||
|
||||
/**
|
||||
* 添加Mock配置表
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
void add(MockConfigAddParam mockConfigAddParam);
|
||||
|
||||
/**
|
||||
* 编辑Mock配置表
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
void edit(MockConfigEditParam mockConfigEditParam);
|
||||
|
||||
/**
|
||||
* 删除Mock配置表
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
void delete(List<MockConfigIdParam> mockConfigIdParamList);
|
||||
|
||||
/**
|
||||
* 获取Mock配置表详情
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
*/
|
||||
MockConfig detail(MockConfigIdParam mockConfigIdParam);
|
||||
|
||||
/**
|
||||
* 获取Mock配置表详情
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
MockConfig queryEntity(String id);
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* Copyright [2022] [https://www.xiaonuo.vip]
|
||||
*
|
||||
* Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
|
||||
*
|
||||
* 1.请不要删除和修改根目录下的LICENSE文件。
|
||||
* 2.请不要删除和修改Snowy源码头部的版权声明。
|
||||
* 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
|
||||
* 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
|
||||
* 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
|
||||
* 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
|
||||
*/
|
||||
package org.nl.tool.mock.modular.mockconfig.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.nl.common.enums.CommonSortOrderEnum;
|
||||
import org.nl.common.exception.CommonException;
|
||||
import org.nl.common.page.CommonPageRequest;
|
||||
import org.nl.tool.mock.modular.mockconfig.entity.MockConfig;
|
||||
import org.nl.tool.mock.modular.mockconfig.mapper.MockConfigMapper;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigAddParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigEditParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigIdParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.param.MockConfigPageParam;
|
||||
import org.nl.tool.mock.modular.mockconfig.service.MockConfigService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Mock配置表Service接口实现类
|
||||
*
|
||||
* @author liyongde
|
||||
* @date 2026/01/28 17:50
|
||||
**/
|
||||
@Service
|
||||
public class MockConfigServiceImpl extends ServiceImpl<MockConfigMapper, MockConfig> implements MockConfigService {
|
||||
|
||||
@Override
|
||||
public Page<MockConfig> page(MockConfigPageParam mockConfigPageParam) {
|
||||
QueryWrapper<MockConfig> queryWrapper = new QueryWrapper<MockConfig>().checkSqlInjection();
|
||||
if(ObjectUtil.isNotEmpty(mockConfigPageParam.getApiPath())) {
|
||||
queryWrapper.lambda().eq(MockConfig::getApiPath, mockConfigPageParam.getApiPath());
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(mockConfigPageParam.getApiMethod())) {
|
||||
queryWrapper.lambda().eq(MockConfig::getApiMethod, mockConfigPageParam.getApiMethod());
|
||||
}
|
||||
if(ObjectUtil.isNotEmpty(mockConfigPageParam.getIsEnabled())) {
|
||||
queryWrapper.lambda().eq(MockConfig::getIsEnabled, mockConfigPageParam.getIsEnabled());
|
||||
}
|
||||
if(ObjectUtil.isAllNotEmpty(mockConfigPageParam.getSortField(), mockConfigPageParam.getSortOrder())) {
|
||||
CommonSortOrderEnum.validate(mockConfigPageParam.getSortOrder());
|
||||
queryWrapper.orderBy(true, mockConfigPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
||||
StrUtil.toUnderlineCase(mockConfigPageParam.getSortField()));
|
||||
} else {
|
||||
queryWrapper.lambda().orderByAsc(MockConfig::getId);
|
||||
}
|
||||
return this.page(CommonPageRequest.defaultPage(), queryWrapper);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void add(MockConfigAddParam mockConfigAddParam) {
|
||||
MockConfig mockConfig = BeanUtil.toBean(mockConfigAddParam, MockConfig.class);
|
||||
this.save(mockConfig);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void edit(MockConfigEditParam mockConfigEditParam) {
|
||||
MockConfig mockConfig = this.queryEntity(mockConfigEditParam.getId());
|
||||
BeanUtil.copyProperties(mockConfigEditParam, mockConfig);
|
||||
this.updateById(mockConfig);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public void delete(List<MockConfigIdParam> mockConfigIdParamList) {
|
||||
// 执行删除
|
||||
this.removeByIds(CollStreamUtil.toList(mockConfigIdParamList, MockConfigIdParam::getId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public MockConfig detail(MockConfigIdParam mockConfigIdParam) {
|
||||
return this.queryEntity(mockConfigIdParam.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MockConfig queryEntity(String id) {
|
||||
MockConfig mockConfig = this.getById(id);
|
||||
if(ObjectUtil.isEmpty(mockConfig)) {
|
||||
throw new CommonException("Mock配置表不存在,id值为:{}", id);
|
||||
}
|
||||
return mockConfig;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user