deason %!s(int64=7) %!d(string=hai) anos
pai
achega
07cb0681c9

+ 0 - 6
src/main/java/cn/com/qmth/examcloud/app/controller/version_1_0/UserAuthRestController.java

@@ -84,12 +84,6 @@ public class UserAuthRestController {
         return userAuthService.updatePassword(key, token, userId, password);
     }
 
-    @ApiOperation(value = "手机号登录接口", hidden = true)
-    @RequestMapping(value = "/user/login/by/phone", method = {RequestMethod.GET, RequestMethod.POST})
-    public Result loginByPhone(@RequestParam String phone, @RequestParam String password) throws Exception {
-        return userAuthService.loginByPhone(phone, password);
-    }
-
     @ApiOperation(value = "保存用户绑定的手机号接口", hidden = true)
     @RequestMapping(value = "/user/binding/phone", method = {RequestMethod.GET, RequestMethod.POST})
     public Result userBindingPhone(@RequestHeader String key, @RequestHeader String token, @RequestParam Long userId, @RequestParam String phone, @RequestParam String code) throws Exception {

+ 2 - 0
src/main/java/cn/com/qmth/examcloud/app/core/config/AccessInterceptor.java

@@ -67,6 +67,8 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
             }
             //else null 则代表尚未登录
         }*/
+        //初始化内部接口鉴权
+        //redisService.initTraceRequest();
         //异步保存设备访问记录
         deviceRecordService.addDeviceRecord(record);
         return true;

+ 13 - 2
src/main/java/cn/com/qmth/examcloud/app/core/utils/HttpUtils.java

@@ -18,9 +18,12 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static cn.com.qmth.examcloud.app.model.Constants.PARAM_KEY;
-import static cn.com.qmth.examcloud.app.model.Constants.PARAM_TOKEN;
+import static cn.com.qmth.examcloud.app.model.Constants.*;
 
