package com.moral.service.impl; import static com.moral.common.bean.Constants.IS_DELETE_FALSE; import static com.moral.common.bean.Constants.IS_DELETE_TRUE; import static com.moral.common.util.Crypto.md5; import static com.moral.common.util.ResourceUtil.getValue; import static org.apache.commons.lang3.StringUtils.isNumeric; import static org.springframework.util.ObjectUtils.isEmpty; import java.util.HashMap; import java.util.Map; import java.util.Set; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.moral.common.exception.BusinessException; import com.moral.entity.Account; import com.moral.mapper.AccountMapper; import com.moral.service.AccountService; import com.moral.service.OrganizationService; @Service public class AccountServiceImpl implements AccountService { @Resource private AccountMapper accountMapper; @Resource private OrganizationService organizationService; @Override public Map screenLogin(Map parameters) { Map result = new HashMap(); Account account = new Account(); account.setAccountName((String) parameters.get("account")); account.setPassword(md5((String) parameters.get("password"))); account = accountMapper.selectOne(account); if (isEmpty(account)) { result.put("msg", "用户名及密码输入错误!"); } else { if (IS_DELETE_FALSE.equals(account.getIsDelete())) { result.put("msg", "登录成功!"); result.put("accountId", account.getId()); result.put("orgId", account.getOrganizationId()); } else { result.put("msg","您的账号已禁用,请联系管理员!"); } } return result; } @Override public Account getAccountByAccountName(String accountName) { Account account = new Account(); account.setAccountName(accountName); return accountMapper.selectOne(account); } @Override public void setOrgIdsByAccount(Map parameters) { String accountId = (String) parameters.get("accountId"); accountId = accountId.replaceFirst("-", ""); if (!isNumeric((String) parameters.get("accountId"))) { throw new BusinessException("accountId 参数不合法!"); } Account account = accountMapper.selectByPrimaryKey((Integer.valueOf(accountId))); if (isEmpty(account) || IS_DELETE_TRUE.equals(account.getIsDelete())) { throw new BusinessException(accountId + ":该账号不存在!"); } Integer orgId = account.getOrganizationId(); // 不是摩瑞尔账号的需要根据组织来获取数据权限 if (!(-1 == orgId || getValue("orgId").equals(orgId))) { Set orgIds = organizationService.getChildOrganizationIds(orgId); parameters.put("orgIds", orgIds); } } }