Package com.jeecms.cms.manager.main.impl

Source Code of com.jeecms.cms.manager.main.impl.CmsLogMngImpl

package com.jeecms.cms.manager.main.impl;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.util.UrlPathHelper;

import com.jeecms.cms.dao.main.CmsLogDao;
import com.jeecms.cms.entity.main.CmsLog;
import com.jeecms.cms.entity.main.CmsSite;
import com.jeecms.cms.entity.main.CmsUser;
import com.jeecms.cms.manager.main.CmsLogMng;
import com.jeecms.cms.manager.main.CmsUserMng;
import com.jeecms.cms.web.CmsUtils;
import com.jeecms.common.page.Pagination;
import com.jeecms.common.web.RequestUtils;
import com.jeecms.common.web.springmvc.MessageResolver;

@Service
@Transactional
public class CmsLogMngImpl implements CmsLogMng {
  @Transactional(readOnly = true)
  public Pagination getPage(Integer category, Integer siteId,
      String username, String title, String ip, int pageNo, int pageSize) {
    Pagination page;
    if (StringUtils.isBlank(username)) {
      page = dao.getPage(category, siteId, null, title, ip, pageNo,
          pageSize);
    } else {
      CmsUser user = cmsUserMng.findByUsername(username);
      if (user != null) {
        page = dao.getPage(category, siteId, user.getId(), title, ip,
            pageNo, pageSize);
      } else {
        page = new Pagination(1, pageSize, 0, new ArrayList<CmsLog>(0));
      }
    }
    return page;
  }

  @Transactional(readOnly = true)
  public CmsLog findById(Integer id) {
    CmsLog entity = dao.findById(id);
    return entity;
  }

  public CmsLog save(Integer category, CmsSite site, CmsUser user,
      String url, String ip, Date date, String title, String content) {
    CmsLog log = new CmsLog();
    log.setSite(site);
    log.setUser(user);
    log.setCategory(category);
    log.setIp(ip);
    log.setTime(date);
    log.setUrl(url);
    log.setTitle(title);
    log.setContent(content);
    save(log);
    return log;
  }

  public CmsLog loginSuccess(HttpServletRequest request, CmsUser user,
      String title) {
    String ip = RequestUtils.getIpAddr(request);
    UrlPathHelper helper = new UrlPathHelper();
    String uri = helper.getOriginatingRequestUri(request);
    Date date = new Date();
    CmsLog log = save(CmsLog.LOGIN_SUCCESS, null, user, uri, ip, date,
        MessageResolver.getMessage(request, title), null);
    return log;
  }

  public CmsLog loginFailure(HttpServletRequest request, String title,
      String content) {
    String ip = RequestUtils.getIpAddr(request);
    UrlPathHelper helper = new UrlPathHelper();
    String uri = helper.getOriginatingRequestUri(request);
    Date date = new Date();
    CmsLog log = save(CmsLog.LOGIN_FAILURE, null, null, uri, ip, date,
        MessageResolver.getMessage(request, title), content);
    return log;
  }

  public CmsLog operating(HttpServletRequest request, String title,
      String content) {
    CmsSite site = CmsUtils.getSite(request);
    CmsUser user = CmsUtils.getUser(request);
    String ip = RequestUtils.getIpAddr(request);
    UrlPathHelper helper = new UrlPathHelper();
    String uri = helper.getOriginatingRequestUri(request);
    Date date = new Date();
    CmsLog log = save(CmsLog.OPERATING, site, user, uri, ip, date,
        MessageResolver.getMessage(request, title), content);
    return log;
  }

  public CmsLog save(CmsLog bean) {
    dao.save(bean);
    return bean;
  }

  public int deleteBatch(Integer category, Integer siteId, Integer days) {
    Date date = null;
    if (days != null && days > 0) {
      Calendar cal = Calendar.getInstance();
      cal.add(Calendar.DAY_OF_MONTH, -days);
      date = cal.getTime();
    }
    return dao.deleteBatch(category, siteId, date);
  }

  public CmsLog deleteById(Integer id) {
    CmsLog bean = dao.deleteById(id);
    return bean;
  }

  public CmsLog[] deleteByIds(Integer[] ids) {
    CmsLog[] beans = new CmsLog[ids.length];
    for (int i = 0, len = ids.length; i < len; i++) {
      beans[i] = deleteById(ids[i]);
    }
    return beans;
  }

  private CmsUserMng cmsUserMng;
  private CmsLogDao dao;

  @Autowired
  public void setCmsUserMng(CmsUserMng cmsUserMng) {
    this.cmsUserMng = cmsUserMng;
  }

  @Autowired
  public void setDao(CmsLogDao dao) {
    this.dao = dao;
  }

}
TOP

Related Classes of com.jeecms.cms.manager.main.impl.CmsLogMngImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.