com.aistor.modules.cms.service.SiteService.java Source code

Java tutorial

Introduction

Here is the source code for com.aistor.modules.cms.service.SiteService.java

Source

/**
 * Copyright &copy; 2012-2013 <a href="https://github.com/Dopas/dopas">Dopas</a> All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 */
package com.aistor.modules.cms.service;

import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.aistor.common.persistence.Page;
import com.aistor.common.service.BaseService;
import com.aistor.modules.cms.dao.SiteDao;
import com.aistor.modules.cms.entity.Site;
import com.aistor.modules.cms.utils.CmsUtils;

/**
 * Service
 * @author Zaric
 * @version 2013-01-15
 */
@Service
@Transactional(readOnly = true)
public class SiteService extends BaseService {

    @SuppressWarnings("unused")
    private static Logger logger = LoggerFactory.getLogger(SiteService.class);

    @Autowired
    private SiteDao siteDao;

    public Site get(Long id) {
        return siteDao.findOne(id);
    }

    public Page<Site> find(Page<Site> page, Site site) {
        DetachedCriteria dc = siteDao.createDetachedCriteria();
        if (StringUtils.isNotEmpty(site.getName())) {
            dc.add(Restrictions.like("name", "%" + site.getName() + "%"));
        }
        dc.add(Restrictions.eq("delFlag", site.getDelFlag()));
        //dc.addOrder(Order.asc("id"));
        return siteDao.find(page, dc);
    }

    @Transactional(readOnly = false)
    public void save(Site site) {
        if (site.getCopyright() != null) {
            site.setCopyright(StringEscapeUtils.unescapeHtml4(site.getCopyright()));
        }
        siteDao.save(site);
        CmsUtils.removeCache("site_" + site.getId());
        CmsUtils.removeCache("siteList");
    }

    @Transactional(readOnly = false)
    public void delete(Long id, Boolean isRe) {
        siteDao.updateDelFlag(id, isRe != null && isRe ? Site.DEL_FLAG_NORMAL : Site.DEL_FLAG_DELETE);
        CmsUtils.removeCache("site_" + id);
        CmsUtils.removeCache("siteList");
    }

}