xufenglei
2018-07-18 8d2d5103aea98fab6ad94acd1c8421c05d1108fa
src/main/java/com/moral/service/impl/AccountServiceImpl.java
@@ -2,7 +2,6 @@
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;
@@ -11,6 +10,7 @@
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -22,6 +22,7 @@
import com.moral.common.exception.BusinessException;
import com.moral.common.util.Crypto;
import com.moral.common.util.ResourceUtil;
import com.moral.common.util.ValidateUtil;
import com.moral.entity.Account;
import com.moral.entity.Organization;
import com.moral.mapper.AccountMapper;
@@ -50,9 +51,11 @@
      Map<String, Object> result = new HashMap<String, Object>();
      Account account = new Account();
      account.setAccountName((String) parameters.get("account"));
      account.setPassword(md5((String) parameters.get("password")));
      String rawPassword = (String) parameters.get("password");
//      account.setPassword(encoder.encode((String) parameters.get("password")));
      account = accountMapper.selectOne(account);
      if (isEmpty(account)) {
      boolean isValid = account == null ? false:encoder.matches(rawPassword,account.getPassword());
      if (!isValid) {
         result.put("msg", "用户名及密码输入错误!");
      } else {
         if (IS_DELETE_FALSE.equals(account.getIsDelete())) {
@@ -141,6 +144,10 @@
   @Override
   @Transactional
   public Integer saveOrUpdateAccount(Account account) {
      // 重置密码
      if(!StringUtils.isBlank(account.getPassword())){
         account.setPassword(encoder.encode(account.getPassword()));
      }
      if (ObjectUtils.isEmpty(account.getId())) {
         account.setIsDelete(Constants.IS_DELETE_FALSE);
         account.setCreateTime(new Date());
@@ -171,9 +178,24 @@
   @Override
   public Optional<Account> queryAccountByName(String accountName) {
      Account account = accountMapper.getByAccountName(accountName);
      if(account!=null){
      }
      return Optional.ofNullable(account);
   }
   @Override
   public Account companyLogin(Map<String, Object> parameters) {
      ValidateUtil.notNull(parameters.get("account"), "param.is.null");
      ValidateUtil.notNull(parameters.get("password"), "param.is.null");
      Account account = new Account();
      account.setIsDelete(Constants.IS_DELETE_FALSE);
      account.setAccountName(parameters.get("account").toString());
      account = accountMapper.selectOne(account);
      if (ObjectUtils.isEmpty(account)) {
         throw new BusinessException("账户不存在,请联系管理员!");
      }
      if (!encoder.matches(parameters.get("password").toString(), account.getPassword())) {
         throw new BusinessException("密码错误,请重新输入!");
      }
      account.setPassword(parameters.get("password").toString());
      return account;
   }
}