update 修正 PR 相关问题

This commit is contained in:
疯狂的狮子li
2021-08-13 12:37:34 +08:00
parent c9f7314cd0
commit 824635df7f
13 changed files with 341 additions and 431 deletions

View File

@ -60,7 +60,7 @@ public class SysOssConfig implements Serializable {
private String endpoint;
/**
* 是否htpps0否 1是
* 是否https0否 1是
*/
private String isHttps;

View File

@ -1,23 +1,23 @@
package com.ruoyi.system.domain.bo;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.domain.BaseEntity;
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;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
* 云存储配置业务对象 sys_oss_config
*
* @author ruoyi
* @date 2021-08-11
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
@Data
@ -28,8 +28,10 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 主建
*/
@ApiModelProperty("主建")
private Integer ossConfigId;
@ApiModelProperty(value = "主建", required = true)
@NotNull(message = "主建不能为空", groups = { EditGroup.class })
private Long ossConfigId;
/**
* 配置key
*/
@ -41,7 +43,7 @@ public class SysOssConfigBo extends BaseEntity {
/**
* accessKey
*/
@ApiModelProperty(value = "accessKey")
@ApiModelProperty(value = "accessKey", required = true)
@NotBlank(message = "accessKey不能为空", groups = { AddGroup.class, EditGroup.class })
@Size(min = 2, max = 100, message = "accessKey长度必须介于2和100 之间")
private String accessKey;
@ -49,7 +51,7 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 秘钥
*/
@ApiModelProperty(value = "secretKey")
@ApiModelProperty(value = "secretKey", required = true)
@NotBlank(message = "secretKey不能为空", groups = { AddGroup.class, EditGroup.class })
@Size(min = 2, max = 100, message = "secretKey长度必须介于2和100 之间")
private String secretKey;
@ -57,7 +59,7 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 桶名称
*/
@ApiModelProperty(value = "bucketName")
@ApiModelProperty(value = "bucketName", required = true)
@NotBlank(message = "bucketName不能为空", groups = { AddGroup.class, EditGroup.class })
@Size(min = 2, max = 100, message = "bucketName长度必须介于2和100之间")
private String bucketName;
@ -71,16 +73,22 @@ public class SysOssConfigBo extends BaseEntity {
/**
* 访问站点
*/
@ApiModelProperty(value = "endpoint")
@ApiModelProperty(value = "endpoint", required = true)
@NotBlank(message = "endpoint不能为空", groups = { AddGroup.class, EditGroup.class })
@Size(min = 2, max = 100, message = "endpoint长度必须介于2和100之间")
private String endpoint;
/**
* 是否htpps0否 1是
*/
@ApiModelProperty(value = "是否htpps0否 1是")
private String isHttps;
/**
* 是否httpsY=是,N=否
*/
@ApiModelProperty("是否httpsY=是,N=否")
private String isHttps;
/**
* 状态0=正常,1=停用)
*/
@ApiModelProperty("状态0=正常,1=停用)")
private String status;
/**
* 域
@ -118,9 +126,5 @@ public class SysOssConfigBo extends BaseEntity {
*/
@ApiModelProperty(value = "排序的方向", example = "asc,desc")
private String isAsc;
/**
* 状态(0正常 1停用)
*/
@ApiModelProperty("状态(0正常 1停用)")
private String status;
}

View File

@ -1,21 +1,18 @@
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
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
@Data
@ApiModel("云存储配置视图对象")
@ -25,10 +22,10 @@ public class SysOssConfigVo {
private static final long serialVersionUID = 1L;
/**
* 主建
* 主建
*/
@ApiModelProperty("主建")
private Integer ossConfigId;
private Long ossConfigId;
/**
* 配置key
@ -67,9 +64,9 @@ public class SysOssConfigVo {
private String endpoint;
/**
* 是否htpps0否 1是
* 是否httpsY=是,N=否
*/
@ApiModelProperty("是否htpps0否 1是")
@ApiModelProperty("是否httpsY=是,N=否")
private String isHttps;
/**
@ -79,9 +76,9 @@ public class SysOssConfigVo {
private String region;
/**
* 状态(0正常 1停用)
* 状态0=正常,1=停用
*/
@ApiModelProperty("状态(0正常 1停用)")
@ApiModelProperty("状态0=正常,1=停用")
private String status;
/**
@ -90,5 +87,10 @@ public class SysOssConfigVo {
@ApiModelProperty("扩展字段")
private String ext1;
/**
* 备注
*/
@ApiModelProperty("备注")
private String remark;
}

View File

@ -1,15 +1,14 @@
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;
import com.ruoyi.system.domain.SysOssConfig;
/**
* 云存储配置Mapper接口
*
* @author ruoyi
* @date 2021-08-11
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
public interface SysOssConfigMapper extends BaseMapperPlus<SysOssConfig> {

View File

@ -1,24 +1,24 @@
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 com.ruoyi.system.domain.SysOssConfig;
import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo;
import java.util.Collection;
import java.util.List;
/**
* 云存储配置Service接口
*
* @author ruoyi
* @date 2021-08-11
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
public interface ISysOssConfigService extends IServicePlus<SysOssConfig, SysOssConfigVo> {
/**
* 查询单个
* @return
*/
SysOssConfigVo queryById(Integer ossConfigId);
@ -52,15 +52,7 @@ public interface ISysOssConfigService extends IServicePlus<SysOssConfig, SysOssC
/**
* 启用停用状态
* @param sysOssConfig
* @return
*/
int updateOssConfigStatus(SysOssConfig sysOssConfig);
int updateOssConfigStatus(SysOssConfigBo bo);
/**
* 判断configkey是否唯一
* @param bo
* @return
*/
String checkConfigKeyUnique(SysOssConfigBo bo);
}

View File

@ -1,52 +1,45 @@
package com.ruoyi.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.ruoyi.common.constant.Constants;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.PagePlus;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.exception.CustomException;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.StringUtils;
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;
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.SysOssConfig;
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.ISysConfigService;
import com.ruoyi.system.service.ISysOssConfigService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 云存储配置Service业务层处理
*
* @author ruoyi
* @date 2021-08-11
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
@RequiredArgsConstructor(onConstructor_ = @Autowired)
@Service
public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper, SysOssConfig, SysOssConfigVo> implements ISysOssConfigService {
@Autowired
private ISysConfigService iSysConfigService;
@Autowired
private SysConfigMapper sysConfigMapper;
@Autowired
private RedisCache redisCache;
private final ISysConfigService iSysConfigService;
@Override
public SysOssConfigVo queryById(Integer ossConfigId){
@ -61,11 +54,11 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper,
private LambdaQueryWrapper<SysOssConfig> buildQueryWrapper(SysOssConfigBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SysOssConfig> 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;
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysOssConfig::getStatus, bo.getStatus());
return lqw;
}
@Override
@ -84,30 +77,33 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper,
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(SysOssConfig entity){
//TODO 做一些数据校验,如唯一约束
if (StringUtils.isNotEmpty(entity.getConfigKey())
&& UserConstants.NOT_UNIQUE.equals(checkConfigKeyUnique(entity))) {
throw new CustomException("操作配置'" + entity.getConfigKey() + "'失败, 配置key已存在!");
}
}
@Override
public Boolean deleteWithValidByIds(Collection<Integer> ids, Boolean isValid) {
if(isValid) {
if (CollUtil.containsAll(ids, CollUtil.newArrayList(1, 2, 3, 4))) {
throw new CustomException("系统内置, 不可删除!");
}
}
return removeByIds(ids);
}
/**
* 判断configKey是否唯一
* @param bo
* @return
*/
@Override
public String checkConfigKeyUnique(SysOssConfigBo bo) {
Long ossConfigId = StringUtils.isNull(bo.getOssConfigId()) ? -1L : bo.getOssConfigId();
private String checkConfigKeyUnique(SysOssConfig sysOssConfig) {
long ossConfigId = StringUtils.isNull(sysOssConfig.getOssConfigId()) ? -1L : sysOssConfig.getOssConfigId();
SysOssConfig info = getOne(new LambdaQueryWrapper<SysOssConfig>()
.select(SysOssConfig::getOssConfigId, SysOssConfig::getConfigKey)
.eq(SysOssConfig::getConfigKey, bo.getConfigKey()).last("limit 1"));
if (StringUtils.isNotNull(info) && info.getOssConfigId().longValue() != ossConfigId.longValue()) {
.eq(SysOssConfig::getConfigKey, sysOssConfig.getConfigKey()));
if (StringUtils.isNotNull(info) && info.getOssConfigId() != ossConfigId) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@ -115,31 +111,22 @@ public class SysOssConfigServiceImpl extends ServicePlusImpl<SysOssConfigMapper,
/**
* 启用禁用状态
* @param sysOssConfig
* @return
*/
@Override
public int updateOssConfigStatus(SysOssConfig sysOssConfig) {
LambdaQueryWrapper<SysConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysConfig::getConfigKey, CloudConstant.CLOUD_STORAGE_CONFIG_KEY);
SysConfig sysConfig = sysConfigMapper.selectOne(queryWrapper);
@Transactional(rollbackFor = Exception.class)
public int updateOssConfigStatus(SysOssConfigBo bo) {
SysConfig sysConfig = iSysConfigService.getOne(new LambdaQueryWrapper<SysConfig>()
.eq(SysConfig::getConfigKey, CloudConstant.CLOUD_STORAGE_CONFIG_KEY));
if(ObjectUtil.isNotNull(sysConfig)){
sysConfig.setConfigValue(sysOssConfig.getConfigKey());
sysConfig.setConfigValue(bo.getConfigKey());
iSysConfigService.updateConfig(sysConfig);
} else {
throw new CustomException("缺少'云存储配置KEY'参数!");
}
SysOssConfig sysOssConfig = BeanUtil.toBean(bo, SysOssConfig.class);
baseMapper.update(null, new LambdaUpdateWrapper<SysOssConfig>()
.set(SysOssConfig::getStatus, "1"));
return baseMapper.updateById(sysOssConfig);
}
/**
* 设置cache key
*
* @param configKey 参数键
* @return 缓存键key
*/
private String getCacheKey(String configKey) {
return Constants.SYS_CONFIG_KEY + configKey;
}
}