liurunyu
3 天以前 3d14a13337167efdfaa42b73382f0f8fdb7fc548
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/config/VirtualCardInUseInterceptor.java
@@ -17,7 +17,7 @@
import java.lang.reflect.Method;
/**
 * 拦截虚拟卡表的更新操作,设置占用状态操作的使不能
 * 拦截虚拟卡表的更新操作,使不能设置占用状态操作。
 */
@Intercepts({
        @Signature(
@@ -42,16 +42,16 @@
        if (entity instanceof SeVirtualCard) {
            MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[MAPPED_STATEMENT_INDEX];
            SqlCommandType commandType = mappedStatement.getSqlCommandType();
            if (commandType.equals(SqlCommandType.INSERT)) {
            if (commandType.equals(SqlCommandType.UPDATE)) {
                Class<?> entityClass = entity.getClass();
                Method setInUse = null;
                try {
                    setInUse = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETINUSE, Long.class);
                    setInUse = entityClass.getMethod(BASE_FIELD_SET_PRIMARY_KEY_FUNTION_SETINUSE, Byte.class);
                } catch (Exception e) {
                    //当entityClass没有setInUse方法时,会抛出异常
                }
                if (setInUse != null) {
                    setInUse.invoke(entity, 0);
                    setInUse.invoke(entity, (byte)0);
                }
                invocation.getArgs()[PARAMETER_INDEX] = entity;
            }