🎉 2.3.1.RELEASE

This commit is contained in:
smallchill 2019-05-16 23:41:32 +08:00
parent e08a94f934
commit 1b7f4121d3
21 changed files with 104 additions and 37 deletions

View File

@ -5,7 +5,7 @@
<parent>
<groupId>org.springblade</groupId>
<artifactId>blade-tool</artifactId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -21,6 +21,7 @@ import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.StringValue;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
/**
@ -41,7 +42,7 @@ public class BladeTenantHandler implements TenantHandler {
*/
@Override
public Expression getTenantId() {
return new StringValue(SecureUtil.getTenantCode());
return new StringValue(Func.toStr(SecureUtil.getTenantCode(), TenantConstant.DEFAULT_TENANT_CODE));
}
/**

View File

@ -0,0 +1,30 @@
/**
* Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springblade.core.boot.tenant;
/**
* 租户常量.
*
* @author zhuangqian
*/
public interface TenantConstant {
/**
* 默认租户编号
*/
String DEFAULT_TENANT_CODE = "000000";
}

View File

@ -75,7 +75,7 @@ mybatis-plus:
swagger:
title: SpringBlade 接口文档系统
description: SpringBlade 接口文档系统
version: 2.3.0
version: 2.3.1
license: Powered By SpringBlade
licenseUrl: https://bladex.vip
terms-of-service-url: https://bladex.vip

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -25,7 +25,7 @@ public interface AppConstant {
/**
* 应用版本
*/
String APPLICATION_VERSION = "2.3.0";
String APPLICATION_VERSION = "2.3.1";
/**
* 基础包

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -16,8 +16,6 @@
package org.springblade.core.mp.base;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
@ -35,12 +33,6 @@ import java.time.LocalDateTime;
*/
@Data
public class BaseEntity implements Serializable {
/**
* 主键id
*/
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value = "主键id")
private Integer id;
/**
* 创建人

View File

@ -16,7 +16,6 @@
package org.springblade.core.mp.base;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.SecureUtil;
@ -29,6 +28,7 @@ import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/**
* 业务封装基础类
@ -52,7 +52,7 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity> exte
public boolean save(T entity) {
BladeUser user = SecureUtil.getUser();
LocalDateTime now = LocalDateTime.now();
entity.setCreateUser(user.getUserId());
entity.setCreateUser(Objects.requireNonNull(user).getUserId());
entity.setCreateTime(now);
entity.setUpdateUser(user.getUserId());
entity.setUpdateTime(now);
@ -64,7 +64,7 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity> exte
@Override
public boolean updateById(T entity) {
BladeUser user = SecureUtil.getUser();
entity.setUpdateUser(user.getUserId());
entity.setUpdateUser(Objects.requireNonNull(user).getUserId());
entity.setUpdateTime(LocalDateTime.now());
return super.updateById(entity);
}
@ -73,9 +73,9 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T extends BaseEntity> exte
public boolean deleteLogic(@NotEmpty List<Integer> ids) {
BladeUser user = SecureUtil.getUser();
T entity = BeanUtil.newInstance(modelClass);
entity.setUpdateUser(user.getUserId());
entity.setUpdateUser(Objects.requireNonNull(user).getUserId());
entity.setUpdateTime(LocalDateTime.now());
return super.update(entity, Wrappers.<T>update().lambda().in(T::getId, ids)) && super.removeByIds(ids);
return super.removeByIds(ids);
}
}

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent>
<artifactId>blade-tool</artifactId>
<groupId>org.springblade</groupId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -53,7 +53,7 @@ public class SwaggerProperties {
/**
* 版本
**/
private String version = "2.3.0";
private String version = "2.3.1";
/**
* 许可证
**/

View File

@ -6,7 +6,7 @@
<parent>
<groupId>org.springblade</groupId>
<artifactId>blade-tool</artifactId>
<version>2.3.0</version>
<version>2.3.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>

View File

@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.jackson.MappingApiJackson2HttpMessageConverter;
import org.springblade.core.tool.support.xss.XssFilter;
import org.springblade.core.tool.support.xss.XssProperties;
import org.springblade.core.tool.utils.Charsets;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
@ -45,6 +46,8 @@ public class MessageConfiguration implements WebMvcConfigurer {
private final ObjectMapper objectMapper;
private final XssProperties xssProperties;
/**
* 使用 JACKSON 作为JSON MessageConverter
*/
@ -67,7 +70,7 @@ public class MessageConfiguration implements WebMvcConfigurer {
public FilterRegistrationBean xssFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setDispatcherTypes(DispatcherType.REQUEST);
registration.setFilter(new XssFilter());
registration.setFilter(new XssFilter(xssProperties));
registration.addUrlPatterns("/*");
registration.setName("xssFilter");
registration.setOrder(Ordered.LOWEST_PRECEDENCE);

View File

@ -16,7 +16,9 @@
package org.springblade.core.tool.config;
import org.springblade.core.tool.support.xss.XssProperties;
import org.springblade.core.tool.utils.SpringUtil;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
@ -30,6 +32,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
*/
@Configuration
@Order(Ordered.HIGHEST_PRECEDENCE)
@EnableConfigurationProperties(XssProperties.class)
public class ToolConfiguration implements WebMvcConfigurer {
/**

View File

@ -15,6 +15,8 @@
*/
package org.springblade.core.tool.support.xss;
import lombok.AllArgsConstructor;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
@ -24,23 +26,24 @@ import java.io.IOException;
*
* @author Chill
*/
@AllArgsConstructor
public class XssFilter implements Filter {
private XssProperties xssProperties;
@Override
public void init(FilterConfig config) throws ServletException {
public void init(FilterConfig config) {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
ServletRequest requestWrapper = null;
if (request instanceof HttpServletRequest) {
requestWrapper = new XssHttpServletRequestWrapper((HttpServletRequest) request);
}
if (requestWrapper == null) {
String path = ((HttpServletRequest) request).getServletPath();
if (xssProperties.getExcludePatterns().stream().anyMatch(path::contains)) {
chain.doFilter(request, response);
} else {
chain.doFilter(requestWrapper, response);
XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper((HttpServletRequest) request);
chain.doFilter(xssRequest, response);
}
}

View File

@ -0,0 +1,35 @@
/**
* Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springblade.core.tool.support.xss;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import java.util.ArrayList;
import java.util.List;
/**
* Xss配置类
*
* @author Chill
*/
@Data
@ConfigurationProperties("blade.xss.url")
public class XssProperties {
private final List<String> excludePatterns = new ArrayList<>();
}

View File

@ -5,7 +5,7 @@
<groupId>org.springblade</groupId>
<artifactId>blade-tool</artifactId>
<version>2.3.0</version>
<version>2.3.1</version>
<packaging>pom</packaging>
<name>blade-tool</name>
<description>
@ -36,7 +36,7 @@
</scm>
<properties>
<blade.tool.version>2.3.0</blade.tool.version>
<blade.tool.version>2.3.1</blade.tool.version>
<java.version>1.8</java.version>
<maven.plugin.version>3.8.0</maven.plugin.version>
@ -51,7 +51,7 @@
<mica.auto.version>1.0.1</mica.auto.version>
<alibaba.cloud.version>0.9.0.RELEASE</alibaba.cloud.version>
<spring.boot.version>2.1.4.RELEASE</spring.boot.version>
<spring.boot.version>2.1.5.RELEASE</spring.boot.version>
<spring.cloud.version>Greenwich.SR1</spring.cloud.version>
<spring.platform.version>Cairo-SR7</spring.platform.version>