mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-26 01:01:52 +08:00
1. 优化 config 模板
This commit is contained in:
parent
00d22bf6d7
commit
0e28ab169c
@ -2,24 +2,12 @@
|
|||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="参数名称" prop="name">
|
<el-form-item label="参数名称" prop="name">
|
||||||
<el-input
|
<el-input v-model="queryParams.name" placeholder="请输入参数名称" clearable size="small" style="width: 240px"
|
||||||
v-model="queryParams.name"
|
@keyup.enter.native="handleQuery"/>
|
||||||
placeholder="请输入参数名称"
|
|
||||||
clearable
|
|
||||||
size="small"
|
|
||||||
style="width: 240px"
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="参数键名" prop="key">
|
<el-form-item label="参数键名" prop="key">
|
||||||
<el-input
|
<el-input v-model="queryParams.key" placeholder="请输入参数键名" clearable size="small" style="width: 240px"
|
||||||
v-model="queryParams.key"
|
@keyup.enter.native="handleQuery"/>
|
||||||
placeholder="请输入参数键名"
|
|
||||||
clearable
|
|
||||||
size="small"
|
|
||||||
style="width: 240px"
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="系统内置" prop="type">
|
<el-form-item label="系统内置" prop="type">
|
||||||
<el-select v-model="queryParams.type" placeholder="系统内置" clearable size="small">
|
<el-select v-model="queryParams.type" placeholder="系统内置" clearable size="small">
|
||||||
@ -56,7 +44,7 @@
|
|||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
v-hasPermi="['infra:config:add']"
|
v-hasPermi="['infra:config:create']"
|
||||||
>新增</el-button>
|
>新增</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
@ -95,31 +83,15 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
size="mini"
|
v-hasPermi="['infra:config:update']">修改</el-button>
|
||||||
type="text"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
icon="el-icon-edit"
|
v-hasPermi="['infra:config:delete']">删除</el-button>
|
||||||
@click="handleUpdate(scope.row)"
|
|
||||||
v-hasPermi="['infra:config:edit']"
|
|
||||||
>修改</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleDelete(scope.row)"
|
|
||||||
v-hasPermi="['infra:config:remove']"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList"/>
|
||||||
v-show="total>0"
|
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNo"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 添加或修改参数配置对话框 -->
|
<!-- 添加或修改参数配置对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
|
@ -3,7 +3,6 @@ package cn.iocoder.dashboard.modules.infra.controller.config;
|
|||||||
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
import cn.iocoder.dashboard.common.pojo.CommonResult;
|
||||||
import cn.iocoder.dashboard.common.pojo.PageResult;
|
import cn.iocoder.dashboard.common.pojo.PageResult;
|
||||||
import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
|
import cn.iocoder.dashboard.framework.excel.core.util.ExcelUtils;
|
||||||
import cn.iocoder.dashboard.framework.idempotent.core.annotation.Idempotent;
|
|
||||||
import cn.iocoder.dashboard.framework.logger.operatelog.core.annotations.OperateLog;
|
import cn.iocoder.dashboard.framework.logger.operatelog.core.annotations.OperateLog;
|
||||||
import cn.iocoder.dashboard.modules.infra.controller.config.vo.*;
|
import cn.iocoder.dashboard.modules.infra.controller.config.vo.*;
|
||||||
import cn.iocoder.dashboard.modules.infra.convert.config.InfConfigConvert;
|
import cn.iocoder.dashboard.modules.infra.convert.config.InfConfigConvert;
|
||||||
@ -19,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -44,18 +42,17 @@ public class InfConfigController {
|
|||||||
return success(configService.createConfig(reqVO));
|
return success(configService.createConfig(reqVO));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改参数配置")
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
|
@ApiOperation("修改参数配置")
|
||||||
@PreAuthorize("@ss.hasPermission('infra:config:update')")
|
@PreAuthorize("@ss.hasPermission('infra:config:update')")
|
||||||
@Idempotent(timeout = 60)
|
|
||||||
public CommonResult<Boolean> updateConfig(@Valid @RequestBody InfConfigUpdateReqVO reqVO) {
|
public CommonResult<Boolean> updateConfig(@Valid @RequestBody InfConfigUpdateReqVO reqVO) {
|
||||||
configService.updateConfig(reqVO);
|
configService.updateConfig(reqVO);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
@ApiOperation("删除参数配置")
|
@ApiOperation("删除参数配置")
|
||||||
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
|
@ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class)
|
||||||
@DeleteMapping("/delete")
|
|
||||||
@PreAuthorize("@ss.hasPermission('infra:config:delete')")
|
@PreAuthorize("@ss.hasPermission('infra:config:delete')")
|
||||||
public CommonResult<Boolean> deleteConfig(@RequestParam("id") Long id) {
|
public CommonResult<Boolean> deleteConfig(@RequestParam("id") Long id) {
|
||||||
configService.deleteConfig(id);
|
configService.deleteConfig(id);
|
||||||
@ -70,9 +67,9 @@ public class InfConfigController {
|
|||||||
return success(InfConfigConvert.INSTANCE.convert(configService.getConfig(id)));
|
return success(InfConfigConvert.INSTANCE.convert(configService.getConfig(id)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/get-value-by-key")
|
||||||
@ApiOperation(value = "根据参数键名查询参数值", notes = "敏感配置,不允许返回给前端")
|
@ApiOperation(value = "根据参数键名查询参数值", notes = "敏感配置,不允许返回给前端")
|
||||||
@ApiImplicitParam(name = "key", value = "参数键", required = true, example = "yunai.biz.username", dataTypeClass = String.class)
|
@ApiImplicitParam(name = "key", value = "参数键", required = true, example = "yunai.biz.username", dataTypeClass = String.class)
|
||||||
@GetMapping(value = "/get-value-by-key")
|
|
||||||
public CommonResult<String> getConfigKey(@RequestParam("key") String key) {
|
public CommonResult<String> getConfigKey(@RequestParam("key") String key) {
|
||||||
InfConfigDO config = configService.getConfigByKey(key);
|
InfConfigDO config = configService.getConfigByKey(key);
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
|
@ -14,20 +14,21 @@ import java.util.List;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface InfConfigMapper extends BaseMapperX<InfConfigDO> {
|
public interface InfConfigMapper extends BaseMapperX<InfConfigDO> {
|
||||||
|
|
||||||
default PageResult<InfConfigDO> selectPage(InfConfigPageReqVO reqVO) {
|
|
||||||
return selectPage(reqVO,
|
|
||||||
new QueryWrapperX<InfConfigDO>().likeIfPresent("name", reqVO.getName())
|
|
||||||
.likeIfPresent("`key`", reqVO.getKey())
|
|
||||||
.eqIfPresent("`type`", reqVO.getType())
|
|
||||||
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
|
|
||||||
}
|
|
||||||
|
|
||||||
default InfConfigDO selectByKey(String key) {
|
default InfConfigDO selectByKey(String key) {
|
||||||
return selectOne(new QueryWrapper<InfConfigDO>().eq("`key`", key));
|
return selectOne(new QueryWrapper<InfConfigDO>().eq("`key`", key));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default PageResult<InfConfigDO> selectPage(InfConfigPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new QueryWrapperX<InfConfigDO>()
|
||||||
|
.likeIfPresent("name", reqVO.getName())
|
||||||
|
.likeIfPresent("`key`", reqVO.getKey())
|
||||||
|
.eqIfPresent("`type`", reqVO.getType())
|
||||||
|
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
|
||||||
|
}
|
||||||
|
|
||||||
default List<InfConfigDO> selectList(InfConfigExportReqVO reqVO) {
|
default List<InfConfigDO> selectList(InfConfigExportReqVO reqVO) {
|
||||||
return selectList(new QueryWrapperX<InfConfigDO>().likeIfPresent("name", reqVO.getName())
|
return selectList(new QueryWrapperX<InfConfigDO>()
|
||||||
|
.likeIfPresent("name", reqVO.getName())
|
||||||
.likeIfPresent("`key`", reqVO.getKey())
|
.likeIfPresent("`key`", reqVO.getKey())
|
||||||
.eqIfPresent("`type`", reqVO.getType())
|
.eqIfPresent("`type`", reqVO.getType())
|
||||||
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
|
.betweenIfPresent("create_time", reqVO.getBeginTime(), reqVO.getEndTime()));
|
||||||
|
@ -7,6 +7,7 @@ import cn.iocoder.dashboard.modules.infra.controller.config.vo.InfConfigPageReqV
|
|||||||
import cn.iocoder.dashboard.modules.infra.controller.config.vo.InfConfigUpdateReqVO;
|
import cn.iocoder.dashboard.modules.infra.controller.config.vo.InfConfigUpdateReqVO;
|
||||||
import cn.iocoder.dashboard.modules.infra.dal.dataobject.config.InfConfigDO;
|
import cn.iocoder.dashboard.modules.infra.dal.dataobject.config.InfConfigDO;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,20 +18,26 @@ import java.util.List;
|
|||||||
public interface InfConfigService {
|
public interface InfConfigService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得参数配置分页列表
|
* 创建参数配置
|
||||||
*
|
*
|
||||||
* @param reqVO 分页条件
|
* @param reqVO 创建信息
|
||||||
* @return 分页列表
|
* @return 配置编号
|
||||||
*/
|
*/
|
||||||
PageResult<InfConfigDO> getConfigPage(InfConfigPageReqVO reqVO);
|
Long createConfig(@Valid InfConfigCreateReqVO reqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得参数配置列表
|
* 更新参数配置
|
||||||
*
|
*
|
||||||
* @param reqVO 列表
|
* @param reqVO 更新信息
|
||||||
* @return 列表
|
|
||||||
*/
|
*/
|
||||||
List<InfConfigDO> getConfigList(InfConfigExportReqVO reqVO);
|
void updateConfig(@Valid InfConfigUpdateReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除参数配置
|
||||||
|
*
|
||||||
|
* @param id 配置编号
|
||||||
|
*/
|
||||||
|
void deleteConfig(Long id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得参数配置
|
* 获得参数配置
|
||||||
@ -49,25 +56,20 @@ public interface InfConfigService {
|
|||||||
InfConfigDO getConfigByKey(String key);
|
InfConfigDO getConfigByKey(String key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建参数配置
|
* 获得参数配置分页列表
|
||||||
*
|
*
|
||||||
* @param reqVO 创建信息
|
* @param reqVO 分页条件
|
||||||
* @return 配置编号
|
* @return 分页列表
|
||||||
*/
|
*/
|
||||||
Long createConfig(InfConfigCreateReqVO reqVO);
|
PageResult<InfConfigDO> getConfigPage(@Valid InfConfigPageReqVO reqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新参数配置
|
* 获得参数配置列表
|
||||||
*
|
*
|
||||||
* @param reqVO 更新信息
|
* @param reqVO 列表
|
||||||
|
* @return 列表
|
||||||
*/
|
*/
|
||||||
void updateConfig(InfConfigUpdateReqVO reqVO);
|
List<InfConfigDO> getConfigList(@Valid InfConfigExportReqVO reqVO);
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除参数配置
|
|
||||||
*
|
|
||||||
* @param id 配置编号
|
|
||||||
*/
|
|
||||||
void deleteConfig(Long id);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ import cn.iocoder.dashboard.modules.infra.service.config.InfConfigService;
|
|||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@ -27,6 +28,7 @@ import static cn.iocoder.dashboard.modules.infra.enums.InfErrorCodeConstants.*;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@Validated
|
||||||
public class InfConfigServiceImpl implements InfConfigService {
|
public class InfConfigServiceImpl implements InfConfigService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@ -35,26 +37,6 @@ public class InfConfigServiceImpl implements InfConfigService {
|
|||||||
@Resource
|
@Resource
|
||||||
private InfConfigProducer configProducer;
|
private InfConfigProducer configProducer;
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<InfConfigDO> getConfigPage(InfConfigPageReqVO reqVO) {
|
|
||||||
return configMapper.selectPage(reqVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<InfConfigDO> getConfigList(InfConfigExportReqVO reqVO) {
|
|
||||||
return configMapper.selectList(reqVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InfConfigDO getConfig(Long id) {
|
|
||||||
return configMapper.selectById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public InfConfigDO getConfigByKey(String key) {
|
|
||||||
return configMapper.selectByKey(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long createConfig(InfConfigCreateReqVO reqVO) {
|
public Long createConfig(InfConfigCreateReqVO reqVO) {
|
||||||
// 校验正确性
|
// 校验正确性
|
||||||
@ -93,6 +75,26 @@ public class InfConfigServiceImpl implements InfConfigService {
|
|||||||
configProducer.sendConfigRefreshMessage();
|
configProducer.sendConfigRefreshMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InfConfigDO getConfig(Long id) {
|
||||||
|
return configMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InfConfigDO getConfigByKey(String key) {
|
||||||
|
return configMapper.selectByKey(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<InfConfigDO> getConfigPage(InfConfigPageReqVO reqVO) {
|
||||||
|
return configMapper.selectPage(reqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InfConfigDO> getConfigList(InfConfigExportReqVO reqVO) {
|
||||||
|
return configMapper.selectList(reqVO);
|
||||||
|
}
|
||||||
|
|
||||||
private void checkCreateOrUpdate(Long id, String key) {
|
private void checkCreateOrUpdate(Long id, String key) {
|
||||||
// 校验自己存在
|
// 校验自己存在
|
||||||
checkConfigExists(id);
|
checkConfigExists(id);
|
||||||
|
@ -47,88 +47,6 @@ public class InfConfigServiceTest extends BaseDbUnitTest {
|
|||||||
@MockBean
|
@MockBean
|
||||||
private InfConfigProducer configProducer;
|
private InfConfigProducer configProducer;
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testGetConfigPage() {
|
|
||||||
// mock 数据
|
|
||||||
InfConfigDO dbConfig = randomInfConfigDO(o -> { // 等会查询到
|
|
||||||
o.setName("芋艿");
|
|
||||||
o.setKey("yunai");
|
|
||||||
o.setType(InfConfigTypeEnum.SYSTEM.getType());
|
|
||||||
o.setCreateTime(buildTime(2021, 2, 1));
|
|
||||||
});
|
|
||||||
configMapper.insert(dbConfig);
|
|
||||||
// 测试 name 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setName("土豆")));
|
|
||||||
// 测试 key 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setKey("tudou")));
|
|
||||||
// 测试 type 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setType(InfConfigTypeEnum.CUSTOM.getType())));
|
|
||||||
// 测试 createTime 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1))));
|
|
||||||
// 准备参数
|
|
||||||
InfConfigPageReqVO reqVO = new InfConfigPageReqVO();
|
|
||||||
reqVO.setName("艿");
|
|
||||||
reqVO.setKey("nai");
|
|
||||||
reqVO.setType(InfConfigTypeEnum.SYSTEM.getType());
|
|
||||||
reqVO.setBeginTime(buildTime(2021, 1, 15));
|
|
||||||
reqVO.setEndTime(buildTime(2021, 2, 15));
|
|
||||||
|
|
||||||
// 调用
|
|
||||||
PageResult<InfConfigDO> pageResult = configService.getConfigPage(reqVO);
|
|
||||||
// 断言
|
|
||||||
assertEquals(1, pageResult.getTotal());
|
|
||||||
assertEquals(1, pageResult.getList().size());
|
|
||||||
assertPojoEquals(dbConfig, pageResult.getList().get(0));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testGetConfigList() {
|
|
||||||
// mock 数据
|
|
||||||
InfConfigDO dbConfig = randomInfConfigDO(o -> { // 等会查询到
|
|
||||||
o.setName("芋艿");
|
|
||||||
o.setKey("yunai");
|
|
||||||
o.setType(InfConfigTypeEnum.SYSTEM.getType());
|
|
||||||
o.setCreateTime(buildTime(2021, 2, 1));
|
|
||||||
});
|
|
||||||
configMapper.insert(dbConfig);
|
|
||||||
// 测试 name 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setName("土豆")));
|
|
||||||
// 测试 key 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setKey("tudou")));
|
|
||||||
// 测试 type 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setType(InfConfigTypeEnum.CUSTOM.getType())));
|
|
||||||
// 测试 createTime 不匹配
|
|
||||||
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1))));
|
|
||||||
// 准备参数
|
|
||||||
InfConfigExportReqVO reqVO = new InfConfigExportReqVO();
|
|
||||||
reqVO.setName("艿");
|
|
||||||
reqVO.setKey("nai");
|
|
||||||
reqVO.setType(InfConfigTypeEnum.SYSTEM.getType());
|
|
||||||
reqVO.setBeginTime(buildTime(2021, 1, 15));
|
|
||||||
reqVO.setEndTime(buildTime(2021, 2, 15));
|
|
||||||
|
|
||||||
// 调用
|
|
||||||
List<InfConfigDO> list = configService.getConfigList(reqVO);
|
|
||||||
// 断言
|
|
||||||
assertEquals(1, list.size());
|
|
||||||
assertPojoEquals(dbConfig, list.get(0));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testGetConfigByKey() {
|
|
||||||
// mock 数据
|
|
||||||
InfConfigDO dbConfig = randomInfConfigDO();
|
|
||||||
configMapper.insert(dbConfig);// @Sql: 先插入出一条存在的数据
|
|
||||||
// 准备参数
|
|
||||||
String key = dbConfig.getKey();
|
|
||||||
|
|
||||||
// 调用
|
|
||||||
InfConfigDO config = configService.getConfigByKey(key);
|
|
||||||
// 断言
|
|
||||||
assertNotNull(config);
|
|
||||||
assertPojoEquals(dbConfig, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testCreateConfig_success() {
|
public void testCreateConfig_success() {
|
||||||
// 准备参数
|
// 准备参数
|
||||||
@ -243,6 +161,88 @@ public class InfConfigServiceTest extends BaseDbUnitTest {
|
|||||||
CONFIG_KEY_DUPLICATE);
|
CONFIG_KEY_DUPLICATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetConfigPage() {
|
||||||
|
// mock 数据
|
||||||
|
InfConfigDO dbConfig = randomInfConfigDO(o -> { // 等会查询到
|
||||||
|
o.setName("芋艿");
|
||||||
|
o.setKey("yunai");
|
||||||
|
o.setType(InfConfigTypeEnum.SYSTEM.getType());
|
||||||
|
o.setCreateTime(buildTime(2021, 2, 1));
|
||||||
|
});
|
||||||
|
configMapper.insert(dbConfig);
|
||||||
|
// 测试 name 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setName("土豆")));
|
||||||
|
// 测试 key 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setKey("tudou")));
|
||||||
|
// 测试 type 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setType(InfConfigTypeEnum.CUSTOM.getType())));
|
||||||
|
// 测试 createTime 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1))));
|
||||||
|
// 准备参数
|
||||||
|
InfConfigPageReqVO reqVO = new InfConfigPageReqVO();
|
||||||
|
reqVO.setName("艿");
|
||||||
|
reqVO.setKey("nai");
|
||||||
|
reqVO.setType(InfConfigTypeEnum.SYSTEM.getType());
|
||||||
|
reqVO.setBeginTime(buildTime(2021, 1, 15));
|
||||||
|
reqVO.setEndTime(buildTime(2021, 2, 15));
|
||||||
|
|
||||||
|
// 调用
|
||||||
|
PageResult<InfConfigDO> pageResult = configService.getConfigPage(reqVO);
|
||||||
|
// 断言
|
||||||
|
assertEquals(1, pageResult.getTotal());
|
||||||
|
assertEquals(1, pageResult.getList().size());
|
||||||
|
assertPojoEquals(dbConfig, pageResult.getList().get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetConfigList() {
|
||||||
|
// mock 数据
|
||||||
|
InfConfigDO dbConfig = randomInfConfigDO(o -> { // 等会查询到
|
||||||
|
o.setName("芋艿");
|
||||||
|
o.setKey("yunai");
|
||||||
|
o.setType(InfConfigTypeEnum.SYSTEM.getType());
|
||||||
|
o.setCreateTime(buildTime(2021, 2, 1));
|
||||||
|
});
|
||||||
|
configMapper.insert(dbConfig);
|
||||||
|
// 测试 name 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setName("土豆")));
|
||||||
|
// 测试 key 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setKey("tudou")));
|
||||||
|
// 测试 type 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setType(InfConfigTypeEnum.CUSTOM.getType())));
|
||||||
|
// 测试 createTime 不匹配
|
||||||
|
configMapper.insert(ObjectUtils.clone(dbConfig, o -> o.setCreateTime(buildTime(2021, 1, 1))));
|
||||||
|
// 准备参数
|
||||||
|
InfConfigExportReqVO reqVO = new InfConfigExportReqVO();
|
||||||
|
reqVO.setName("艿");
|
||||||
|
reqVO.setKey("nai");
|
||||||
|
reqVO.setType(InfConfigTypeEnum.SYSTEM.getType());
|
||||||
|
reqVO.setBeginTime(buildTime(2021, 1, 15));
|
||||||
|
reqVO.setEndTime(buildTime(2021, 2, 15));
|
||||||
|
|
||||||
|
// 调用
|
||||||
|
List<InfConfigDO> list = configService.getConfigList(reqVO);
|
||||||
|
// 断言
|
||||||
|
assertEquals(1, list.size());
|
||||||
|
assertPojoEquals(dbConfig, list.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetConfigByKey() {
|
||||||
|
// mock 数据
|
||||||
|
InfConfigDO dbConfig = randomInfConfigDO();
|
||||||
|
configMapper.insert(dbConfig);// @Sql: 先插入出一条存在的数据
|
||||||
|
// 准备参数
|
||||||
|
String key = dbConfig.getKey();
|
||||||
|
|
||||||
|
// 调用
|
||||||
|
InfConfigDO config = configService.getConfigByKey(key);
|
||||||
|
// 断言
|
||||||
|
assertNotNull(config);
|
||||||
|
assertPojoEquals(dbConfig, config);
|
||||||
|
}
|
||||||
|
|
||||||
// ========== 随机对象 ==========
|
// ========== 随机对象 ==========
|
||||||
|
|
||||||
@SafeVarargs
|
@SafeVarargs
|
||||||
|
Loading…
Reference in New Issue
Block a user