
com.allways.base.service.BaseService Maven / Gradle / Ivy
package com.allways.base.service;
import com.allways.base.dao.BaseMapper;
import com.allways.base.model.BaseModel;
import com.allways.base.model.PageParam;
import com.allways.base.model.ResponseBean;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author lirui
*
* 公共方法实现类
**/
public interface BaseService {
/**
* 获取真实dao,模板模式
* @return 抽象类
*/
public abstract BaseMapper getDao();
/**
* 保存方法
* @param t 保存实体
*/
@Transactional(rollbackFor = Exception.class)
default public void save(T t) {
getDao().save(t);
}
/**
* 查询分页列表
* @param param 请求参数
* @return 分页结果
*/
default public PageInfo pageList(P param) {
PageHelper.startPage(param.getPageNumber(),param.pageSize,param.sort +" "+param.order);
List list = getDao().pageList(param);
PageInfo pageInfo = new PageInfo<>(list);
return pageInfo;
}
/**
* 更新
* @param t 更新实体
* @return 更新结果
*/
@Transactional(rollbackFor = Exception.class)
default public ResponseBean update(T t){
if(t == null){
return ResponseBean.FAIL;
}
//比较版本号
Integer compareResult = getDao().compareVersion(t.getId(), t.getVersion());
if(compareResult == null){
return new ResponseBean(ResponseBean.FAIL_CODE,"未更新成功,有其他操作更新了版本号");
}
getDao().update(t);
return ResponseBean.SUCCESS;
}
/**
* 删除
* @param id 删除ID
*/
default public void delete(Long id){
getDao().delete(id);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy