first commit
This commit is contained in:
@ -0,0 +1,91 @@
|
||||
package com.qiaoba.module.system.controller;
|
||||
|
||||
import com.qiaoba.api.system.entity.SysConfig;
|
||||
import com.qiaoba.api.system.entity.param.SysConfigParam;
|
||||
import com.qiaoba.common.base.result.AjaxResult;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
import com.qiaoba.common.poi.utils.ExcelUtil;
|
||||
import com.qiaoba.module.system.service.SysConfigService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 参数管理 web层
|
||||
*
|
||||
* @author ailanyin
|
||||
* @version 1.0
|
||||
* @since 2022-09-22 04:20:28
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/system/config")
|
||||
@RequiredArgsConstructor
|
||||
@Tag(name = "参数管理")
|
||||
public class SysConfigController {
|
||||
|
||||
private final SysConfigService sysConfigService;
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:list')")
|
||||
@GetMapping("/list")
|
||||
@Operation(summary = "获取列表")
|
||||
public TableDataInfo list(SysConfigParam param, PageQuery pageQuery) {
|
||||
return sysConfigService.selectPageList(param, pageQuery);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:export')")
|
||||
@PostMapping("/export")
|
||||
@Operation(summary = "导出数据")
|
||||
public void export(HttpServletResponse response, SysConfigParam param) throws Exception {
|
||||
List<SysConfig> list = sysConfigService.selectList(param);
|
||||
ExcelUtil.exportExcel(list, SysConfig.class, "参数数据", response);
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:query')")
|
||||
@GetMapping(value = "/{configId}")
|
||||
@Operation(summary = "获取详情")
|
||||
public AjaxResult getInfo(@PathVariable String configId) {
|
||||
return AjaxResult.success(sysConfigService.selectById(configId));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/configKey/{configKey}")
|
||||
@Operation(summary = "根据参数键名查询参数值")
|
||||
public AjaxResult getConfigKey(@PathVariable String configKey) {
|
||||
return AjaxResult.success(sysConfigService.selectConfigByKey(configKey));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:add')")
|
||||
@PostMapping
|
||||
@Operation(summary = "新增配置")
|
||||
public AjaxResult add(@Validated @RequestBody SysConfig config) {
|
||||
return AjaxResult.toAjax(sysConfigService.insert(config));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:edit')")
|
||||
@PutMapping
|
||||
@Operation(summary = "修改配置")
|
||||
public AjaxResult edit(@Validated @RequestBody SysConfig config) {
|
||||
return AjaxResult.toAjax(sysConfigService.updateById(config));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:remove')")
|
||||
@DeleteMapping("/{configIds}")
|
||||
@Operation(summary = "删除配置")
|
||||
public AjaxResult remove(@PathVariable List<String> configIds) {
|
||||
return AjaxResult.toAjax(sysConfigService.deleteByIds(configIds));
|
||||
}
|
||||
|
||||
@PreAuthorize("hasAuthority('system:config:remove')")
|
||||
@DeleteMapping("/refreshCache")
|
||||
@Operation(summary = "刷新缓存")
|
||||
public AjaxResult refreshCache() {
|
||||
sysConfigService.resetConfigCache();
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.qiaoba.module.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.qiaoba.api.system.entity.SysConfig;
|
||||
|
||||
/**
|
||||
* 系统配置 数据层
|
||||
*
|
||||
* @author ailanyin
|
||||
* @version 1.0
|
||||
* @since 2023-04-23 20:33:43
|
||||
*/
|
||||
public interface SysConfigMapper extends BaseMapper<SysConfig> {
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.qiaoba.module.system.service;
|
||||
|
||||
import com.qiaoba.api.system.entity.SysConfig;
|
||||
import com.qiaoba.api.system.entity.param.SysConfigParam;
|
||||
import com.qiaoba.api.system.service.SysConfigApiService;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 系统配置 服务层
|
||||
*
|
||||
* @author ailanyin
|
||||
* @version 1.0
|
||||
* @since 2023-04-23 20:33:43
|
||||
*/
|
||||
public interface SysConfigService extends SysConfigApiService {
|
||||
|
||||
/**
|
||||
* 分页查询配置列表
|
||||
*
|
||||
* @param param param
|
||||
* @param pageQuery pageQuery
|
||||
* @return list
|
||||
*/
|
||||
TableDataInfo<SysConfig> selectPageList(SysConfigParam param, PageQuery pageQuery);
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
package com.qiaoba.module.system.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.qiaoba.api.system.entity.SysConfig;
|
||||
import com.qiaoba.api.system.entity.param.SysConfigParam;
|
||||
import com.qiaoba.common.database.entity.PageQuery;
|
||||
import com.qiaoba.common.database.entity.TableDataInfo;
|
||||
import com.qiaoba.module.system.mapper.SysConfigMapper;
|
||||
import com.qiaoba.module.system.service.SysConfigService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 系统配置 服务层实现
|
||||
*
|
||||
* @author ailanyin
|
||||
* @version 1.0
|
||||
* @since 2023-04-23 20:33:43
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SysConfigServiceImpl implements SysConfigService {
|
||||
|
||||
private final SysConfigMapper sysConfigMapper;
|
||||
|
||||
@Override
|
||||
public int insert(SysConfig sysConfig) {
|
||||
return sysConfigMapper.insert(sysConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateById(SysConfig sysConfig) {
|
||||
return sysConfigMapper.updateById(sysConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysConfig> selectList(SysConfigParam param) {
|
||||
return sysConfigMapper.selectList(param2Wrapper(param));
|
||||
}
|
||||
|
||||
@Override
|
||||
public SysConfig selectById(String configId) {
|
||||
return sysConfigMapper.selectById(configId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteById(String configId) {
|
||||
return sysConfigMapper.deleteById(configId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByIds(List<String> ids) {
|
||||
return sysConfigMapper.deleteBatchIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetConfigCache() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public String selectConfigByKey(String configKey) {
|
||||
return null;
|
||||
}
|
||||
|
||||
private QueryWrapper<SysConfig> param2Wrapper(SysConfigParam param) {
|
||||
QueryWrapper<SysConfig> wrapper = new QueryWrapper<>();
|
||||
wrapper.lambda()
|
||||
.like(StrUtil.isNotBlank(param.getConfigName()), SysConfig::getConfigName, param.getConfigName())
|
||||
.like(StrUtil.isNotBlank(param.getConfigKey()), SysConfig::getConfigKey, param.getConfigKey())
|
||||
.eq(StrUtil.isNotBlank(param.getConfigType()), SysConfig::getConfigType, param.getConfigType());
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<SysConfig> selectPageList(SysConfigParam param, PageQuery pageQuery) {
|
||||
return TableDataInfo.build(sysConfigMapper.selectPage(pageQuery.build(), param2Wrapper(param)));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user