class LideaLogDAO {

    public LideaLogResp get(LideaLogReq req) {

        log.info("req : {}", JSON.toJSONString(req));

        LideaLogResp resp = new LideaLogResp();
        resp.setAppName(req.getAppName());
        resp.setServiceName(req.getServiceName());
        resp.setMethodName(req.getMethodName());

        List<LideaLogBO> data = hbaseTemplate.execute(Const.LIDEA_LOG_TABLE, (table) -> {

            String base = StringUtil.format("{}{}{}", req.getAppName(), req.getServiceName(), req.getMethodName());

            byte[] rowKey = LideaLogEntry.makeRowKey(MD5Util.encrypt(base), req.getFrom());
            Get get = new Get(rowKey);

            Result result = table.get(get);

            LideaLogBO bo = LideaLogResultsExtractor.map(result);

            return Collections.singletonList(bo);
        });

        resp.setData(data);

        return resp;
    }

}