package com.lst.lc.hbase.service; import java.util.List; import org.apache.hadoop.hbase.client.ResultScanner; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.lst.lc.hbase.model.Log; @Service public class LogOperation { @Autowired private HbaseOperation mHbaseOperation; @Autowired private ModelMapping modelMapping; /** * 将日志写入数据库 */ public void add(Log log) { if((log == null)||(log.getKey().equals(""))){ //传值有问题,处理一下 return ; } mHbaseOperation.insertData("lc_log", log.getKey(), "attr", "userEmail", log.getUserEmail()); mHbaseOperation.insertData("lc_log", log.getKey(), "attr", "time", log.getTime()); mHbaseOperation.insertData("lc_log", log.getKey(), "attr", "operation", log.getOperation()); } /** * 检索某用户的所有日志 */ public List<Log> getByUserEmail(String userEmail) { ResultScanner rs = mHbaseOperation.queryByColumn("lc_log", "attr", "userEmail", userEmail); return modelMapping.logListMapping(rs); } /** * 根据时间范围检索日志 */ public List<Log> getByTime(String userEmail, String min, String max) { ResultScanner rs = mHbaseOperation.queryLog(userEmail, min, max); return modelMapping.logListMapping(rs); } }