From 57b0726b4fd6378ae63d0870e8560ba91ae73bf6 Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 11 Aug 2021 22:55:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=B1=A1=E5=AD=98?= =?UTF-8?q?=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 @@ + + +