+/**
+ * @author: fengdesheng
+ * @since: 2018/7/16
+ */
 public class HttpUtils {
     private static Logger log = LoggerFactory.getLogger(HttpUtils.class);
 
@@ -31,7 +34,11 @@ public class HttpUtils {
                 .get()
                 .addHeader(PARAM_KEY, key)
                 .addHeader(PARAM_TOKEN, token)
+                .addHeader(TRACE_ID, ThreadUtils.getTraceID())
+                .addHeader($CLIENT, $CLIENT_VALUE)
+                .addHeader(PARAM_TOKEN, token)
                 .build();
+
         //执行请求
         log.debug("[GET] " + requestUrl);
         return call(request);
@@ -44,6 +51,8 @@ public class HttpUtils {
                 .post(formBody)
                 .addHeader(PARAM_KEY, key)
                 .addHeader(PARAM_TOKEN, token)
+                .addHeader(TRACE_ID, ThreadUtils.getTraceID())
+                .addHeader($CLIENT, $CLIENT_VALUE)
                 .build();
         //执行请求
         log.debug("[POST] " + requestUrl);
@@ -57,6 +66,8 @@ public class HttpUtils {
                 .put(formBody)
                 .addHeader(PARAM_KEY, key)
                 .addHeader(PARAM_TOKEN, token)
+                .addHeader(TRACE_ID, ThreadUtils.getTraceID())
+                .addHeader($CLIENT, $CLIENT_VALUE)
                 .build();
         //执行请求
         log.debug("[PUT] " + requestUrl);

+ 6 - 0
src/main/java/cn/com/qmth/examcloud/app/model/Constants.java

@@ -30,6 +30,12 @@ public interface Constants {
 
     String PARAM_TOKEN = "token";
 
+    String TRACE_ID = "TRACE_ID";
+
+    String $CLIENT = "$spring_cloud_client";
+
+    String $CLIENT_VALUE = "-";
+
     String TYPE_ZIP = "zip";
 
     String TYPE_PDF = "pdf";

+ 29 - 6
src/main/java/cn/com/qmth/examcloud/app/service/RedisService.java

@@ -2,10 +2,12 @@ package cn.com.qmth.examcloud.app.service;
 
 import cn.com.qmth.examcloud.app.core.exception.ApiException;
 import cn.com.qmth.examcloud.app.core.utils.JsonMapper;
+import cn.com.qmth.examcloud.app.core.utils.ThreadUtils;
 import cn.com.qmth.examcloud.app.model.UserToken;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
@@ -13,32 +15,41 @@ import java.util.concurrent.TimeUnit;
 
 import static cn.com.qmth.examcloud.app.model.Constants.REDIS_KEY_PREFIX;
 
+/**
+ * @author: fengdesheng
+ * @since: 2018/7/16
+ */
 @Service
 public class RedisService {
     private static Logger log = LoggerFactory.getLogger(RedisService.class);
     @Autowired
-    private StringRedisTemplate redisTemplate;
+    private StringRedisTemplate stringRedisTemplate;
+    @Autowired
+    private RedisTemplate<Object, Object> redisTemplate;
 
     public void set(String key, String value) {
-        redisTemplate.opsForValue().set(key, value);
+        stringRedisTemplate.opsForValue().set(key, value);
     }
 
     public void set(String key, String value, long seconds) {
-        redisTemplate.opsForValue().set(key, value, seconds, TimeUnit.SECONDS);
+        stringRedisTemplate.opsForValue().set(key, value, seconds, TimeUnit.SECONDS);
     }
 
     public String get(String key) {
-        return redisTemplate.opsForValue().get(key);
+        return stringRedisTemplate.opsForValue().get(key);
     }
 
     public boolean exist(String key) {
-        return redisTemplate.hasKey(key);
+        return stringRedisTemplate.hasKey(key);
     }
 
     public void delete(String key) {
-        redisTemplate.delete(key);
+        stringRedisTemplate.delete(key);
     }
 
+    /**
+     * 缓存用户登录信息
+     */
     public void cacheUserToken(String key, UserToken value, long seconds) {
         if (key == null) {
             throw new ApiException("Key must be not null.");
@@ -46,6 +57,9 @@ public class RedisService {
         this.set(REDIS_KEY_PREFIX + key, new JsonMapper().toJson(value), seconds);
     }
 
+    /**
+     * 获取缓存中的用户登录信息
+     */
     public UserToken getUserToken(String key) {
         if (key == null) {
             throw new ApiException("Key must be not null.");
@@ -57,4 +71,13 @@ public class RedisService {
         return null;
     }
 
+    /**
+     * 初始化内部接口鉴权
+     */
+    public void initTraceRequest() {
+        String key = "C_" + ThreadUtils.getTraceID();
+        Long millis = System.currentTimeMillis();
+        stringRedisTemplate.opsForValue().set(key, millis.toString(), 60, TimeUnit.SECONDS);
+    }
+
 }

+ 3 - 8
src/main/java/cn/com/qmth/examcloud/app/service/UserAuthService.java

@@ -7,13 +7,13 @@
 
 package cn.com.qmth.examcloud.app.service;
 
+import cn.com.qmth.examcloud.app.core.utils.HttpBuilder;
+import cn.com.qmth.examcloud.app.core.utils.HttpUtils;
+import cn.com.qmth.examcloud.app.core.utils.JsonMapper;
 import cn.com.qmth.examcloud.app.model.Constants;
 import cn.com.qmth.examcloud.app.model.ResBody;
 import cn.com.qmth.examcloud.app.model.Result;
 import cn.com.qmth.examcloud.app.model.UserInfo;
-import cn.com.qmth.examcloud.app.core.utils.HttpBuilder;
-import cn.com.qmth.examcloud.app.core.utils.HttpUtils;
-import cn.com.qmth.examcloud.app.core.utils.JsonMapper;
 import okhttp3.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -105,9 +105,4 @@ public class UserAuthService {
         return new Result().error();
     }
 
-    public Result loginByPhone(String phone, String password) {
-        //todo
-        return new Result().error();
-    }
-
 }