Package com.eatle.service.system.useradmin.impl

Source Code of com.eatle.service.system.useradmin.impl.RoleServiceImpl

package com.eatle.service.system.useradmin.impl;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.eatle.common.Constants;
import com.eatle.persistent.mapper.PrivMapper;
import com.eatle.persistent.mapper.RoleMapper;
import com.eatle.persistent.pojo.system.useradmin.Priv;
import com.eatle.persistent.pojo.system.useradmin.Role;
import com.eatle.persistent.pojo.system.useradmin.RoleCriteria;
import com.eatle.persistent.pojo.system.useradmin.RoleCriteria.Criteria;
import com.eatle.service.system.useradmin.IRoleService;
import com.eatle.utils.Pagination;

/**
*@Title:
*@Description:
*@Author:xt
*@Since:2012-6-19
*@Version:1.1.0
*/
@Service("roleService")
public class RoleServiceImpl implements IRoleService
{
  @Resource
  private RoleMapper roleMapper;

  @Resource
  private PrivMapper privMapper;

  @Override
  public Pagination findPagination(Map<String, Object> queryMap, int currentPage, int pageSize)
  {
    RoleCriteria roleCriteria = new RoleCriteria();
    Criteria criteria = roleCriteria.createCriteria();
    // 设置搜索条件参数
    if (queryMap != null)
    {
      if (queryMap.containsKey("roleName"))
      {
        criteria.andRoleNameLike("%" + (String) queryMap.get("roleName") + "%");
      }
      if (queryMap.containsKey("description"))
      {
        criteria.andDescriptionLike((String) queryMap .get("description"));
      }
    }
    // 设置分页参数
    roleCriteria.setPageSize(pageSize);
    roleCriteria.setStartIndex((currentPage - 1) * pageSize);

    List<Role> items = roleMapper.selectByCriteria(roleCriteria);
    int totalCount = (int) roleMapper.selectCountByCriteria(roleCriteria);

    return new Pagination(pageSize, currentPage, totalCount, items);
  }

  @Override
  public List<Role> findByCriteria(RoleCriteria criteria)
  {
    return roleMapper.selectByCriteria(criteria);
  }

  @Override
  public List<Role> findAll()
  {
    return roleMapper.selectByCriteria(null);
  }

  @Override
  public Role findById(long id)
  {
    return roleMapper.selectByPrimaryKey(id);
  }

  @Override
  public int add(Role role)
  {
    int result = Constants.Base.FAIL;
   
    RoleCriteria roleCriteria = new RoleCriteria();
    Criteria criteria = roleCriteria.createCriteria();
    criteria.andRoleNameEqualTo(role.getRoleName());
    List<Role> roles = roleMapper.selectByCriteria(roleCriteria);
    if (roles.size() < 1)
    {
      if(roleMapper.insert(role) > 0)
      {
        result = Constants.Base.SUCCESS;
      }
    }
    else
    {
      result = Constants.Base.REPEAT;
    }
    return result;
  }

  @Override
  public int update(Role role, Role oldRole)
  {
    int result = Constants.Base.FAIL;
   
    RoleCriteria roleCriteria = new RoleCriteria();
    Criteria criteria = roleCriteria.createCriteria();
    criteria.andRoleNameEqualTo(role.getRoleName());
    List<Role> roles = roleMapper.selectByCriteria(roleCriteria);
    if (roles.size() < 1)
    {
      if(roleMapper.updateByPrimaryKeySelective(role) > 0)
      {
        result = Constants.Base.SUCCESS;
      }
    }
    else
    {
      if(roles.get(0).getRoleName().equals(oldRole.getRoleName()))
      {
        if(roleMapper.updateByPrimaryKeySelective(role) > 0)
        {
          result = Constants.Base.SUCCESS;
        }
      }
      else
      {
        result = Constants.Base.REPEAT;
      }
    }
    return result;
  }

  @Override
  public int delete(Role role)
  {
    return roleMapper.deleteByPrimaryKey(role.getId());
  }

  @Override
  public List<Priv> findPrivsByRoleId(Long id)
  {
    return privMapper.selectByRoleId(id);
  }
}
TOP

Related Classes of com.eatle.service.system.useradmin.impl.RoleServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.