/* * Copyright [duowan.com] * Web Site: http://www.duowan.com * Since 2005 - 2013 */ package com.fpcms.service.impl; import static com.github.rapid.common.util.holder.BeanValidatorHolder.validateWithException; import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import com.github.rapid.common.util.page.Page; import com.fpcms.dao.CmsKeyValueDao; import com.fpcms.model.CmsKeyValue; import com.fpcms.query.CmsKeyValueQuery; import com.fpcms.service.CmsKeyValueService; /** * [CmsKeyValue] 的业务操作实现类 * * @author badqiu email:badqiu(a)gmail.com * @version 1.0 * @since 1.0 */ @Service("cmsKeyValueService") @Transactional public class CmsKeyValueServiceImpl implements CmsKeyValueService { protected static final Logger log = LoggerFactory.getLogger(CmsKeyValueServiceImpl.class); // // 请删除无用的方法,代码生成器只是为你生成一个架子 // private CmsKeyValueDao cmsKeyValueDao; /**增加setXXXX()方法,spring就可以通过autowire自动设置对象属性,请注意大小写*/ public void setCmsKeyValueDao(CmsKeyValueDao dao) { this.cmsKeyValueDao = dao; } /** * 创建CmsKeyValue **/ public CmsKeyValue create(CmsKeyValue cmsKeyValue) { Assert.notNull(cmsKeyValue,"'cmsKeyValue' must be not null"); initDefaultValuesForCreate(cmsKeyValue); new CmsKeyValueChecker().checkCreateCmsKeyValue(cmsKeyValue); cmsKeyValueDao.insert(cmsKeyValue); return cmsKeyValue; } /** * 更新CmsKeyValue **/ public CmsKeyValue update(CmsKeyValue cmsKeyValue) { Assert.notNull(cmsKeyValue,"'cmsKeyValue' must be not null"); new CmsKeyValueChecker().checkUpdateCmsKeyValue(cmsKeyValue); cmsKeyValueDao.update(cmsKeyValue); return cmsKeyValue; } /** * 删除CmsKeyValue **/ public void removeById(String keyGroup, String key) { cmsKeyValueDao.deleteById(keyGroup,key); } /** * 根据ID得到CmsKeyValue **/ public CmsKeyValue getById(String keyGroup, String key) { return cmsKeyValueDao.getById(keyGroup,key); } /** * 分页查询: CmsKeyValue **/ @Transactional(readOnly=true) public Page<CmsKeyValue> findPage(CmsKeyValueQuery query) { Assert.notNull(query,"'query' must be not null"); return cmsKeyValueDao.findPage(query); } /** * 为创建时初始化相关默认值 **/ public void initDefaultValuesForCreate(CmsKeyValue cmsKeyValue) { cmsKeyValue.setDateCreated(new Date()); } /** * CmsKeyValue的属性检查类,根据自己需要编写自定义检查 **/ public class CmsKeyValueChecker { /**可以在此检查只有更新才需要的特殊检查 */ public void checkUpdateCmsKeyValue(CmsKeyValue cmsKeyValue) { checkCmsKeyValue(cmsKeyValue); } /**可以在此检查只有创建才需要的特殊检查 */ public void checkCreateCmsKeyValue(CmsKeyValue cmsKeyValue) { checkCmsKeyValue(cmsKeyValue); } /** 检查到有错误请直接抛异常,不要使用 return errorCode的方式 */ public void checkCmsKeyValue(CmsKeyValue cmsKeyValue) { // Bean Validator检查,属性检查失败将抛异常 validateWithException(cmsKeyValue); //复杂的属性的检查一般需要分开写几个方法,如 checkProperty1(v),checkProperty2(v) } } @Override public boolean exist(CmsKeyValue cmsKeyValue) { CmsKeyValue result = cmsKeyValueDao.getById(cmsKeyValue.getKeyGroup(), cmsKeyValue.getStrKey()); if(result == null) { return false; } return true; } @Override public int deleteBy(Date beforeDateCreated) { return cmsKeyValueDao.deleteBy(beforeDateCreated); } }