/* * Copyright [duowan.com] * Web Site: http://www.duowan.com * Since 2005 - 2012 */ package com.fpcms.service.impl; import static com.github.rapid.common.util.holder.BeanValidatorHolder.validateWithException; import org.apache.commons.codec.digest.DigestUtils; 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.SysUserDao; import com.fpcms.model.SysUser; import com.fpcms.query.SysUserQuery; import com.fpcms.service.SysUserService; /** * [SysUser] 的业务操作实现类 * * @author badqiu email:badqiu(a)gmail.com * @version 1.0 * @since 1.0 */ @Service("sysUserService") @Transactional public class SysUserServiceImpl implements SysUserService { protected static final Logger log = LoggerFactory.getLogger(SysUserServiceImpl.class); // // 请删除无用的方法,代码生成器只是为你生成一个架子 // private SysUserDao sysUserDao; /**增加setXXXX()方法,spring就可以通过autowire自动设置对象属性,请注意大小写*/ public void setSysUserDao(SysUserDao dao) { this.sysUserDao = dao; } /** * 创建SysUser **/ public SysUser create(SysUser sysUser) { Assert.notNull(sysUser,"'sysUser' must be not null"); initDefaultValuesForCreate(sysUser); new SysUserChecker().checkCreateSysUser(sysUser); sysUser.setPassword(getPasswordMd5(sysUser.getUsername(),sysUser.getPassword())); sysUserDao.insert(sysUser); return sysUser; } /** * 更新SysUser **/ public SysUser update(SysUser sysUser) { Assert.notNull(sysUser,"'sysUser' must be not null"); new SysUserChecker().checkUpdateSysUser(sysUser); sysUserDao.update(sysUser); return sysUser; } /** * 删除SysUser **/ public void removeById(long id) { sysUserDao.deleteById(id); } /** * 根据ID得到SysUser **/ public SysUser getById(long id) { return sysUserDao.getById(id); } /** * 分页查询: SysUser **/ @Transactional(readOnly=true) public Page<SysUser> findPage(SysUserQuery query) { Assert.notNull(query,"'query' must be not null"); return sysUserDao.findPage(query); } /** * 为创建时初始化相关默认值 **/ public void initDefaultValuesForCreate(SysUser sysUser) { } /** * SysUser的属性检查类,根据自己需要编写自定义检查 **/ public class SysUserChecker { /**可以在此检查只有更新才需要的特殊检查 */ public void checkUpdateSysUser(SysUser sysUser) { checkSysUser(sysUser); } /**可以在此检查只有创建才需要的特殊检查 */ public void checkCreateSysUser(SysUser sysUser) { checkSysUser(sysUser); } /** 检查到有错误请直接抛异常,不要使用 return errorCode的方式 */ public void checkSysUser(SysUser sysUser) { // Bean Validator检查,属性检查失败将抛异常 validateWithException(sysUser); //复杂的属性的检查一般需要分开写几个方法,如 checkProperty1(v),checkProperty2(v) } } @Override public SysUser findByUsername(String username) { return sysUserDao.findByUsername(username); } @Override public SysUser authUser(String username, String password) { SysUser user = findByUsername(username); if(user == null) { throw new RuntimeException("username error:"+username); } if(getPasswordMd5(user.getUsername(),password).equals(user.getPassword())) { return user; }else { throw new RuntimeException("password error"); } } private static String getPasswordMd5(String username,String password) { String salt = "fpcms"; //盐 return DigestUtils.md5Hex(salt+username+password); } public static void main(String[] args) { System.out.println(getPasswordMd5("fpqqchao", "asdf@1234")); } }