增加系统配置表

This commit is contained in:
guoshengxiong 2025-12-04 16:36:28 +08:00
parent 273d186f2b
commit 3b4863475d
8 changed files with 419 additions and 0 deletions

View File

@ -0,0 +1,143 @@
package com.zhgd.xmgl.modules.basicdata.controller;
import com.alibaba.fastjson.JSONObject;
import com.zhgd.annotation.OperLog;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import org.apache.commons.collections.MapUtils;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import com.zhgd.xmgl.modules.basicdata.entity.vo.SysConfigVo;
import com.zhgd.xmgl.modules.basicdata.entity.dto.SysConfigDto;
import com.zhgd.xmgl.modules.basicdata.service.ISysConfigService;
import org.springframework.context.annotation.Lazy;
import org.simpleframework.xml.core.Validate;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
/**
* @Title: Controller
* @Description: 系统配置表
* @author pds
* @date 2025-12-03
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/sysConfig")
@Slf4j
@Api(tags = "系统配置表相关Api")
public class SysConfigController {
@Lazy
@Autowired
private ISysConfigService sysConfigService;
/**
* 分页列表查询
* @return
*/
@OperLog(operModul = "系统配置表管理", operType = "分页查询", operDesc = "分页列表查询系统配置表信息")
@ApiOperation(value = "分页列表查询系统配置表信息", notes = "分页列表查询系统配置表信息", httpMethod="GET")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
})
@GetMapping(value = "/page")
public Result<IPage<SysConfigVo>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
return Result.success(sysConfigService.queryPageList(param));
}
/**
* 列表查询
* @return
*/
@OperLog(operModul = "系统配置表管理", operType = "列表查询", operDesc = "列表查询系统配置表信息")
@ApiOperation(value = "列表查询系统配置表信息", notes = "列表查询系统配置表信息", httpMethod="GET")
@GetMapping(value = "/list")
public Result<List<SysConfigVo>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
return Result.success(sysConfigService.queryList(param));
}
/**
* 添加
* @param sysConfigDto
* @return
*/
@OperLog(operModul = "系统配置表管理", operType = "添加", operDesc = "添加系统配置表信息")
@ApiOperation(value = "添加系统配置表信息", notes = "添加系统配置表信息" , httpMethod="POST")
@PostMapping(value = "/add")
public Result<SysConfigVo> add(@RequestBody @Validate SysConfigDto sysConfigDto) {
sysConfigService.add(sysConfigDto);
return Result.ok();
}
/**
* 编辑
* @param sysConfigDto
* @return
*/
@OperLog(operModul = "系统配置表管理", operType = "编辑", operDesc = "编辑系统配置表信息")
@ApiOperation(value = "编辑系统配置表信息", notes = "编辑系统配置表信息" , httpMethod="POST")
@PostMapping(value = "/edit")
public Result<SysConfig> edit(@RequestBody SysConfigDto sysConfigDto) {
sysConfigService.edit(sysConfigDto);
return Result.ok();
}
/**
* 通过id删除
* @return
*/
@OperLog(operModul = "系统配置表管理", operType = "删除", operDesc = "删除系统配置表信息")
@ApiOperation(value = "删除系统配置表信息", notes = "删除系统配置表信息" , httpMethod="POST")
@ApiImplicitParam(name = "id", value = "系统配置表ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
@PostMapping(value = "/delete")
public Result<SysConfig> delete(@ApiIgnore @RequestBody HashMap<String ,Object> map) {
sysConfigService.delete(MapUtils.getString(map, "id"));
return Result.ok();
}
/**
* 通过id查询
* @param id
* @return
*/
@OperLog(operModul = "系统配置表管理", operType = "通过id查询", operDesc = "通过id查询系统配置表信息")
@ApiOperation(value = "通过id查询系统配置表信息", notes = "通过id查询系统配置表信息" , httpMethod="GET")
@ApiImplicitParam(name = "id", value = "系统配置表ID", paramType = "query", required = true, dataType = "Integer")
@GetMapping(value = "/queryById")
public Result<SysConfigVo> queryById(@RequestParam(name="id",required=true) String id) {
return Result.success(sysConfigService.queryById(id));
}
}

View File

@ -0,0 +1,49 @@
package com.zhgd.xmgl.modules.basicdata.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 系统配置表
* @author pds
* @date 2025-12-03
* @version V1.0
*/
@Data
@TableName("sys_config")
@ApiModel(value="SysConfig实体类",description="SysConfig")
public class SysConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**主键id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value="主键id")
private java.lang.Integer id ;
/**配置键*/
@ApiModelProperty(value="配置键")
private java.lang.String configKey ;
/**配置值*/
@ApiModelProperty(value="配置值")
private java.lang.String configValue ;
/**配置描述*/
@ApiModelProperty(value="配置描述")
private java.lang.String description ;
/**创建时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="创建时间")
private java.util.Date createTime ;
/**更新时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="更新时间")
private java.util.Date updateTime ;
}

View File

@ -0,0 +1,11 @@
package com.zhgd.xmgl.modules.basicdata.entity.dto;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value="SysConfigDto实体类",description="SysConfigDto实体类")
public class SysConfigDto extends SysConfig {
}

View File

@ -0,0 +1,11 @@
package com.zhgd.xmgl.modules.basicdata.entity.vo;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@Data
@ApiModel(value="SysConfigVo实体类",description="SysConfigVo实体类")
public class SysConfigVo extends SysConfig {
}

View File

@ -0,0 +1,44 @@
package com.zhgd.xmgl.modules.basicdata.mapper;
import java.util.List;
import java.util.HashMap;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import com.zhgd.xmgl.modules.basicdata.entity.vo.SysConfigVo;
import com.zhgd.xmgl.modules.basicdata.entity.dto.SysConfigDto;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 系统配置表
* @author pds
* @date 2025-12-03
* @version V1.0
*/
@Mapper
public interface SysConfigMapper extends BaseMapper<SysConfig> {
/**
* 分页列表查询系统配置表信息
*
* @param page
* @param queryWrapper
* @param param
* @return
*/
IPage<SysConfigVo> queryList(Page<SysConfigVo> page, @Param(Constants.WRAPPER) QueryWrapper<SysConfigVo> queryWrapper, @Param("param") HashMap<String, Object> param);
/**
* 列表查询系统配置表信息
*
* @param queryWrapper
* @param param
* @return
*/
List<SysConfigVo> queryList(@Param(Constants.WRAPPER) QueryWrapper<SysConfigVo> queryWrapper, @Param("param") HashMap<String, Object> param);
}

