first commit

This commit is contained in:
2023-05-24 21:33:52 +08:00
parent 7610dcb8a4
commit 5ee9d8c051
9 changed files with 457 additions and 62 deletions

View File

@ -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();
}
}

View File

@ -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> {
}

View File

@ -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);
}

View File

@ -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)));
}
}