| | |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptQuery; |
| | | import com.panzhihua.common.model.helper.encrypt.EncryptQueryClass; |
| | | import com.panzhihua.common.model.helper.encrypt.IEncryptDecrypt; |
| | | import com.panzhihua.common.model.helper.sensitive.Sensitive; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.binding.BindingException; |
| | | import org.apache.ibatis.binding.MapperMethod; |
| | |
| | | import java.lang.reflect.Field; |
| | | import java.sql.PreparedStatement; |
| | | import java.util.*; |
| | | import java.util.stream.Stream; |
| | | |
| | | /** |
| | | * 加密拦截器 |
| | |
| | | |
| | | @Override |
| | | public Object intercept(Invocation invocation) throws Throwable { |
| | | |
| | | //拦截 ParameterHandler 的 setParameters 方法 动态设置参数 |
| | | if (invocation.getTarget() instanceof ParameterHandler) { |
| | | ParameterHandler parameterHandler = (ParameterHandler) invocation.getTarget(); |
| | |
| | | boolean encrypted = false; |
| | | try{ |
| | | /** |
| | | * 分页插件,会再分页查询时 进行多次查询,需要判断是否已对加密参数加密,防止多次加密后,查询失败 |
| | | * 分页插件,会在分页查询时 进行多次查询,需要判断是否已对加密参数加密,防止多次加密后,查询失败 |
| | | */ |
| | | encrypted = paramMap.get("encrypted")!=null; |
| | | }catch (BindingException be){ |