Pārlūkot izejas kodu

:zap: oss 增加资源编号字段,endpoint接口可以自由指定资源编号所对应的配置进行文件上传,不再局限于唯一启用的配置

smallchill 6 gadi atpakaļ
vecāks
revīzija
622affed74

+ 2 - 2
blade-auth/src/main/java/org/springblade/auth/endpoint/BladeTokenEndPoint.java

@@ -23,12 +23,12 @@ import org.springblade.common.cache.CacheNames;
 import org.springblade.core.redis.cache.BladeRedisCache;
 import org.springblade.core.redis.cache.BladeRedisCache;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.support.Kv;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.Authentication;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.time.Duration;
 import java.time.Duration;
-import java.util.UUID;
 
 
 /**
 /**
  * BladeEndPoint
  * BladeEndPoint
@@ -51,7 +51,7 @@ public class BladeTokenEndPoint {
 	public Kv captcha() {
 	public Kv captcha() {
 		SpecCaptcha specCaptcha = new SpecCaptcha(130, 48, 5);
 		SpecCaptcha specCaptcha = new SpecCaptcha(130, 48, 5);
 		String verCode = specCaptcha.text().toLowerCase();
 		String verCode = specCaptcha.text().toLowerCase();
-		String key = UUID.randomUUID().toString();
+		String key = StringUtil.randomUUID();
 		// 存入redis并设置过期时间为30分钟
 		// 存入redis并设置过期时间为30分钟
 		redisCache.setEx(CacheNames.CAPTCHA_KEY + key, verCode, Duration.ofMinutes(30));
 		redisCache.setEx(CacheNames.CAPTCHA_KEY + key, verCode, Duration.ofMinutes(30));
 		// 将key和base64返回给前端
 		// 将key和base64返回给前端

+ 18 - 7
blade-ops/blade-resource/src/main/java/org/springblade/resource/builder/OssBuilder.java

@@ -16,6 +16,7 @@
  */
  */
 package org.springblade.resource.builder;
 package org.springblade.resource.builder;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.oss.OssTemplate;
 import org.springblade.core.oss.OssTemplate;
@@ -26,13 +27,16 @@ import org.springblade.core.oss.rule.BladeOssRule;
 import org.springblade.core.oss.rule.OssRule;
 import org.springblade.core.oss.rule.OssRule;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringPool;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.core.tool.utils.WebUtil;
 import org.springblade.resource.entity.Oss;
 import org.springblade.resource.entity.Oss;
 import org.springblade.resource.mapper.OssMapper;
 import org.springblade.resource.mapper.OssMapper;
 
 
 import java.util.Map;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentHashMap;
 
 
