non null hash key required bug 处理:方法切面监听的 拦截的判null处理

@Around("@annotation(com.vcloud.wsi.common.CardResetDetect)")
public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {

    MethodSignature signature = (MethodSignature) proceedingJoinPoint.getSignature();
    CardResetDetect annotation = signature.getMethod().getAnnotation(CardResetDetect.class);

    String sn = null;
    Integer userCardId = null;

    ResetTypeEnum resetTypeEnum = annotation.value();
    switch (resetTypeEnum) {
        case SN:
            // 获取方法参数
            sn = String.valueOf(proceedingJoinPoint.getArgs()[0]);
            logger.info("安卓卡恢复出厂设置监听-------sn:{}", sn);
            break;
        case USER_CARD_ID:
            // 获取方法参数
            userCardId = Integer.valueOf(String.valueOf(proceedingJoinPoint.getArgs()[0]));
            logger.info("安卓卡恢复出厂设置监听-------userCarid:{}", userCardId);
            break;
    }

    // 执行注解修饰的方法
    Object obj = proceedingJoinPoint.proceed();
    logger.info("安卓卡恢复出厂设置监听-------result:{}", JSON.toJSONString(obj));

    ResultVO result = (ResultVO) obj;

    AlarmSetting alarmSetting = alarmSettingMapper.getAlarmThreshold(2005);

    if (alarmSetting != null && alarmSetting.getReport()) {

        if (userCardId != null) {
            UserCardVO userCard = cardBootMapper.findUserCardById(userCardId);
            if (userCard == null) {
                return obj;
            } else {
                sn = userCard.getSn();
            }
        }

/bug处理:对接口拦截判null***/
if (StringUtils.isBlank(sn)) {
return obj;
}

        //恢复出厂设置失败
        if (result.getStatus().equals(1)) {
            CardInfo cardInfo = cardInfoMapper.selectBySn(sn);
            //将卡状态变更为“不可分配”
            cardInfoMapper.updateRunStatusBySn(3, cardInfo.getSn());

            String countStr = (String) redisTemplate.opsForHash().get(KEY, cardInfo.getSn());
            Integer count = countStr == null ? 0 : Integer.valueOf(countStr);
            ++count;

    }
    return obj;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值