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

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

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

import com.eatle.common.Constants;
import com.eatle.persistent.mapper.MerchantMapper;
import com.eatle.persistent.mapper.RoleMapper;
import com.eatle.persistent.mapper.UserMapper;
import com.eatle.persistent.pojo.merchant.Merchant;
import com.eatle.persistent.pojo.system.useradmin.Role;
import com.eatle.persistent.pojo.system.useradmin.User;
import com.eatle.persistent.pojo.system.useradmin.UserCriteria;
import com.eatle.persistent.pojo.system.useradmin.UserCriteria.Criteria;
import com.eatle.service.system.useradmin.IUserService;
import com.eatle.utils.Pagination;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;

import org.springframework.stereotype.Service;

@Service("userService")
public class UserServiceImpl implements IUserService
{
  @Resource
  private UserMapper userMapper;
 
  @Resource
  private RoleMapper roleMapper;
 
  @Resource
  private MerchantMapper merchantMapper;
 
  @Resource
  private Map<String, String> userTypeStr;
 
  @Resource
  private Map<String, String> userTypeHtml;

  @Override
  public int add(User user)
  {
    int result = Constants.Base.FAIL;
   
    UserCriteria userCriteria = new UserCriteria();
    Criteria criteria = userCriteria.createCriteria();
    criteria.andUserNameEqualTo(user.getUserName());
    List<User> users = userMapper.selectByCriteria(userCriteria);

    if (users.size() < 1)
    {
      if(userMapper.insert(user) > 0)
      {
        result = Constants.Base.SUCCESS;
      }
    }
    else
    {
      result = Constants.Base.REPEAT;
    }
    return result;
  }

  @Override
  public int delete(User entity)
  {
    return userMapper.deleteByPrimaryKey(entity.getId());
  }

  @Override
  public int update(User user)
  {
    int result = Constants.Base.FAIL;
    if(userMapper.updateByPrimaryKeySelective(user) > 0)
    {
      result = Constants.Base.SUCCESS;
    }
    return result;
  }
 
  @Override
  public int update(User user, User oldUser)
  {
    int result = Constants.Base.FAIL;
   
    UserCriteria userCriteria = new UserCriteria();
    Criteria criteria = userCriteria.createCriteria();
    criteria.andUserNameEqualTo(user.getUserName());
    List<User> users = userMapper.selectByCriteria(userCriteria);
    if (users.size() < 1)
    {
      if(userMapper.updateByPrimaryKeySelective(user) > 0)
      {
        result = Constants.Base.SUCCESS;
      }
    }
    else
    {
      if(users.get(0).getUserName().equals(oldUser.getUserName()))
      {
        if(userMapper.updateByPrimaryKeySelective(user) > 0)
        {
          result = Constants.Base.SUCCESS;
        }
      }
      else
      {
        result = Constants.Base.REPEAT;
      }
    }
    return result;
  }

  @Override
  public Pagination findPagination(Map<String, Object> queryMap,
      int currentPage, int pageSize)
  {
    UserCriteria userCriteria = new UserCriteria();
    Criteria criteria = userCriteria.createCriteria();
    // 设置搜索条件参数
    if (queryMap != null)
    {
      if (queryMap.containsKey("userName"))
      {
        criteria.andUserNameLike("%" + queryMap.get("userName") + "%");
      }
      if (queryMap.containsKey("email"))
      {
        criteria.andEmailLike("%" + queryMap.get("email") + "%");
      }
      if (queryMap.containsKey("type"))
      {
        criteria.andTypeEqualTo(Short.parseShort((String) queryMap.get("type")));
      }
      if (queryMap.containsKey("roleId"))
      {
        criteria.andRoleIdEqualTo(Long.parseLong((String) queryMap.get("roleId")));
      }
      if (queryMap.containsKey("merchantId"))
      {
        criteria.andMerchantIdEqualTo(Long.parseLong((String) queryMap.get("merchantId")));
      }
    }
    // 设置分页参数
    userCriteria.setPageSize(pageSize);
    userCriteria.setStartIndex((currentPage - 1) * pageSize);
   
    List<User> items = userMapper.selectByCriteria(userCriteria);
    List<Role> roles = roleMapper.selectByCriteria(null);
    List<Merchant> merchants = merchantMapper.selectByCriteria(null);
    for(User user : items)
    {
      user.setTypeStr(userTypeHtml.get("" + user.getType()));
     
      for(Role role : roles)
      {
        if(user.getRoleId() == role.getId())
        {
          user.setRoleStr(role.getRoleName());
          break;
        }
      }
      for(Merchant merchant : merchants)
      {
        if(user.getMerchantId() == merchant.getId())
        {
          user.setMerchantStr(merchant.getMerchantName());
          break;
        }
      }
    }
    int totalCount = (int) userMapper.selectCountByCriteria(userCriteria);
    return new Pagination(pageSize, currentPage, totalCount, items);
  }

  @Override
  public User findById(long id)
  {
    return userMapper.selectByPrimaryKey(id);
  }

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

  @Override
  public List<User> findByCriteria(UserCriteria criteria)
  {
    return userMapper.selectByCriteria(criteria);
  }

  @Override
  public User find(User user)
  {
    return userMapper.find(user);
  }

  @SuppressWarnings("unchecked")
  @Override
  public LinkedHashMap<String, List> getExportData()
  {
    LinkedHashMap<String, List> map = new LinkedHashMap<String, List>();
    List<Role> roles = roleMapper.selectByCriteria(null);
    List<Merchant> merchants = merchantMapper.selectByCriteria(null);
    List<User> dataList = findAll();
    for(User user : dataList)
    {
      user.setTypeStr(userTypeStr.get("" + user.getType()));
     
      for(Role role : roles)
      {
        if(user.getRoleId() == role.getId())
        {
          user.setRoleStr(role.getRoleName());
          break;
        }
      }
      for(Merchant merchant : merchants)
      {
        if(user.getMerchantId() == merchant.getId())
        {
          user.setMerchantStr(merchant.getMerchantName());
          break;
        }
      }
    }
    map.put("后台用户信息", dataList);
    return map;
  }
}
TOP

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

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.