diff --git a/snowy-common/pom.xml b/snowy-common/pom.xml index 0b580dc1..acb6be67 100644 --- a/snowy-common/pom.xml +++ b/snowy-common/pom.xml @@ -17,7 +17,8 @@ 1.18.22 1.2.8 - 3.5.1 + 3.5.2 + 2.0.3 2.11.1 5.7.22 2.5.1 @@ -79,6 +80,43 @@ ${mybatis.plus.version} + + + com.fhs-opensource + easy-trans-spring-boot-starter + ${easy.trans.version} + + + mybatis-plus-annotation + com.baomidou + + + io.springfox + springfox-schema + + + + + + com.fhs-opensource + easy-trans-mybatis-plus-extend + ${easy.trans.version} + + + mybatis-plus-core + com.baomidou + + + mybatis-plus-extension + com.baomidou + + + io.springfox + springfox-schema + + + + org.apache.commons diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java b/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java new file mode 100644 index 00000000..8e73c9e1 --- /dev/null +++ b/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java @@ -0,0 +1,44 @@ +package vip.xiaonuo.common.handler; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.MappedJdbcTypes; +import vip.xiaonuo.common.util.CommonCryptogramUtil; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * Sm4Cbc加解密 + * @author wanglei + * @date 2022/9/30 15:24 + **/ +@MappedJdbcTypes(JdbcType.VARCHAR) +public class Sm4CbcTypeHandler extends BaseTypeHandler { + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException { + ps.setString(i, CommonCryptogramUtil.doSm4CbcEncrypt((String)parameter)); + } + @Override + public T getNullableResult(ResultSet rs, String columnName) throws SQLException { + String columnValue = rs.getString(columnName); + //有一些可能是空字符 + return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue); + } + + @Override + public T getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + String columnValue = rs.getString(columnIndex); + return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue); + } + + @Override + public T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + String columnValue = cs.getString(columnIndex); + return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue); + } +}