package com.atgguigu.atcrowdfunding.service.impl;
import java.util.List;
import java.util.Map;
import javax.security.auth.login.LoginException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.atguigu.atcrowdfunding.bean.TAdmin;
import com.atguigu.atcrowdfunding.bean.TAdminExample;
import com.atguigu.atcrowdfunding.mapper.TAdminMapper;
import com.atguigu.atcrowdfunding.service.TAdminService;
import com.atguigu.atcrowdfunding.util.Const;
@Service
public class TAdminServiceImpl implements TAdminService {
@Autowired
TAdminMapper adminMapper;
/**
* 1,密码加密
* 2,查询用户
* 3,判断密码是否合法(为空)
* 4,判断密码是否一致
* 5,返回结果
*
* 这里改成顺序结构,没有用if嵌套判断增强可读性;
* @throws LoginException
*/
@Override
public TAdmin getTAdminByLogin(Map<String, Object> paramMap) throws LoginException {
//0,密码加密后续补上
//1,获取用户名和密码
String loginacct=(String) paramMap.get("loginacct");
String userpassword=(String) paramMap.get("userpassword");
//判断是否为空
//获取数据库中该用户名的信息
TAdminExample example=new TAdminExample();
example.createCriteria().andLoginacctEqualTo(loginacct);
List<TAdmin> list = adminMapper.selectByExample(example);
if(list==null||list.size()==0) {
//这里要抛异常,创建一个自定义异常
//因为接口限定了返回值只能为用户信息,不能返回false。所以只能抛异常
throw new LoginException(Const.LOGIN_LOGINACCT_ERROR);
}
TAdmin admin=list.get(0);
if(!admin.getUserpswd().equals(userpassword)) {
throw new LoginException(Const.LOGIN_USERPSWD_ERROR);
}
return admin;
}
}