package com.sobey.cmop.mvc.comm; import javax.annotation.Resource; import org.apache.shiro.SecurityUtils; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; import com.sobey.cmop.mvc.service.account.ShiroDbRealm.ShiroUser; import com.sobey.framework.utils.PropertiesLoader; /** * Service的基类 * * <pre> * 包含了常用的分页参数,当前用户ID,所有业务的Service注入等. * 建议每个Sevice都实现此类. * </pre> * * @author liukai * */ public class BaseSevcie { /** * 公共的Service */ @Resource public CommonService comm; /** * 加载config.propertie文件 */ public static PropertiesLoader CONFIG_LOADER = new PropertiesLoader("classpath:/config.properties"); /** * 创建分页请求. 默认以id为DESC 倒序查询 */ public PageRequest buildPageRequest(int pageNumber, int pagzSize) { return new PageRequest(pageNumber - 1, pagzSize, new Sort(Direction.DESC, "id")); } /** * 创建分页请求. 以传入的sort排序 */ public PageRequest buildPageRequest(int pageNumber, int pagzSize, Sort sort) { return new PageRequest(pageNumber - 1, pagzSize, sort); } /** * 获得当前登录用户的ID * * @return */ public Integer getCurrentUserId() { ShiroUser user = (ShiroUser) SecurityUtils.getSubject().getPrincipal(); return user != null ? user.id : null; } }