View File

@ -0,0 +1,11 @@
<?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="com.zhgd.xmgl.modules.basicdata.mapper.SysConfigMapper">
<select id="queryList" resultType="com.zhgd.xmgl.modules.basicdata.entity.vo.SysConfigVo">
select * from (
select t.*
from sys_config t
)t
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -0,0 +1,55 @@
package com.zhgd.xmgl.modules.basicdata.service;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import com.zhgd.xmgl.modules.basicdata.entity.vo.SysConfigVo;
import com.zhgd.xmgl.modules.basicdata.entity.dto.SysConfigDto;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 系统配置表
* @author pds
* @date 2025-12-03
* @version V1.0
*/
public interface ISysConfigService extends IService<SysConfig> {
/**
* 分页列表查询系统配置表信息
* @param param 参数map
* @return
*/
IPage<SysConfigVo> queryPageList(HashMap<String, Object> param);
/**
* 列表查询系统配置表信息
* @param param 参数map
* @return
*/
List<SysConfigVo> queryList(HashMap<String, Object> param);
/**
* 添加系统配置表信息
* @param sysConfigDto 系统配置表
* @return
*/
void add(SysConfigDto sysConfigDto);
/**
* 编辑系统配置表信息
* @param sysConfigDto 系统配置表
* @return
*/
void edit(SysConfigDto sysConfigDto);
/**
* 根据id删除系统配置表信息
* @param id 系统配置表的id
* @return
*/
void delete(String id);
/**
* 根据id查询系统配置表信息
* @param id 系统配置表的id
* @return
*/
SysConfigVo queryById(String id);
}

View File

@ -0,0 +1,95 @@
package com.zhgd.xmgl.modules.basicdata.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import com.zhgd.xmgl.modules.basicdata.entity.vo.SysConfigVo;
import com.zhgd.xmgl.modules.basicdata.entity.dto.SysConfigDto;
import com.zhgd.xmgl.modules.basicdata.mapper.SysConfigMapper;
import com.zhgd.xmgl.modules.basicdata.service.ISysConfigService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.util.MapBuilder;
import com.zhgd.xmgl.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.HashMap;
import java.util.List;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 系统配置表
* @author pds
* @date 2025-12-03
* @version V1.0
*/
@Service
public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements ISysConfigService {
@Autowired
private SysConfigMapper sysConfigMapper;
@Override
public IPage<SysConfigVo> queryPageList(HashMap<String, Object> param) {
QueryWrapper<SysConfigVo> queryWrapper = this.getQueryWrapper(param);
Page<SysConfigVo> page = PageUtil.getPage(param);
IPage<SysConfigVo> pageList = baseMapper.queryList(page, queryWrapper,param);
pageList.setRecords(this.dealList(pageList.getRecords()));
return pageList;
}
@Override
public List<SysConfigVo> queryList(HashMap<String, Object> param) {
QueryWrapper<SysConfigVo> queryWrapper = getQueryWrapper(param);
return dealList(baseMapper.queryList(queryWrapper,param));
}
private QueryWrapper<SysConfigVo> getQueryWrapper(HashMap<String, Object> param) {
QueryWrapper<SysConfigVo> queryWrapper = QueryGenerator.initPageQueryWrapper(SysConfigVo.class, param, true);
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SysConfigVo::getId));
return queryWrapper;
}
private List<SysConfigVo> dealList(List<SysConfigVo> list) {
return list;
}
@Override
public void add(SysConfigDto sysConfigDto) {
sysConfigDto.setId(null);
baseMapper.insert(sysConfigDto);
}
@Override
public void edit(SysConfigDto sysConfigDto) {
SysConfig oldSysConfig = baseMapper.selectById(sysConfigDto.getId());
if(oldSysConfig==null) {
throw new OpenAlertException("未找到对应实体");
}
baseMapper.updateById(sysConfigDto);
}
@Override
public void delete(String id) {
SysConfig sysConfig = baseMapper.selectById(id);
if(sysConfig==null) {
throw new OpenAlertException("未找到对应实体");
}
baseMapper.deleteById(id);
}
@Override
public SysConfigVo queryById(String id) {
List<SysConfigVo> list = this.queryList(new MapBuilder<String, Object>()
.put("id", id)
.build());
SysConfigVo entity = CollUtil.getFirst(list);
if (entity == null) {
throw new OpenAlertException("未找到对应实体");
}
return entity;
}
}