From 57b0726b4fd6378ae63d0870e8560ba91ae73bf6 Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 11 Aug 2021 22:55:56 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysOssConfigController.java | 137 +++++++ .../com/ruoyi/system/domain/SysOssConfig.java | 111 ++++++ .../system/domain/bo/SysOssConfigBo.java | 113 ++++++ .../system/domain/vo/SysOssConfigVo.java | 105 +++++ .../system/mapper/SysOssConfigMapper.java | 16 + .../system/service/ISysOssConfigService.java | 70 ++++ .../service/impl/SysOssConfigServiceImpl.java | 146 +++++++ .../mapper/system/SysOssConfigMapper.xml | 27 ++ ruoyi-ui/src/api/system/sysOssConfig.js | 58 +++ ruoyi-ui/src/views/system/ossConfig/index.vue | 372 ++++++++++++++++++ 10 files changed, 1155 insertions(+) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOssConfigMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/system/SysOssConfigMapper.xml create mode 100644 ruoyi-ui/src/api/system/sysOssConfig.js create mode 100644 ruoyi-ui/src/views/system/ossConfig/index.vue diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java new file mode 100644 index 000000000..35954a9fd --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java @@ -0,0 +1,137 @@ +package com.ruoyi.web.controller.system; + +import java.util.List; +import java.util.Arrays; +import java.util.concurrent.TimeUnit; + +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysOssConfig; +import lombok.RequiredArgsConstructor; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; + +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.validate.AddGroup; +import com.ruoyi.common.core.validate.EditGroup; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.domain.vo.SysOssConfigVo; +import com.ruoyi.system.domain.bo.SysOssConfigBo; +import com.ruoyi.system.service.ISysOssConfigService; +import com.ruoyi.common.core.page.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +/** + * 云存储配置Controller + * + * @author ruoyi + * @date 2021-08-11 + */ +@Validated +@Api(value = "云存储配置控制器", tags = {"云存储配置管理"}) +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/system/sysOssConfig") +public class SysOssConfigController extends BaseController { + + private final ISysOssConfigService iSysOssConfigService; + + /** + * 查询云存储配置列表 + */ + @ApiOperation("查询云存储配置列表") + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:list')") + @GetMapping("/list") + public TableDataInfo list(@Validated SysOssConfigBo bo) { + return iSysOssConfigService.queryPageList(bo); + } + + /** + * 导出云存储配置列表 + */ + @ApiOperation("导出云存储配置列表") + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:export')") + @Log(title = "云存储配置", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public void export(@Validated SysOssConfigBo bo, HttpServletResponse response) { + List list = iSysOssConfigService.queryList(bo); + ExcelUtil.exportExcel(list, "云存储配置", SysOssConfigVo.class, response); + } + + /** + * 获取云存储配置详细信息 + */ + @ApiOperation("获取云存储配置详细信息") + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:query')") + @GetMapping("/{ossConfigId}") + public AjaxResult getInfo(@NotNull(message = "主键不能为空") + @PathVariable("ossConfigId") Integer ossConfigId) { + return AjaxResult.success(iSysOssConfigService.queryById(ossConfigId)); + } + + /** + * 新增云存储配置 + */ + @ApiOperation("新增云存储配置") + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:add')") + @Log(title = "云存储配置", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public AjaxResult add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) { + if (StringUtils.isNotEmpty(bo.getConfigKey()) + && UserConstants.NOT_UNIQUE.equals(iSysOssConfigService.checkConfigKeyUnique(bo))) { + return AjaxResult.error("新增云配置'" + bo.getConfigKey() + "'失败,configKey已存在"); + } + return toAjax(iSysOssConfigService.insertByBo(bo) ? 1 : 0); + } + + /** + * 修改云存储配置 + */ + @ApiOperation("修改云存储配置") + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:edit')") + @Log(title = "云存储配置", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public AjaxResult edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) { + if (StringUtils.isNotEmpty(bo.getConfigKey()) + && UserConstants.NOT_UNIQUE.equals(iSysOssConfigService.checkConfigKeyUnique(bo))) { + return AjaxResult.error("修改云配置'" + bo.getConfigKey() + "'失败,configKey已存在"); + } + return toAjax(iSysOssConfigService.updateByBo(bo) ? 1 : 0); + } + + /** + * 删除云存储配置 + */ + @ApiOperation("删除云存储配置") + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:remove')") + @Log(title = "云存储配置", businessType = BusinessType.DELETE) + @DeleteMapping("/{ossConfigIds}") + public AjaxResult remove(@NotEmpty(message = "主键不能为空") + @PathVariable Integer[] ossConfigIds) { + return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true) ? 1 : 0); + } + + /** + * 状态修改 + */ + @PreAuthorize("@ss.hasPermi('system:sysOssConfig:edit')") + @Log(title = "云存储状态修改", businessType = BusinessType.UPDATE) + @PutMapping("/changeStatus") + public AjaxResult changeStatus(@RequestBody SysOssConfig sysOssConfig) { + sysOssConfig.setUpdateBy(getUsername()); + return toAjax(iSysOssConfigService.updateOssConfigStatus(sysOssConfig)); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java new file mode 100644 index 000000000..cb21fecd7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOssConfig.java @@ -0,0 +1,111 @@ +package com.ruoyi.system.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; + +/** + * 云存储配置对象 sys_oss_config + * + * @author ruoyi + * @date 2021-08-11 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@TableName("sys_oss_config") +public class SysOssConfig implements Serializable { + + private static final long serialVersionUID=1L; + + + /** + * 主建 + */ + @TableId(value = "oss_config_id") + private Integer ossConfigId; + + /** + * 配置key + */ + private String configKey; + + /** + * accessKey + */ + private String accessKey; + + /** + * 秘钥 + */ + private String secretKey; + + /** + * 桶名称 + */ + private String bucketName; + + /** + * 前缀 + */ + private String prefix; + + /** + * 访问站点 + */ + private String endpoint; + + /** + * 是否htpps(0否 1是) + */ + private String isHttps; + + /** + * 域 + */ + private String region; + + /** + * 状态(0正常 1停用) + */ + private String status; + + /** + * 扩展字段 + */ + private String ext1; + + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private String updateBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateTime; + + /** + * 备注 + */ + private String remark; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java new file mode 100644 index 000000000..95488ed98 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java @@ -0,0 +1,113 @@ +package com.ruoyi.system.domain.bo; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.ruoyi.common.core.validate.AddGroup; +import com.ruoyi.common.core.validate.EditGroup; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.util.Date; + +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 云存储配置业务对象 sys_oss_config + * + * @author ruoyi + * @date 2021-08-11 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@ApiModel("云存储配置业务对象") +public class SysOssConfigBo extends BaseEntity { + + /** + * 主建 + */ + @ApiModelProperty("主建") + private Integer ossConfigId; + /** + * 配置key + */ + @ApiModelProperty(value = "配置key", required = true) + @NotBlank(message = "配置key不能为空", groups = { AddGroup.class, EditGroup.class }) + private String configKey; + + /** + * accessKey + */ + @ApiModelProperty(value = "accessKey") + private String accessKey; + + /** + * 秘钥 + */ + @ApiModelProperty(value = "secretKey") + private String secretKey; + + /** + * 桶名称 + */ + @ApiModelProperty(value = "桶名称") + private String bucketName; + + /** + * 前缀 + */ + @ApiModelProperty(value = "前缀") + private String prefix; + + /** + * 访问站点 + */ + @ApiModelProperty(value = "访问站点") + private String endpoint; + + /** + * 是否htpps(0否 1是) + */ + @ApiModelProperty(value = "是否htpps(0否 1是)") + private String isHttps; + + /** + * 域 + */ + @ApiModelProperty(value = "域") + private String region; + + /** + * 扩展字段 + */ + @ApiModelProperty(value = "扩展字段") + private String ext1; + + + /** + * 分页大小 + */ + @ApiModelProperty("分页大小") + private Integer pageSize; + + /** + * 当前页数 + */ + @ApiModelProperty("当前页数") + private Integer pageNum; + + /** + * 排序列 + */ + @ApiModelProperty("排序列") + private String orderByColumn; + + /** + * 排序的方向desc或者asc + */ + @ApiModelProperty(value = "排序的方向", example = "asc,desc") + private String isAsc; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java new file mode 100644 index 000000000..be6225527 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java @@ -0,0 +1,105 @@ +package com.ruoyi.system.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.ruoyi.common.annotation.ExcelDictFormat; +import com.ruoyi.common.convert.ExcelDictConvert; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.Date; + + + +/** + * 云存储配置视图对象 sys_oss_config + * + * @author ruoyi + * @date 2021-08-11 + */ +@Data +@ApiModel("云存储配置视图对象") +@ExcelIgnoreUnannotated +public class SysOssConfigVo { + + private static final long serialVersionUID = 1L; + + /** + * 主建 + */ + @ApiModelProperty("主建") + private Integer ossConfigId; + + /** + * 配置key + */ + @ExcelProperty(value = "配置key") + @ApiModelProperty("配置key") + private String configKey; + + /** + * accessKey + */ + @ExcelProperty(value = "accessKey") + @ApiModelProperty("accessKey") + private String accessKey; + + /** + * 秘钥 + */ + @ExcelProperty(value = "secretKey") + @ApiModelProperty("secretKey") + private String secretKey; + + /** + * 桶名称 + */ + @ExcelProperty(value = "桶名称") + @ApiModelProperty("桶名称") + private String bucketName; + + /** + * 前缀 + */ + @ExcelProperty(value = "前缀") + @ApiModelProperty("前缀") + private String prefix; + + /** + * 访问站点 + */ + @ExcelProperty(value = "访问站点") + @ApiModelProperty("访问站点") + private String endpoint; + + /** + * 是否htpps(0否 1是) + */ + @ExcelProperty(value = "是否htpps", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "sys_yes_no") + @ApiModelProperty("是否htpps(0否 1是)") + private String isHttps; + + /** + * 域 + */ + @ExcelProperty(value = "域") + @ApiModelProperty("域") + private String region; + + /** + * 状态(0正常 1停用) + */ + @ExcelProperty(value = "状态(0正常 1停用)") + @ApiModelProperty("状态(0正常 1停用)") + private String status; + + /** + * 扩展字段 + */ + @ExcelProperty(value = "扩展字段") + @ApiModelProperty("扩展字段") + private String ext1; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOssConfigMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOssConfigMapper.java new file mode 100644 index 000000000..d55ea275d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysOssConfigMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.mapper; + +import com.ruoyi.system.domain.SysOssConfig; +import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus; +import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache; +import org.apache.ibatis.annotations.CacheNamespace; + +/** + * 云存储配置Mapper接口 + * + * @author ruoyi + * @date 2021-08-11 + */ +public interface SysOssConfigMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java new file mode 100644 index 000000000..01d9514bf --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java @@ -0,0 +1,70 @@ +package com.ruoyi.system.service; + +import com.ruoyi.system.domain.SysOssConfig; +import com.ruoyi.system.domain.vo.SysOssConfigVo; +import com.ruoyi.system.domain.bo.SysOssConfigBo; +import com.ruoyi.common.core.mybatisplus.core.IServicePlus; +import com.ruoyi.common.core.page.TableDataInfo; + +import java.util.Collection; +import java.util.List; + +/** + * 云存储配置Service接口 + * + * @author ruoyi + * @date 2021-08-11 + */ +public interface ISysOssConfigService extends IServicePlus { + /** + * 查询单个 + * @return + */ + SysOssConfigVo queryById(Integer ossConfigId); + + /** + * 查询列表 + */ + TableDataInfo queryPageList(SysOssConfigBo bo); + + /** + * 查询列表 + */ + List queryList(SysOssConfigBo bo); + + /** + * 根据新增业务对象插入云存储配置 + * @param bo 云存储配置新增业务对象 + * @return + */ + Boolean insertByBo(SysOssConfigBo bo); + + /** + * 根据编辑业务对象修改云存储配置 + * @param bo 云存储配置编辑业务对象 + * @return + */ + Boolean updateByBo(SysOssConfigBo bo); + + /** + * 校验并删除数据 + * @param ids 主键集合 + * @param isValid 是否校验,true-删除前校验,false-不校验 + * @return + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 启用停用状态 + * @param sysOssConfig + * @return + */ + int updateOssConfigStatus(SysOssConfig sysOssConfig); + + /** + * 判断configkey是否唯一 + * @param bo + * @return + */ + String checkConfigKeyUnique(SysOssConfigBo bo); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java new file mode 100644 index 000000000..4fde17d66 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java @@ -0,0 +1,146 @@ +package com.ruoyi.system.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.UserConstants; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.PageUtils; +import com.ruoyi.common.core.page.PagePlus; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.system.service.ISysConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.system.domain.bo.SysOssConfigBo; +import com.ruoyi.system.domain.vo.SysOssConfigVo; +import com.ruoyi.system.domain.SysOssConfig; +import com.ruoyi.system.mapper.SysOssConfigMapper; +import com.ruoyi.system.service.ISysOssConfigService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 云存储配置Service业务层处理 + * + * @author ruoyi + * @date 2021-08-11 + */ +@Service +public class SysOssConfigServiceImpl extends ServicePlusImpl implements ISysOssConfigService { + + @Autowired + private ISysConfigService iSysConfigService; + @Autowired + private RedisCache redisCache; + public static final String sysConfigOss="sys.oss.cloudStorageService"; + + @Override + public SysOssConfigVo queryById(Integer ossConfigId){ + return getVoById(ossConfigId); + } + + @Override + public TableDataInfo queryPageList(SysOssConfigBo bo) { + PagePlus result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); + return PageUtils.buildDataInfo(result); + } + + @Override + public List queryList(SysOssConfigBo bo) { + return listVo(buildQueryWrapper(bo)); + } + + private LambdaQueryWrapper buildQueryWrapper(SysOssConfigBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getConfigKey()), SysOssConfig::getConfigKey, bo.getConfigKey()); + lqw.like(StringUtils.isNotBlank(bo.getBucketName()), SysOssConfig::getBucketName, bo.getBucketName()); + return lqw; + } + + @Override + public Boolean insertByBo(SysOssConfigBo bo) { + SysOssConfig add = BeanUtil.toBean(bo, SysOssConfig.class); + validEntityBeforeSave(add); + return save(add); + } + + @Override + public Boolean updateByBo(SysOssConfigBo bo) { + SysOssConfig update = BeanUtil.toBean(bo, SysOssConfig.class); + validEntityBeforeSave(update); + return updateById(update); + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(SysOssConfig entity){ + //TODO 做一些数据校验,如唯一约束 + } + + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return removeByIds(ids); + } + + @Override + public String checkConfigKeyUnique(SysOssConfigBo bo) { + Long ossConfigId = StringUtils.isNull(bo.getOssConfigId()) ? -1L : bo.getOssConfigId(); + SysOssConfig info = getOne(new LambdaQueryWrapper() + .select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey) + .eq(SysOssConfig::getConfigKey, bo.getConfigKey()).last("limit 1")); + if (StringUtils.isNotNull(info) && info.getOssConfigId().longValue() != ossConfigId.longValue()) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + + @Override + public int updateOssConfigStatus(SysOssConfig sysOssConfig) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(SysConfig::getConfigKey,sysConfigOss); + List sysConfigs = iSysConfigService.list(queryWrapper); + SysConfig config = null; + if(ObjectUtil.isNotNull(sysConfigs)){ + config = sysConfigs.get(0); + } + //更新sysconfig + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(SysConfig::getConfigKey,sysConfigOss); + updateWrapper.set(SysConfig::getConfigValue,sysOssConfig.getConfigKey()); + boolean bool = iSysConfigService.update(updateWrapper); + if(bool){ + //更新redis缓存 + redisCache.setCacheObject(getCacheKey(config.getConfigKey()), sysOssConfig.getConfigKey()); + } + return baseMapper.updateById(sysOssConfig); + } + + /** + * 设置cache key + * + * @param configKey 参数键 + * @return 缓存键key + */ + private String getCacheKey(String configKey) { + return Constants.SYS_CONFIG_KEY + configKey; + } + + +} diff --git a/ruoyi-system/src/main/resources/mapper/system/SysOssConfigMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysOssConfigMapper.xml new file mode 100644 index 000000000..77dc40e20 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/SysOssConfigMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ruoyi-ui/src/api/system/sysOssConfig.js b/ruoyi-ui/src/api/system/sysOssConfig.js new file mode 100644 index 000000000..23269b0c2 --- /dev/null +++ b/ruoyi-ui/src/api/system/sysOssConfig.js @@ -0,0 +1,58 @@ +import request from '@/utils/request' + +// 查询云存储配置列表 +export function listSysOssConfig(query) { + return request({ + url: '/system/sysOssConfig/list', + method: 'get', + params: query + }) +} + +// 查询云存储配置详细 +export function getSysOssConfig(ossConfigId) { + return request({ + url: '/system/sysOssConfig/' + ossConfigId, + method: 'get' + }) +} + +// 新增云存储配置 +export function addSysOssConfig(data) { + return request({ + url: '/system/sysOssConfig', + method: 'post', + data: data + }) +} + +// 修改云存储配置 +export function updateSysOssConfig(data) { + return request({ + url: '/system/sysOssConfig', + method: 'put', + data: data + }) +} + +// 删除云存储配置 +export function delSysOssConfig(ossConfigId) { + return request({ + url: '/system/sysOssConfig/' + ossConfigId, + method: 'delete' + }) +} + +// 用户状态修改 +export function changeOssConfigStatus(ossConfigId, status,configKey) { + const data = { + ossConfigId, + status, + configKey + } + return request({ + url: '/system/sysOssConfig/changeStatus', + method: 'put', + data: data + }) +} diff --git a/ruoyi-ui/src/views/system/ossConfig/index.vue b/ruoyi-ui/src/views/system/ossConfig/index.vue new file mode 100644 index 000000000..a55a12752 --- /dev/null +++ b/ruoyi-ui/src/views/system/ossConfig/index.vue @@ -0,0 +1,372 @@ + + + From 4fc9de8994b39af64154f94635cc8991ca782d6b Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 11 Aug 2021 22:57:04 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/sys_config.sql | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 sql/sys_config.sql diff --git a/sql/sys_config.sql b/sql/sys_config.sql new file mode 100644 index 000000000..e1c0fbb81 --- /dev/null +++ b/sql/sys_config.sql @@ -0,0 +1,44 @@ +/* +Navicat MySQL Data Transfer + +Source Server : mysql57 +Source Server Version : 50735 +Source Host : localhost:3306 +Source Database : ry-vue + +Target Server Type : MYSQL +Target Server Version : 50735 +File Encoding : 65001 + +Date: 2021-08-11 22:56:36 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表'; + +-- ---------------------------- +-- Records of sys_config +-- ---------------------------- +INSERT INTO `sys_config` VALUES ('1', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2021-08-10 13:07:35', '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); +INSERT INTO `sys_config` VALUES ('2', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2021-08-10 13:07:36', '', null, '初始化密码 123456'); +INSERT INTO `sys_config` VALUES ('3', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2021-08-10 13:07:36', '', null, '深色主题theme-dark,浅色主题theme-light'); +INSERT INTO `sys_config` VALUES ('4', '账号自助-验证码开关', 'sys.account.captchaOnOff', 'true', 'Y', 'admin', '2021-08-10 13:07:36', '', null, '是否开启登录验证码功能(true开启,false关闭)'); +INSERT INTO `sys_config` VALUES ('10', 'OSS云存储服务商', 'sys.oss.cloudStorageService', 'minio3', 'Y', 'admin', '2021-08-10 13:08:10', 'admin', '2021-08-11 22:33:30', 'OSS云存储服务商(qiniu:七牛云, aliyun:阿里云, qcloud:腾讯云, minio: Minio)'); +INSERT INTO `sys_config` VALUES ('11', 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 'admin', '2021-08-10 13:08:10', '', null, 'true:开启, false:关闭'); From fc54c77d11a5be2b6813df54a38b62ee91c221c2 Mon Sep 17 00:00:00 2001 From: liyang Date: Thu, 12 Aug 2021 23:13:51 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysOssConfigController.java | 57 ++- .../system/domain/bo/SysOssConfigBo.java | 25 +- .../system/domain/vo/SysOssConfigVo.java | 11 - .../system/service/ISysOssConfigService.java | 4 - .../service/impl/SysOssConfigServiceImpl.java | 43 +- ruoyi-ui/src/views/system/ossConfig/index.vue | 379 ++++++++++++------ 6 files changed, 314 insertions(+), 205 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java index 35954a9fd..669fcb97c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java @@ -1,36 +1,34 @@ package com.ruoyi.web.controller.system; -import java.util.List; -import java.util.Arrays; -import java.util.concurrent.TimeUnit; - -import com.ruoyi.common.constant.UserConstants; -import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.utils.StringUtils; -import com.ruoyi.system.domain.SysOssConfig; -import lombok.RequiredArgsConstructor; - -import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.*; - -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.validation.annotation.Validated; -import com.ruoyi.common.annotation.RepeatSubmit; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.vo.SysOssConfigVo; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysOssConfig; import com.ruoyi.system.domain.bo.SysOssConfigBo; +import com.ruoyi.system.domain.vo.SysOssConfigVo; import com.ruoyi.system.service.ISysOssConfigService; -import com.ruoyi.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.Arrays; +import java.util.List; /** * 云存储配置Controller @@ -57,18 +55,6 @@ public class SysOssConfigController extends BaseController { return iSysOssConfigService.queryPageList(bo); } - /** - * 导出云存储配置列表 - */ - @ApiOperation("导出云存储配置列表") - @PreAuthorize("@ss.hasPermi('system:sysOssConfig:export')") - @Log(title = "云存储配置", businessType = BusinessType.EXPORT) - @GetMapping("/export") - public void export(@Validated SysOssConfigBo bo, HttpServletResponse response) { - List list = iSysOssConfigService.queryList(bo); - ExcelUtil.exportExcel(list, "云存储配置", SysOssConfigVo.class, response); - } - /** * 获取云存储配置详细信息 */ @@ -121,6 +107,10 @@ public class SysOssConfigController extends BaseController { @DeleteMapping("/{ossConfigIds}") public AjaxResult remove(@NotEmpty(message = "主键不能为空") @PathVariable Integer[] ossConfigIds) { + List list = iSysOssConfigService.list(); + if(ObjectUtil.isNotNull(list)&&list.size()==1){ + return AjaxResult.error("必须保留一条云配置文件"); + } return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true) ? 1 : 0); } @@ -131,7 +121,6 @@ public class SysOssConfigController extends BaseController { @Log(title = "云存储状态修改", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") public AjaxResult changeStatus(@RequestBody SysOssConfig sysOssConfig) { - sysOssConfig.setUpdateBy(getUsername()); return toAjax(iSysOssConfigService.updateOssConfigStatus(sysOssConfig)); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java index 95488ed98..2836f2673 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/SysOssConfigBo.java @@ -33,26 +33,33 @@ public class SysOssConfigBo extends BaseEntity { /** * 配置key */ - @ApiModelProperty(value = "配置key", required = true) - @NotBlank(message = "配置key不能为空", groups = { AddGroup.class, EditGroup.class }) + @ApiModelProperty(value = "configKey", required = true) + @NotBlank(message = "configKey不能为空", groups = { AddGroup.class, EditGroup.class }) + @Size(min = 2, max = 100, message = "configKey长度必须介于2和20 之间") private String configKey; /** * accessKey */ @ApiModelProperty(value = "accessKey") + @NotBlank(message = "accessKey不能为空", groups = { AddGroup.class, EditGroup.class }) + @Size(min = 2, max = 100, message = "accessKey长度必须介于2和100 之间") private String accessKey; /** * 秘钥 */ @ApiModelProperty(value = "secretKey") + @NotBlank(message = "secretKey不能为空", groups = { AddGroup.class, EditGroup.class }) + @Size(min = 2, max = 100, message = "secretKey长度必须介于2和100 之间") private String secretKey; /** * 桶名称 */ - @ApiModelProperty(value = "桶名称") + @ApiModelProperty(value = "bucketName") + @NotBlank(message = "bucketName不能为空", groups = { AddGroup.class, EditGroup.class }) + @Size(min = 2, max = 100, message = "bucketName长度必须介于2和100之间") private String bucketName; /** @@ -64,7 +71,9 @@ public class SysOssConfigBo extends BaseEntity { /** * 访问站点 */ - @ApiModelProperty(value = "访问站点") + @ApiModelProperty(value = "endpoint") + @NotBlank(message = "endpoint不能为空", groups = { AddGroup.class, EditGroup.class }) + @Size(min = 2, max = 100, message = "endpoint长度必须介于2和100之间") private String endpoint; /** @@ -76,7 +85,7 @@ public class SysOssConfigBo extends BaseEntity { /** * 域 */ - @ApiModelProperty(value = "域") + @ApiModelProperty(value = "region") private String region; /** @@ -109,5 +118,9 @@ public class SysOssConfigBo extends BaseEntity { */ @ApiModelProperty(value = "排序的方向", example = "asc,desc") private String isAsc; - + /** + * 状态(0正常 1停用) + */ + @ApiModelProperty("状态(0正常 1停用)") + private String status; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java index be6225527..06b00d331 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysOssConfigVo.java @@ -33,71 +33,60 @@ public class SysOssConfigVo { /** * 配置key */ - @ExcelProperty(value = "配置key") @ApiModelProperty("配置key") private String configKey; /** * accessKey */ - @ExcelProperty(value = "accessKey") @ApiModelProperty("accessKey") private String accessKey; /** * 秘钥 */ - @ExcelProperty(value = "secretKey") @ApiModelProperty("secretKey") private String secretKey; /** * 桶名称 */ - @ExcelProperty(value = "桶名称") @ApiModelProperty("桶名称") private String bucketName; /** * 前缀 */ - @ExcelProperty(value = "前缀") @ApiModelProperty("前缀") private String prefix; /** * 访问站点 */ - @ExcelProperty(value = "访问站点") @ApiModelProperty("访问站点") private String endpoint; /** * 是否htpps(0否 1是) */ - @ExcelProperty(value = "是否htpps", converter = ExcelDictConvert.class) - @ExcelDictFormat(dictType = "sys_yes_no") @ApiModelProperty("是否htpps(0否 1是)") private String isHttps; /** * 域 */ - @ExcelProperty(value = "域") @ApiModelProperty("域") private String region; /** * 状态(0正常 1停用) */ - @ExcelProperty(value = "状态(0正常 1停用)") @ApiModelProperty("状态(0正常 1停用)") private String status; /** * 扩展字段 */ - @ExcelProperty(value = "扩展字段") @ApiModelProperty("扩展字段") private String ext1; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java index 01d9514bf..76b3f110c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysOssConfigService.java @@ -27,10 +27,6 @@ public interface ISysOssConfigService extends IServicePlus queryPageList(SysOssConfigBo bo); - /** - * 查询列表 - */ - List queryList(SysOssConfigBo bo); /** * 根据新增业务对象插入云存储配置 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java index 4fde17d66..fdce38500 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysOssConfigServiceImpl.java @@ -8,11 +8,14 @@ import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.common.exception.CustomException; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.oss.constant.CloudConstant; import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -41,8 +44,9 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl queryList(SysOssConfigBo bo) { - return listVo(buildQueryWrapper(bo)); - } private LambdaQueryWrapper buildQueryWrapper(SysOssConfigBo bo) { Map params = bo.getParams(); @@ -93,12 +93,14 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 - } return removeByIds(ids); } + /** + * 判断configKey是否唯一 + * @param bo + * @return + */ @Override public String checkConfigKeyUnique(SysOssConfigBo bo) { Long ossConfigId = StringUtils.isNull(bo.getOssConfigId()) ? -1L : bo.getOssConfigId(); @@ -111,23 +113,20 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysConfig::getConfigKey,sysConfigOss); - List sysConfigs = iSysConfigService.list(queryWrapper); - SysConfig config = null; - if(ObjectUtil.isNotNull(sysConfigs)){ - config = sysConfigs.get(0); - } - //更新sysconfig - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(SysConfig::getConfigKey,sysConfigOss); - updateWrapper.set(SysConfig::getConfigValue,sysOssConfig.getConfigKey()); - boolean bool = iSysConfigService.update(updateWrapper); - if(bool){ - //更新redis缓存 - redisCache.setCacheObject(getCacheKey(config.getConfigKey()), sysOssConfig.getConfigKey()); + queryWrapper.eq(SysConfig::getConfigKey, CloudConstant.CLOUD_STORAGE_CONFIG_KEY); + SysConfig sysConfig = sysConfigMapper.selectOne(queryWrapper); + + if(ObjectUtil.isNotNull(sysConfig)){ + sysConfig.setConfigValue(sysOssConfig.getConfigKey()); + iSysConfigService.updateConfig(sysConfig); } return baseMapper.updateById(sysOssConfig); } diff --git a/ruoyi-ui/src/views/system/ossConfig/index.vue b/ruoyi-ui/src/views/system/ossConfig/index.vue index a55a12752..3d8525f24 100644 --- a/ruoyi-ui/src/views/system/ossConfig/index.vue +++ b/ruoyi-ui/src/views/system/ossConfig/index.vue @@ -1,27 +1,41 @@ From fa7fd975954d3a1a159660614f668b0be5492aa8 Mon Sep 17 00:00:00 2001 From: liyang Date: Fri, 13 Aug 2021 09:07:27 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=85=8D=E7=BD=AEsql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/sys_config.sql | 44 ----------------------------------------- sql/sys_oss_config.sql | 45 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 44 deletions(-) delete mode 100644 sql/sys_config.sql create mode 100644 sql/sys_oss_config.sql diff --git a/sql/sys_config.sql b/sql/sys_config.sql deleted file mode 100644 index e1c0fbb81..000000000 --- a/sql/sys_config.sql +++ /dev/null @@ -1,44 +0,0 @@ -/* -Navicat MySQL Data Transfer - -Source Server : mysql57 -Source Server Version : 50735 -Source Host : localhost:3306 -Source Database : ry-vue - -Target Server Type : MYSQL -Target Server Version : 50735 -File Encoding : 65001 - -Date: 2021-08-11 22:56:36 -*/ - -SET FOREIGN_KEY_CHECKS=0; - --- ---------------------------- --- Table structure for sys_config --- ---------------------------- -DROP TABLE IF EXISTS `sys_config`; -CREATE TABLE `sys_config` ( - `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键', - `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', - `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', - `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', - `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', - `create_by` varchar(64) DEFAULT '' COMMENT '创建者', - `create_time` datetime DEFAULT NULL COMMENT '创建时间', - `update_by` varchar(64) DEFAULT '' COMMENT '更新者', - `update_time` datetime DEFAULT NULL COMMENT '更新时间', - `remark` varchar(500) DEFAULT NULL COMMENT '备注', - PRIMARY KEY (`config_id`) -) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表'; - --- ---------------------------- --- Records of sys_config --- ---------------------------- -INSERT INTO `sys_config` VALUES ('1', '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2021-08-10 13:07:35', '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); -INSERT INTO `sys_config` VALUES ('2', '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2021-08-10 13:07:36', '', null, '初始化密码 123456'); -INSERT INTO `sys_config` VALUES ('3', '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2021-08-10 13:07:36', '', null, '深色主题theme-dark,浅色主题theme-light'); -INSERT INTO `sys_config` VALUES ('4', '账号自助-验证码开关', 'sys.account.captchaOnOff', 'true', 'Y', 'admin', '2021-08-10 13:07:36', '', null, '是否开启登录验证码功能(true开启,false关闭)'); -INSERT INTO `sys_config` VALUES ('10', 'OSS云存储服务商', 'sys.oss.cloudStorageService', 'minio3', 'Y', 'admin', '2021-08-10 13:08:10', 'admin', '2021-08-11 22:33:30', 'OSS云存储服务商(qiniu:七牛云, aliyun:阿里云, qcloud:腾讯云, minio: Minio)'); -INSERT INTO `sys_config` VALUES ('11', 'OSS预览列表资源开关', 'sys.oss.previewListResource', 'true', 'Y', 'admin', '2021-08-10 13:08:10', '', null, 'true:开启, false:关闭'); diff --git a/sql/sys_oss_config.sql b/sql/sys_oss_config.sql new file mode 100644 index 000000000..5d6442075 --- /dev/null +++ b/sql/sys_oss_config.sql @@ -0,0 +1,45 @@ +/* +Navicat MySQL Data Transfer + +Source Server : mysql57 +Source Server Version : 50735 +Source Host : localhost:3306 +Source Database : ry-vue + +Target Server Type : MYSQL +Target Server Version : 50735 +File Encoding : 65001 + +Date: 2021-08-12 09:01:33 +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for sys_oss_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss_config`; +CREATE TABLE `sys_oss_config` ( + `oss_config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '主建', + `config_key` varchar(255) NOT NULL DEFAULT '' COMMENT '配置key', + `access_key` varchar(255) DEFAULT '' COMMENT 'access_key', + `secret_key` varchar(255) DEFAULT '' COMMENT '秘钥', + `bucket_name` varchar(255) DEFAULT '' COMMENT '桶名称', + `prefix` varchar(255) DEFAULT '' COMMENT '前缀', + `endpoint` varchar(255) DEFAULT '' COMMENT '访问站点', + `is_https` char(1) DEFAULT '0' COMMENT '是否htpps(0否 1是)', + `region` varchar(255) DEFAULT '' COMMENT '域', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `ext1` varchar(255) DEFAULT '' COMMENT '扩展字段', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`oss_config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='云存储配置表'; + +-- ---------------------------- +-- Records of sys_oss_config +-- ---------------------------- +INSERT INTO `sys_oss_config` VALUES ('1', 'minio3', 'ruoyi', 'ruoyi123', 'ruoyi', '', 'http://localhost:9000', '0', '', '0', '', 'admin', '2021-08-11 21:29:37', 'admin', '2021-08-11 22:52:41', null);