package com.cabletech.business.base.dao; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Repository; import com.cabletech.business.base.model.UserOnlineLog; import com.cabletech.common.base.BaseDao; import com.cabletech.common.util.Page; /** * 用户在线日志 * * @author zhaobi * */ @Repository public class UserOnlineLogDao extends BaseDao<UserOnlineLog, String> { /** * 更新退出时间 * * @param personid * String */ public void UpdateLogoutTime(String personid) { String sql = "update base_useronlielog u set u.logout_time=sysdate"; sql += " where u.logout_time is null and u.PERSONID='" + personid + "'"; this.getJdbcTemplate().update(sql); } /** * 查询在线日志 * * @param userName * 用户名 * @param startTime * 开始时间 * @param endTime * 结束时间 * @param page * Page * @return void */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void searchlog(String userName, String startTime, String endTime, Page page) { String sql = "select t.id,TO_CHAR(decode(t.logout_time,null,'','','',(t.logout_time-t.login_time)*24),'FM99999990.099') AS online_time,to_char(t.login_time,'yyyy-mm-dd hh24:mi:ss') as login_time,to_char(t.logout_time,'yyyy-mm-dd hh24:mi:ss') as logout_time,t.ip,u.username as personid" + " from base_useronlielog t" + " left join view_userinfo u on t.personid = u.sid" + " where 1=1"; if (StringUtils.isNotBlank(userName)) { sql += " and u.username like '%" + userName + "%'"; } if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { sql += " and t.login_time between to_date('" + startTime + "','yyyy-mm-dd hh24:mi:ss') and to_date('" + endTime + "','yyyy-mm-dd hh24:mi:ss')"; } sql += " order by t.login_time desc"; super.getSQLPageAll(page, sql); } /** * 删除日志 * * @param ids * String */ public void dellogs(String ids) { String sql = "delete base_useronlielog t where t.id in (" + ids + ")"; if (StringUtils.isNotBlank(ids)) { this.getJdbcTemplate().update(sql); } } }