-import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
+import static org.springblade.core.cache.constant.CacheConstant.RESOURCE_CACHE;
 
 
 /**
 /**
  * Oss云存储统一构建类
  * Oss云存储统一构建类
@@ -42,6 +46,7 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
 public class OssBuilder {
 public class OssBuilder {
 
 
 	public static final String OSS_CODE = "oss:code:";
 	public static final String OSS_CODE = "oss:code:";
+	public static final String OSS_PARAM_KEY = "code";
 
 
 	private final OssProperties ossProperties;
 	private final OssProperties ossProperties;
 	private final OssMapper ossMapper;
 	private final OssMapper ossMapper;
@@ -107,12 +112,18 @@ public class OssBuilder {
 	 * @return Role
 	 * @return Role
 	 */
 	 */
 	public Oss getOss(String tenantId) {
 	public Oss getOss(String tenantId) {
-		return CacheUtil.get(SYS_CACHE, OSS_CODE, tenantId, () -> {
-			Oss o = ossMapper.selectOne(
-				Wrappers.<Oss>query().lambda()
-					.eq(Oss::getStatus, OssStatusEnum.ENABLE.getNum())
-					.eq(Oss::getTenantId, tenantId)
-			);
+		String key = tenantId;
+		LambdaQueryWrapper<Oss> lqw = Wrappers.<Oss>query().lambda().eq(Oss::getTenantId, tenantId);
+		// 获取传参的资源编号并查询,若有则返回,若没有则调启用的配置
+		String ossCode = WebUtil.getParameter(OSS_PARAM_KEY);
+		if (StringUtil.isNotBlank(ossCode)) {
+			key = key.concat(StringPool.DASH).concat(ossCode);
+			lqw.eq(Oss::getOssCode, ossCode);
+		} else {
+			lqw.eq(Oss::getStatus, OssStatusEnum.ENABLE.getNum());
+		}
+		return CacheUtil.get(RESOURCE_CACHE, OSS_CODE, key, () -> {
+			Oss o = ossMapper.selectOne(lqw);
 			// 若为空则调用默认配置
 			// 若为空则调用默认配置
 			if ((Func.isEmpty(o))) {
 			if ((Func.isEmpty(o))) {
 				Oss defaultOss = new Oss();
 				Oss defaultOss = new Oss();

+ 9 - 11
blade-ops/blade-resource/src/main/java/org/springblade/resource/controller/OssController.java

@@ -17,31 +17,29 @@
 package org.springblade.resource.controller;
 package org.springblade.resource.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
-import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.boot.ctrl.BladeController;
-import org.springblade.core.cache.utils.CacheUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.annotation.PreAuth;
 import org.springblade.core.secure.annotation.PreAuth;
-import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.constant.RoleConstant;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.resource.builder.OssBuilder;
 import org.springblade.resource.entity.Oss;
 import org.springblade.resource.entity.Oss;
 import org.springblade.resource.entity.OssVO;
 import org.springblade.resource.entity.OssVO;
 import org.springblade.resource.service.IOssService;
 import org.springblade.resource.service.IOssService;
 import org.springblade.resource.wrapper.OssWrapper;
 import org.springblade.resource.wrapper.OssWrapper;
+import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 import springfox.documentation.annotations.ApiIgnore;
 
 
 import javax.validation.Valid;
 import javax.validation.Valid;
 
 
-import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE;
+import static org.springblade.core.cache.constant.CacheConstant.RESOURCE_CACHE;
 
 
 /**
 /**
  * 控制器
  * 控制器
@@ -98,8 +96,8 @@ public class OssController extends BladeController {
 	@PostMapping("/save")
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入oss")
 	@ApiOperation(value = "新增", notes = "传入oss")
+	@CacheEvict(cacheNames = {RESOURCE_CACHE}, allEntries = true)
 	public R save(@Valid @RequestBody Oss oss) {
 	public R save(@Valid @RequestBody Oss oss) {
-		CacheUtil.evict(SYS_CACHE, OssBuilder.OSS_CODE, SecureUtil.getTenantId());
 		return R.status(ossService.save(oss));
 		return R.status(ossService.save(oss));
 	}
 	}
 
 
@@ -109,8 +107,8 @@ public class OssController extends BladeController {
 	@PostMapping("/update")
 	@PostMapping("/update")
 	@ApiOperationSupport(order = 5)
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入oss")
 	@ApiOperation(value = "修改", notes = "传入oss")
+	@CacheEvict(cacheNames = {RESOURCE_CACHE}, allEntries = true)
 	public R update(@Valid @RequestBody Oss oss) {
 	public R update(@Valid @RequestBody Oss oss) {
-		CacheUtil.evict(SYS_CACHE, OssBuilder.OSS_CODE, SecureUtil.getTenantId());
 		return R.status(ossService.updateById(oss));
 		return R.status(ossService.updateById(oss));
 	}
 	}
 
 
@@ -120,9 +118,9 @@ public class OssController extends BladeController {
 	@PostMapping("/submit")
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入oss")
 	@ApiOperation(value = "新增或修改", notes = "传入oss")
+	@CacheEvict(cacheNames = {RESOURCE_CACHE}, allEntries = true)
 	public R submit(@Valid @RequestBody Oss oss) {
 	public R submit(@Valid @RequestBody Oss oss) {
-		CacheUtil.evict(SYS_CACHE, OssBuilder.OSS_CODE, SecureUtil.getTenantId());
-		return R.status(ossService.saveOrUpdate(oss));
+		return R.status(ossService.submit(oss));
 	}
 	}
 
 
 
 
@@ -132,8 +130,8 @@ public class OssController extends BladeController {
 	@PostMapping("/remove")
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 7)
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	@CacheEvict(cacheNames = {RESOURCE_CACHE}, allEntries = true)
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		CacheUtil.evict(SYS_CACHE, OssBuilder.OSS_CODE, SecureUtil.getTenantId());
 		return R.status(ossService.deleteLogic(Func.toLongList(ids)));
 		return R.status(ossService.deleteLogic(Func.toLongList(ids)));
 	}
 	}
 
 
@@ -144,8 +142,8 @@ public class OssController extends BladeController {
 	@PostMapping("/enable")
 	@PostMapping("/enable")
 	@ApiOperationSupport(order = 8)
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "配置启用", notes = "传入id")
 	@ApiOperation(value = "配置启用", notes = "传入id")
+	@CacheEvict(cacheNames = {RESOURCE_CACHE}, allEntries = true)
 	public R enable(@ApiParam(value = "主键", required = true) @RequestParam Long id) {
 	public R enable(@ApiParam(value = "主键", required = true) @RequestParam Long id) {
-		CacheUtil.evict(SYS_CACHE, OssBuilder.OSS_CODE, SecureUtil.getTenantId());
 		return R.status(ossService.enable(id));
 		return R.status(ossService.enable(id));
 	}
 	}
 
 

+ 5 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/entity/Oss.java

@@ -37,6 +37,11 @@ public class Oss extends TenantEntity {
 
 
 	private static final long serialVersionUID = 1L;
 	private static final long serialVersionUID = 1L;
 
 
+	/**
+	 * 资源编号
+	 */
+	@ApiModelProperty(value = "资源编号")
+	private String ossCode;
 	/**
 	/**
 	 * 所属分类
 	 * 所属分类
 	 */
 	 */

+ 4 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/mapper/OssMapper.xml

@@ -11,10 +11,14 @@
         <result column="update_time" property="updateTime"/>
         <result column="update_time" property="updateTime"/>
         <result column="status" property="status"/>
         <result column="status" property="status"/>
         <result column="is_deleted" property="isDeleted"/>
         <result column="is_deleted" property="isDeleted"/>
+        <result column="oss_code" property="ossCode"/>
+        <result column="category" property="category"/>
         <result column="endpoint" property="endpoint"/>
         <result column="endpoint" property="endpoint"/>
         <result column="access_key" property="accessKey"/>
         <result column="access_key" property="accessKey"/>
         <result column="secret_key" property="secretKey"/>
         <result column="secret_key" property="secretKey"/>
         <result column="bucket_name" property="bucketName"/>
         <result column="bucket_name" property="bucketName"/>
+        <result column="app_id" property="appId"/>
+        <result column="region" property="region"/>
         <result column="remark" property="remark"/>
         <result column="remark" property="remark"/>
     </resultMap>
     </resultMap>
 
 

+ 8 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/service/IOssService.java

@@ -38,6 +38,14 @@ public interface IOssService extends BaseService<Oss> {
 	 */
 	 */
 	IPage<OssVO> selectOssPage(IPage<OssVO> page, OssVO oss);
 	IPage<OssVO> selectOssPage(IPage<OssVO> page, OssVO oss);
 
 
+	/**
+	 * 提交oss信息
+	 *
+	 * @param oss
+	 * @return
+	 */
+	boolean submit(Oss oss);
+
 	/**
 	/**
 	 * 启动配置
 	 * 启动配置
 	 *
 	 *

+ 14 - 1
blade-ops/blade-resource/src/main/java/org/springblade/resource/service/impl/OssServiceImpl.java

@@ -16,13 +16,16 @@
  */
  */
 package org.springblade.resource.service.impl;
 package org.springblade.resource.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.resource.entity.Oss;
 import org.springblade.resource.entity.Oss;
+import org.springblade.resource.entity.OssVO;
 import org.springblade.resource.mapper.OssMapper;
 import org.springblade.resource.mapper.OssMapper;
 import org.springblade.resource.service.IOssService;
 import org.springblade.resource.service.IOssService;
-import org.springblade.resource.entity.OssVO;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -40,6 +43,16 @@ public class OssServiceImpl extends BaseServiceImpl<OssMapper, Oss> implements I
 		return page.setRecords(baseMapper.selectOssPage(page, oss));
 		return page.setRecords(baseMapper.selectOssPage(page, oss));
 	}
 	}
 
 
+	@Override
+	public boolean submit(Oss oss) {
+		LambdaQueryWrapper<Oss> lqw = Wrappers.<Oss>query().lambda().eq(Oss::getOssCode, oss.getOssCode());
+		Integer cnt = baseMapper.selectCount(Func.isEmpty(oss.getId()) ? lqw : lqw.notIn(Oss::getId, oss.getId()));
+		if (cnt > 0) {
+			throw new ServiceException("当前资源编号已存在!");
+		}
+		return this.saveOrUpdate(oss);
+	}
+
 	@Override
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	@Transactional(rollbackFor = Exception.class)
 	public boolean enable(Long id) {
 	public boolean enable(Long id) {

+ 2 - 1
doc/sql/mysql/bladex-saber-mysql.sql

@@ -319,6 +319,7 @@ CREATE TABLE `blade_oss`  (
   `id` bigint(64) NOT NULL COMMENT '主键',
   `id` bigint(64) NOT NULL COMMENT '主键',
   `tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户ID',
   `tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户ID',
   `category` int(2) NULL DEFAULT NULL COMMENT '分类',
   `category` int(2) NULL DEFAULT NULL COMMENT '分类',
+  `oss_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源编号',
   `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源地址',
   `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源地址',
   `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'accessKey',
   `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'accessKey',
   `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'secretKey',
   `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'secretKey',
@@ -340,7 +341,7 @@ CREATE TABLE `blade_oss`  (
 -- Records of blade_oss
 -- Records of blade_oss
 -- ----------------------------
 -- ----------------------------
 BEGIN;
 BEGIN;
-INSERT INTO `blade_oss` VALUES (1132486733992468482, '000000', 1, 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0), (1132487155981393922, '000000', 2, 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
+INSERT INTO `blade_oss` VALUES (1132486733992468482, '000000',1, 'minio', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0), (1132487155981393922, '000000',2, 'qiniu', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
 COMMIT;
 COMMIT;
 
 
 -- ----------------------------
 -- ----------------------------

+ 2 - 1
doc/sql/mysql/bladex-sword-mysql.sql

@@ -319,6 +319,7 @@ CREATE TABLE `blade_oss`  (
   `id` bigint(64) NOT NULL COMMENT '主键',
   `id` bigint(64) NOT NULL COMMENT '主键',
   `tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户ID',
   `tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '000000' COMMENT '租户ID',
   `category` int(2) NULL DEFAULT NULL COMMENT '分类',
   `category` int(2) NULL DEFAULT NULL COMMENT '分类',
+  `oss_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源编号',
   `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源地址',
   `endpoint` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '资源地址',
   `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'accessKey',
   `access_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'accessKey',
   `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'secretKey',
   `secret_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'secretKey',
@@ -340,7 +341,7 @@ CREATE TABLE `blade_oss`  (
 -- Records of blade_oss
 -- Records of blade_oss
 -- ----------------------------
 -- ----------------------------
 BEGIN;
 BEGIN;
-INSERT INTO `blade_oss` VALUES (1132486733992468482, '000000', 1, 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0), (1132487155981393922, '000000', 2, 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
+INSERT INTO `blade_oss` VALUES (1132486733992468482, '000000',1, 'minio', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0), (1132487155981393922, '000000',2, 'qiniu', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
 COMMIT;
 COMMIT;
 
 
 -- ----------------------------
 -- ----------------------------

+ 4 - 2
doc/sql/oracle/bladex-saber-oracle.sql

@@ -825,6 +825,7 @@ CREATE TABLE "BLADE_OSS" (
   "ID" NUMBER(20) NOT NULL ,
   "ID" NUMBER(20) NOT NULL ,
   "TENANT_ID" NVARCHAR2(12) ,
   "TENANT_ID" NVARCHAR2(12) ,
   "CATEGORY" NUMBER(11) ,
   "CATEGORY" NUMBER(11) ,
+  "OSS_CODE" NVARCHAR2(32) ,
   "ENDPOINT" NVARCHAR2(255) ,
   "ENDPOINT" NVARCHAR2(255) ,
   "ACCESS_KEY" NVARCHAR2(255) ,
   "ACCESS_KEY" NVARCHAR2(255) ,
   "SECRET_KEY" NVARCHAR2(255) ,
   "SECRET_KEY" NVARCHAR2(255) ,
@@ -859,6 +860,7 @@ DISABLE ROW MOVEMENT
 COMMENT ON COLUMN "BLADE_OSS"."ID" IS '主键';
 COMMENT ON COLUMN "BLADE_OSS"."ID" IS '主键';
 COMMENT ON COLUMN "BLADE_OSS"."TENANT_ID" IS '租户ID';
 COMMENT ON COLUMN "BLADE_OSS"."TENANT_ID" IS '租户ID';
 COMMENT ON COLUMN "BLADE_OSS"."CATEGORY" IS '分类';
 COMMENT ON COLUMN "BLADE_OSS"."CATEGORY" IS '分类';
+COMMENT ON COLUMN "BLADE_OSS"."OSS_CODE" IS '资源编号';
 COMMENT ON COLUMN "BLADE_OSS"."ENDPOINT" IS '资源地址';
 COMMENT ON COLUMN "BLADE_OSS"."ENDPOINT" IS '资源地址';
 COMMENT ON COLUMN "BLADE_OSS"."ACCESS_KEY" IS 'accessKey';
 COMMENT ON COLUMN "BLADE_OSS"."ACCESS_KEY" IS 'accessKey';
 COMMENT ON COLUMN "BLADE_OSS"."SECRET_KEY" IS 'secretKey';
 COMMENT ON COLUMN "BLADE_OSS"."SECRET_KEY" IS 'secretKey';
@@ -878,8 +880,8 @@ COMMENT ON TABLE "BLADE_OSS" IS '对象存储表';
 -- ----------------------------
 -- ----------------------------
 -- Records of BLADE_OSS
 -- Records of BLADE_OSS
 -- ----------------------------
 -- ----------------------------
-INSERT INTO "BLADE_OSS" VALUES ('1132486733992468482', '000000', '1', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:20:52', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-27 08:34:55', 'SYYYY-MM-DD HH24:MI:SS'), '2', '0');
-INSERT INTO "BLADE_OSS" VALUES ('1132487155981393922', '000000', '2', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:22:33', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-26 23:27:56', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "BLADE_OSS" VALUES ('1132486733992468482', '000000','1', 'minio', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:20:52', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-27 08:34:55', 'SYYYY-MM-DD HH24:MI:SS'), '2', '0');
+INSERT INTO "BLADE_OSS" VALUES ('1132487155981393922', '000000','2', 'qiniu', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:22:33', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-26 23:27:56', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
 COMMIT;
 COMMIT;
 
 
 -- ----------------------------
 -- ----------------------------

+ 4 - 2
doc/sql/oracle/bladex-sword-oracle.sql

@@ -823,6 +823,7 @@ CREATE TABLE "BLADE_OSS" (
   "ID" NUMBER(20) NOT NULL ,
   "ID" NUMBER(20) NOT NULL ,
   "TENANT_ID" NVARCHAR2(12) ,
   "TENANT_ID" NVARCHAR2(12) ,
   "CATEGORY" NUMBER(11) ,
   "CATEGORY" NUMBER(11) ,
+  "OSS_CODE" NVARCHAR2(32) ,
   "ENDPOINT" NVARCHAR2(255) ,
   "ENDPOINT" NVARCHAR2(255) ,
   "ACCESS_KEY" NVARCHAR2(255) ,
   "ACCESS_KEY" NVARCHAR2(255) ,
   "SECRET_KEY" NVARCHAR2(255) ,
   "SECRET_KEY" NVARCHAR2(255) ,
@@ -857,6 +858,7 @@ DISABLE ROW MOVEMENT
 COMMENT ON COLUMN "BLADE_OSS"."ID" IS '主键';
 COMMENT ON COLUMN "BLADE_OSS"."ID" IS '主键';
 COMMENT ON COLUMN "BLADE_OSS"."TENANT_ID" IS '租户ID';
 COMMENT ON COLUMN "BLADE_OSS"."TENANT_ID" IS '租户ID';
 COMMENT ON COLUMN "BLADE_OSS"."CATEGORY" IS '分类';
 COMMENT ON COLUMN "BLADE_OSS"."CATEGORY" IS '分类';
+COMMENT ON COLUMN "BLADE_OSS"."OSS_CODE" IS '资源编号';
 COMMENT ON COLUMN "BLADE_OSS"."ENDPOINT" IS '资源地址';
 COMMENT ON COLUMN "BLADE_OSS"."ENDPOINT" IS '资源地址';
 COMMENT ON COLUMN "BLADE_OSS"."ACCESS_KEY" IS 'accessKey';
 COMMENT ON COLUMN "BLADE_OSS"."ACCESS_KEY" IS 'accessKey';
 COMMENT ON COLUMN "BLADE_OSS"."SECRET_KEY" IS 'secretKey';
 COMMENT ON COLUMN "BLADE_OSS"."SECRET_KEY" IS 'secretKey';
@@ -876,8 +878,8 @@ COMMENT ON TABLE "BLADE_OSS" IS '对象存储表';
 -- ----------------------------
 -- ----------------------------
 -- Records of BLADE_OSS
 -- Records of BLADE_OSS
 -- ----------------------------
 -- ----------------------------
-INSERT INTO "BLADE_OSS" VALUES ('1132486733992468482', '000000', '1', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:20:52', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-27 08:34:55', 'SYYYY-MM-DD HH24:MI:SS'), '2', '0');
-INSERT INTO "BLADE_OSS" VALUES ('1132487155981393922', '000000', '2', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:22:33', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-26 23:27:56', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
+INSERT INTO "BLADE_OSS" VALUES ('1132486733992468482', '000000','1', 'minio', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:20:52', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-27 08:34:55', 'SYYYY-MM-DD HH24:MI:SS'), '2', '0');
+INSERT INTO "BLADE_OSS" VALUES ('1132487155981393922', '000000','2', 'qiniu', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', NULL, NULL, NULL, '1123598821738675201', '1123598813738675201', TO_DATE('2019-05-26 11:22:33', 'SYYYY-MM-DD HH24:MI:SS'), '1123598821738675201', TO_DATE('2019-05-26 23:27:56', 'SYYYY-MM-DD HH24:MI:SS'), '1', '0');
 COMMIT;
 COMMIT;
 
 
 -- ----------------------------
 -- ----------------------------

+ 4 - 2
doc/sql/postgresql/bladex-saber-postgresql.sql

@@ -668,6 +668,7 @@ CREATE TABLE "blade_oss" (
   "id" int8 NOT NULL,
   "id" int8 NOT NULL,
   "tenant_id" varchar(12) COLLATE "pg_catalog"."default",
   "tenant_id" varchar(12) COLLATE "pg_catalog"."default",
   "category" int4,
   "category" int4,
+  "oss_code" varchar(32) COLLATE "pg_catalog"."default",
   "endpoint" varchar(255) COLLATE "pg_catalog"."default",
   "endpoint" varchar(255) COLLATE "pg_catalog"."default",
   "access_key" varchar(255) COLLATE "pg_catalog"."default",
   "access_key" varchar(255) COLLATE "pg_catalog"."default",
   "secret_key" varchar(255) COLLATE "pg_catalog"."default",
   "secret_key" varchar(255) COLLATE "pg_catalog"."default",
@@ -687,6 +688,7 @@ CREATE TABLE "blade_oss" (
 COMMENT ON COLUMN "blade_oss"."id" IS '主键';
 COMMENT ON COLUMN "blade_oss"."id" IS '主键';
 COMMENT ON COLUMN "blade_oss"."tenant_id" IS '租户ID';
 COMMENT ON COLUMN "blade_oss"."tenant_id" IS '租户ID';
 COMMENT ON COLUMN "blade_oss"."category" IS '分类';
 COMMENT ON COLUMN "blade_oss"."category" IS '分类';
+COMMENT ON COLUMN "blade_oss"."oss_code" IS '资源编号';
 COMMENT ON COLUMN "blade_oss"."endpoint" IS '资源地址';
 COMMENT ON COLUMN "blade_oss"."endpoint" IS '资源地址';
 COMMENT ON COLUMN "blade_oss"."access_key" IS 'accessKey';
 COMMENT ON COLUMN "blade_oss"."access_key" IS 'accessKey';
 COMMENT ON COLUMN "blade_oss"."secret_key" IS 'secretKey';
 COMMENT ON COLUMN "blade_oss"."secret_key" IS 'secretKey';
@@ -707,8 +709,8 @@ COMMENT ON TABLE "blade_oss" IS '对象存储表';
 -- Records of blade_oss
 -- Records of blade_oss
 -- ----------------------------
 -- ----------------------------
 BEGIN;
 BEGIN;
-INSERT INTO "blade_oss" VALUES (1132486733992468482, '000000', 1, 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0);
-INSERT INTO "blade_oss" VALUES (1132487155981393922, '000000', 2, 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
+INSERT INTO "blade_oss" VALUES (1132486733992468482, '000000', 1, 'minio', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0);
+INSERT INTO "blade_oss" VALUES (1132487155981393922, '000000', 2, 'qiniu', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
 COMMIT;
 COMMIT;
 
 
 -- ----------------------------
 -- ----------------------------

+ 4 - 2
doc/sql/postgresql/bladex-sword-postgresql.sql

@@ -666,6 +666,7 @@ CREATE TABLE "blade_oss" (
   "id" int8 NOT NULL,
   "id" int8 NOT NULL,
   "tenant_id" varchar(12) COLLATE "pg_catalog"."default",
   "tenant_id" varchar(12) COLLATE "pg_catalog"."default",
   "category" int4,
   "category" int4,
+  "oss_code" varchar(32) COLLATE "pg_catalog"."default",
   "endpoint" varchar(255) COLLATE "pg_catalog"."default",
   "endpoint" varchar(255) COLLATE "pg_catalog"."default",
   "access_key" varchar(255) COLLATE "pg_catalog"."default",
   "access_key" varchar(255) COLLATE "pg_catalog"."default",
   "secret_key" varchar(255) COLLATE "pg_catalog"."default",
   "secret_key" varchar(255) COLLATE "pg_catalog"."default",
@@ -685,6 +686,7 @@ CREATE TABLE "blade_oss" (
 COMMENT ON COLUMN "blade_oss"."id" IS '主键';
 COMMENT ON COLUMN "blade_oss"."id" IS '主键';
 COMMENT ON COLUMN "blade_oss"."tenant_id" IS '租户ID';
 COMMENT ON COLUMN "blade_oss"."tenant_id" IS '租户ID';
 COMMENT ON COLUMN "blade_oss"."category" IS '分类';
 COMMENT ON COLUMN "blade_oss"."category" IS '分类';
+COMMENT ON COLUMN "blade_oss"."oss_code" IS '资源编号';
 COMMENT ON COLUMN "blade_oss"."endpoint" IS '资源地址';
 COMMENT ON COLUMN "blade_oss"."endpoint" IS '资源地址';
 COMMENT ON COLUMN "blade_oss"."access_key" IS 'accessKey';
 COMMENT ON COLUMN "blade_oss"."access_key" IS 'accessKey';
 COMMENT ON COLUMN "blade_oss"."secret_key" IS 'secretKey';
 COMMENT ON COLUMN "blade_oss"."secret_key" IS 'secretKey';
@@ -705,8 +707,8 @@ COMMENT ON TABLE "blade_oss" IS '对象存储表';
 -- Records of blade_oss
 -- Records of blade_oss
 -- ----------------------------
 -- ----------------------------
 BEGIN;
 BEGIN;
-INSERT INTO "blade_oss" VALUES (1132486733992468482, '000000', 1, 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0);
-INSERT INTO "blade_oss" VALUES (1132487155981393922, '000000', 2, 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
+INSERT INTO "blade_oss" VALUES (1132486733992468482, '000000', 1, 'minio', 'http://127.0.0.1:9000', 'D99KGE6ZTQXSATTJWU24', 'QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:20:52', 1123598821738675201, '2019-05-27 08:34:55', 2, 0);
+INSERT INTO "blade_oss" VALUES (1132487155981393922, '000000', 2, 'qiniu', 'http://ps458elcs.bkt.clouddn.com', 'N_Loh1ngBqcJovwiAJqR91Ifj2vgOWHOf8AwBA_h', 'AuzuA1KHAbkIndCU0dB3Zfii2O3crHNODDmpxHRS', 'bladex', '', '', '', 1123598821738675201, 1123598813738675201, '2019-05-26 11:22:33', 1123598821738675201, '2019-05-26 23:27:56', 1, 0);
 COMMIT;
 COMMIT;
 
 
 -- ----------------------------
 -- ----------------------------

+ 0 - 4
doc/sql/update/common-update-2.3.0~2.3.1.sql

@@ -1,4 +0,0 @@
--- ----------------------------
--- 增加验证码授权类型
--- ----------------------------
-update blade_client set authorized_grant_types = 'refresh_token,password,authorization_code,captcha';

+ 5 - 0
doc/sql/update/mysql-update-2.3.1~2.4.0.sql

@@ -0,0 +1,5 @@
+-- ----------------------------
+-- 增加资源编号字段
+-- ----------------------------
+ALTER TABLE `bladex`.`blade_oss`
+    ADD COLUMN `oss_code` varchar(32) NULL COMMENT '资源编号' AFTER `category`;

+ 7 - 0
doc/sql/update/oracle-update-2.3.1~2.4.0.sql

@@ -0,0 +1,7 @@
+-- ----------------------------
+-- 增加资源编号字段
+-- ----------------------------
+ALTER TABLE "BLADEX"."BLADE_OSS"
+    ADD ("OSS_CODE" VARCHAR2(32) );
+
+COMMENT ON COLUMN "BLADEX"."BLADE_OSS"."OSS_CODE" IS '资源编号'

+ 7 - 0
doc/sql/update/postgresql-update-2.3.1~2.4.0.sql

@@ -0,0 +1,7 @@
+-- ----------------------------
+-- 增加资源编号字段
+-- ----------------------------
+ALTER TABLE "public"."blade_oss"
+    ADD COLUMN "oss_code" varchar(32);
+
+COMMENT ON COLUMN "public"."blade_oss"."oss_code" IS '资源编号';