//账户密码登录
public class LoginServiceImpl implements LoginService {
@Value("${md-url}")
private String url;
@Value("${md-accountSid}")
private String accountSid;
@Value("${md-accountToken}")
private String accountToken;
@Autowired
SysUserMapper sysUserMapper;
@Autowired
UsersService usersService;
@Autowired
RedisOperator redisOperator;
//用户名密码登录
@RequestMapping("/login")
@Override
public Object accountLogin(String userName, String passWord) throws Exception {
if (!StringUtils.isEmpty(userName) && !StringUtils.isEmpty(passWord)) {
//亿家账号和手机号都可以作为登录的用户名
SysUser sysuser = sysUserMapper.getUserByUsername(userName);
SysUser sysuser1 = sysUserMapper.getUserByPhone(userName);
if (sysuser == null && sysuser1 == null) {
return new Results(404, "");
}
String md5Pwd=null;
String md5Pwd1=null;
if(sysuser != null ) {
// md5Pwd = new SimpleHash("SHA-1", sysuser.getUsername(), passWord).toString();
md5Pwd = new SimpleHash("SHA-1", "username", passWord).toString();
}else {
// md5Pwd1 = new SimpleHash("SHA-1", sysuser1.getUsername(), passWord).toString();
md5Pwd1 = new SimpleHash("SHA-1", "username", passWord).toString();
}
if ((sysuser != null && sysuser1 == null) || ((sysuser != null && sysuser1 != null))) {
if (md5Pwd.equals(sysuser.getPassword())) {
//登录成功
String token = TokenUtil.getInstance().makeToken();
redisOperator.set(1, token, new SysUser().setUsername(userName).setUserId(sysuser.getUserId()));
return new Results(Const.LOGIN_SUCCESS, "登录成功", token);
}
}
if(sysuser == null && sysuser1 != null){
if(md5Pwd1.equals(sysuser1.getPassword())){
String token = TokenUtil.getInstance().makeToken();
redisOperator.set(1, token, new SysUser().setUsername(userName).setUserId(sysuser1.getUserId()));
return new Results(Const.LOGIN_SUCCESS, "登录成功", token);
}
}
}
return new Results(Const.LOGIN_ACCOUNT_ERROR, "验证码错误");
}
}
注册:
public class RegisterServiceImlp implements RegisterService {
@Autowired
SysUserMapper sysUserMapper;
@Override
public Results accountRegister(HttpServletRequest request,String userName, String passWord, String phone) throws Exception {
String uuid = UuidUtil.get32UUID();
Map<String,Object> resultMap = new HashMap<>();
SysUser regUser = new SysUser();
regUser.setUserId(uuid);
regUser.setUsername(userName);
String phone1=sysUserMapper.getUserExistByPhone(phone);
if(phone1 != null){
return new Results(Const.ERROR,"exist");
}
regUser.setPhone(phone);
//因为登录时可以用账户名或者手机号登录,所以密码生成只能用固定字符串和密码生成而不能用用户名和密码生成
regUser.setPassword(new SimpleHash("SHA-1", "username", passWord).toString());
//待完成:获取当前用户ip
regUser.setIp("192.168.1.1");
if (sysUserMapper.insertSelective(regUser) > 0){
return new Results(Const.LOGIN_SUCCESS,"success",uuid);
}else{
return new Results(Const.ERROR,"error");
}
}
}