配置文件
服务端
接口
public interface CxfUserService {
public UsersBean findUserByloginnumber(String loginnumber);
}
实现类
@Service
@WebService
public class CxfUserServiceImpl implements CxfUserService {
@Autowired
private CxfUserDao cxfUserDao;
@Override
public UsersBean findUserByloginnumber(@WebParam(name=“loginnumber”)String loginnumber) {
return cxfUserDao.findUserByloginnumber(loginnumber);
}
}
public interface CxfUserDao {
@Select("select id,name,login_number as loginnumber,password,sex,birth,deptid,detail,email, head_img as headImg,province,city,roleid from t_user where login_number=#{value}")
UsersBean findUserByloginnumber(String loginnumber);
}
客户端
@Autowired
private CxfUserServiceImpl cxfUserServiceImpl;
@Override
public HashMap<String, Object> login(UsersBean usersBean, String imgcode, HttpServletRequest request) {
HashMap<String, Object> result = new HashMap<>();
HttpSession session = request.getSession();
String sessioncode = session.getAttribute("imgcode").toString();
//判断验证码是否和session中的一致
if(!imgcode.equals(sessioncode)) {
result.put("code", 1);
result.put("msg", "验证码错误");
return result;
}
com.jk.cqd.service.webservice.UsersBean userInfo = cxfUserServiceImpl.findUserByloginnumber(usersBean.getLoginnumber());
//判断账号是否存在
if(userInfo==null) {
result.put("code",2);
result.put("msg","账号不存在");
return result;
}
//判断前台输入的密码和数据库的是否一致
String password = usersBean.getPassword();
if(!userInfo.getPassword().equals(password)) {
result.put("code",3);
result.put("msg","密码错误");
return result;
}
//将用户的最新权限查询出来放到redis缓存中
List<TreeBean> findRolePower = userDao.findUserPowerList(userInfo.getId());
redisTemplate.opsForList().leftPush(ConstantConf.USER_POWER_LIST+userInfo.getId(), findRolePower);
//将用户的左侧导航树缓存到redis中;
List<TreeBean> findTreeAllCommon = userDao.findTreeAllCommon(userInfo.getId());
redisTemplate.opsForList().leftPush(ConstantConf.USER_NAV_LIST+userInfo.getId(), findTreeAllCommon);
///将用户信息保存到session
BeanUtils.copyProperties(userInfo ,usersBean);
session.setAttribute(session.getId(), usersBean);
//将用户信息存入实体Bean
CheckLoginBean checkLoginBean = new CheckLoginBean();
checkLoginBean.setName(usersBean.getName());
checkLoginBean.setStatus(1);
ConstantConf.checkLoginBean=checkLoginBean;
result.put("code",0);
result.put("msg","登陆成功");
return result;
}