| | |
| | | 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.List;
|
| | | import java.util.Map;
|
| | | import java.util.Set;
|
| | |
|
| | | import org.apache.commons.lang3.StringUtils;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.util.ObjectUtils;
|
| | |
|
| | | import com.moral.common.bean.ResultBean;
|
| | | import com.moral.common.exception.BusinessException;
|
| | | import com.moral.common.util.Crypto;
|
| | | import com.moral.entity.Account;
|
| | | import com.moral.entity.AccountExample;
|
| | | import com.moral.mapper.AccountMapper;
|
| | | import com.moral.service.AccountService;
|
| | | import com.moral.service.OrganizationService;
|
| | | import com.moral.util.BusinessException;
|
| | | import com.moral.util.Crypto;
|
| | | import com.moral.util.ResourceUtil;
|
| | |
|
| | | @Service
|
| | | public class AccountServiceImpl implements AccountService {
|
| | |
| | | public Map<String, Object> screenLogin(Map<String, Object> parameters) {
|
| | | Map<String, Object> result = new HashMap<String, Object>();
|
| | | AccountExample example = new AccountExample();
|
| | | String password = Crypto.md5((String) parameters.get("account"));
|
| | | String password = md5((String) parameters.get("account"));
|
| | | example.or().andAccountNameEqualTo((String) parameters.get("account")).andPasswordEqualTo(password);
|
| | | List<Account> accounts = accountMapper.selectByExample(example);
|
| | | if (ObjectUtils.isEmpty(accounts) || accounts.size() != 1) {
|
| | | if (isEmpty(accounts) || accounts.size() != 1) {
|
| | | result.put("msg", "用户名及密码输入错误!");
|
| | | } else {
|
| | | Account account = accounts.get(0);
|
| | | if ("1".equals(account.getIsDelete())) {
|
| | | if (IS_DELETE_FALSE.equals(account.getIsDelete())) {
|
| | | result.put("msg", "登录成功!");
|
| | | result.put("accountId", account.getId());
|
| | | } else {
|
| | |
| | | return result;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public ResultBean<Account> screenLogin1(Map<String, Object> parameters) {
|
| | | ResultBean<Account> resultBean = new ResultBean<Account>();
|
| | | AccountExample example = new AccountExample();
|
| | | String password = Crypto.md5((String) parameters.get("password"));
|
| | | example.or().andAccountNameEqualTo((String) parameters.get("account")).andPasswordEqualTo(password);
|
| | | List<Account> accounts = accountMapper.selectByExample(example);
|
| | | if (isEmpty(accounts) || accounts.size() != 1) {
|
| | | resultBean.setMsg("用户名及密码输入错误!");
|
| | | resultBean.setCode(ResultBean.FAIL);
|
| | | } else {
|
| | | Account account = accounts.get(0);
|
| | | if (IS_DELETE_FALSE.equals(account.getIsDelete())) {
|
| | | resultBean.setData(account);
|
| | | } else {
|
| | | resultBean.setCode(ResultBean.NO_PERMISSION);
|
| | | resultBean.setMsg("您的账号已禁用,请联系管理员!");
|
| | | }
|
| | | }
|
| | | return resultBean;
|
| | | }
|
| | |
|
| | | |
| | | @Override
|
| | | public List<Account> getAccountLists(String accountName, String password) {
|
| | | AccountExample example = new AccountExample();
|
| | |
| | | public void setOrgIdsByAccount(Map<String, Object> parameters) {
|
| | | String accountId = (String) parameters.get("accountId");
|
| | | accountId = accountId.replaceFirst("-", "");
|
| | | if (!StringUtils.isNumeric((String) parameters.get("accountId"))) {
|
| | | if (!isNumeric((String) parameters.get("accountId"))) {
|
| | | throw new BusinessException("accountId 参数不合法!");
|
| | | }
|
| | |
|
| | | Account account = accountMapper.selectByPrimaryKey((Integer.valueOf(accountId)));
|
| | | if (ObjectUtils.isEmpty(account) || "1".equals(account.getIsDelete())) {
|
| | | throw new BusinessException(accountId + "该账号不存在!");
|
| | | if (isEmpty(account) || IS_DELETE_TRUE.equals(account.getIsDelete())) {
|
| | | throw new BusinessException(accountId + ":该账号不存在!");
|
| | | }
|
| | | Integer orgId = account.getOrganizationId();
|
| | | // 不是摩瑞尔账号的需要根据组织来获取数据权限
|
| | |
|
| | | if (!("-1".equals(orgId) || ResourceUtil.getValue("orgId").equals(orgId))) {
|
| | | if (!(-1 == orgId || getValue("orgId").equals(orgId))) {
|
| | | Set<Integer> orgIds = organizationService.getChildOrganizationIds(orgId);
|
| | | parameters.put("orgIds", orgIds);
|
| | | }
|