@Override
    public void execute(Tuple tuple, BasicOutputCollector collector) {
        this.outputCollector = collector;
        String imsi = tuple.getString(0);
        String eventType = tuple.getString(1);
        Long time = tuple.getLong(2);
        String lac = tuple.getString(3);
        String cell = tuple.getString(4);
        if (logger.isDebugEnabled()){
            logger.debug(String.format("[%s]%s,%s,%s", PRECONDITION, imsi, eventType, time));
        }
        Values values = new Values(imsi, eventType, time, lac, cell);
        boolean wifi = KbUtils.getInstance().checkWifi(imsi);
        if (wifi){
            outputCollector.emit(PRECONDITION, values);
        } else {
            if (logger.isDebugEnabled()){
                logger.debug(String.format("DO NOT support wifi:%s", imsi));
            }
        }
        if (time > lastSignalTime){
            outputCollector.emit(UPDATETIME, new Values(time, imsi));
            lastSignalTime = time;
        }
    }