|
@@ -2,6 +2,7 @@ package com.fdkankan.indoor.core.service.impl;
|
|
|
|
|
|
import com.fdkankan.indoor.base.util.JwtUtil;
|
|
|
import com.fdkankan.indoor.base.util.Result;
|
|
|
+import com.fdkankan.indoor.core.dto.LoginDto;
|
|
|
import com.fdkankan.indoor.core.entity.SysUserEntity;
|
|
|
import com.fdkankan.indoor.core.entity.poi.PoiEntity;
|
|
|
import com.fdkankan.indoor.core.service.LoginService;
|
|
@@ -9,12 +10,16 @@ import com.fdkankan.indoor.core.service.SysUserService;
|
|
|
import com.fdkankan.indoor.core.vo.BaseVo;
|
|
|
import com.fdkankan.indoor.core.vo.UserVo;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.junit.Test;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.beans.Transient;
|
|
|
import java.util.HashMap;
|
|
|
|
|
|
/**
|
|
@@ -30,11 +35,17 @@ public class LoginServiceImpl implements LoginService {
|
|
|
@Autowired
|
|
|
MongoTemplate mongoTemplate;
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ HttpServletRequest request;
|
|
|
+
|
|
|
// 目前是24h
|
|
|
private static Integer TOKEN_EXPIRE = 1000 * 60 * 60 * 24;
|
|
|
|
|
|
@Override
|
|
|
- public Result login(String username, String password) {
|
|
|
+ public Result login(LoginDto param) {
|
|
|
+ String password = param.getPassword();
|
|
|
+ String username = param.getUsername();
|
|
|
|
|
|
SysUserEntity dbUser = sysUserService.findByUserName(username);
|
|
|
if (dbUser == null) {
|
|
@@ -68,7 +79,7 @@ public class LoginServiceImpl implements LoginService {
|
|
|
@Override
|
|
|
public Result groups(String sceneCode) {
|
|
|
Query query = new Query();
|
|
|
- query.addCriteria(Criteria.where("sceneCode").is(sceneCode));
|
|
|
+ query.addCriteria(Criteria.where("sceneCode").is(getIsLogin()));
|
|
|
BaseVo vo = mongoTemplate.findOne(query, BaseVo.class, "t_group");
|
|
|
return Result.success(vo.getData());
|
|
|
}
|
|
@@ -76,7 +87,7 @@ public class LoginServiceImpl implements LoginService {
|
|
|
@Override
|
|
|
public Result license(String sceneCode) {
|
|
|
Query query = new Query();
|
|
|
- query.addCriteria(Criteria.where("sceneCode").is(sceneCode));
|
|
|
+ query.addCriteria(Criteria.where("sceneCode").is(getIsLogin()));
|
|
|
BaseVo vo = mongoTemplate.findOne(query, BaseVo.class, "t_license");
|
|
|
return Result.success(vo.getData());
|
|
|
}
|
|
@@ -100,8 +111,11 @@ public class LoginServiceImpl implements LoginService {
|
|
|
@Override
|
|
|
public Result user(String sceneCode) {
|
|
|
Query query = new Query();
|
|
|
-// query.addCriteria(Criteria.where("sceneCode").is(sceneCode));
|
|
|
+ query.addCriteria(Criteria.where("sceneCode").is(getIsLogin()));
|
|
|
BaseVo vo = mongoTemplate.findOne(query, BaseVo.class, "t_user");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
return Result.success(vo.getData());
|
|
|
}
|
|
|
|
|
@@ -128,4 +142,56 @@ public class LoginServiceImpl implements LoginService {
|
|
|
BaseVo vo = mongoTemplate.findOne(query, BaseVo.class, "t_poi_types");
|
|
|
return Result.success(vo.getData());
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检查登录
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private Boolean checkToken(){
|
|
|
+ String token = request.getHeader("X-Authorization");
|
|
|
+// String token = request.getHeader("token");
|
|
|
+ log.info("token: {}", token);
|
|
|
+ if (token == null) {
|
|
|
+ // 未登录
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ token = token.replaceAll("Bearer\r", "");
|
|
|
+ log.info("处理后的token1: {}", token);
|
|
|
+ token = token.replaceAll(" Bearer ", "");
|
|
|
+ log.info("处理后的token2: {}", token);
|
|
|
+
|
|
|
+ // 有token就先让他过, 不做处理
|
|
|
+ // 验证token
|
|
|
+// String username = JwtUtil.getUsername(token);
|
|
|
+// if (! JwtUtil.isVerify(token, username)) {
|
|
|
+// log.error("token invalid");
|
|
|
+// return false;
|
|
|
+// }
|
|
|
+
|
|
|
+ // 已登录
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取登陆值
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private String getIsLogin(){
|
|
|
+ String isLogin = "login";
|
|
|
+ if (!checkToken()) {
|
|
|
+ isLogin = "unLogin";
|
|
|
+ }
|
|
|
+ log.info("isLogin:{}", isLogin);
|
|
|
+ return isLogin;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void test(){
|
|
|
+ String token = "Bearer eyJhbGciOiJIUzI1NiJ9.e";
|
|
|
+ token = token.replaceAll("Bearer\r", "");
|
|
|
+ System.out.println(token);
|
|
|
+ }
|
|
|
}
|