From d39a00f4f0c231f245ed111273a6743090a26cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E4=B8=80=E9=B8=A3?= Date: Wed, 26 Aug 2020 10:46:11 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E7=94=A8=E6=88=B7=E4=B8=AD=E5=BF=83=20?= =?UTF-8?q?=E9=89=B4=E6=9D=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhehekeji/common/util/HttpUtil.java | 35 ++++++++-------- .../filter/aspect/SessionAspect.java | 26 +++++++----- .../web/controller/AppCenterController.java | 40 +++++++++++++++++++ .../web/controller/OrderController.java | 12 +++++- .../web/controller/StreetController.java | 5 ++- .../zhehekeji/web/controller/controller.java | 14 ------- .../java/com/zhehekeji/web/pojo/IndexVO.java | 15 +++++++ web/src/main/resources/application-test.yml | 2 +- 8 files changed, 103 insertions(+), 46 deletions(-) create mode 100644 web/src/main/java/com/zhehekeji/web/controller/AppCenterController.java delete mode 100644 web/src/main/java/com/zhehekeji/web/controller/controller.java create mode 100644 web/src/main/java/com/zhehekeji/web/pojo/IndexVO.java diff --git a/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java b/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java index 726637b..2211fc8 100644 --- a/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java +++ b/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java @@ -36,12 +36,19 @@ public class HttpUtil { * * @return */ - public static String doGet(String url) { + public static String doGet(String url) throws IOException { HttpGet httpGet = new HttpGet(url); httpGet.setConfig(requestConfig); return response(httpGet); } + public static String token(String url,String token) throws IOException { + HttpGet httpGet = new HttpGet(url); + httpGet.setHeader("token",token); + httpGet.setConfig(requestConfig); + return response(httpGet); + } + /** * post请求(请求参数是 name1=value1&name2=value2 的形式) * @@ -49,7 +56,7 @@ public class HttpUtil { * @param params * @return */ - public static String doPost(String url, String params) { + public static String doPost(String url, String params) throws IOException { HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Accept", "*/*"); httpPost.setHeader("Accept-Charset", "UTF-8"); @@ -67,7 +74,7 @@ public class HttpUtil { * @param map * @return */ - public static String doMapPost(String url, Map map) { + public static String doMapPost(String url, Map map) throws IOException { String params = buildParam(map); return doPost(url, params); } @@ -79,7 +86,7 @@ public class HttpUtil { * @param params * @return */ - public static String doJsonPost(String url, String params) { + public static String doJsonPost(String url, String params) throws IOException { HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Accept", "application/json"); httpPost.setHeader("Content-Type", "application/json"); @@ -89,23 +96,17 @@ public class HttpUtil { return response(httpPost); } - private static String response(HttpUriRequest request) { + private static String response(HttpUriRequest request) throws IOException { CloseableHttpResponse response = null; try { response = httpClient.execute(request); - if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { - HttpEntity responseEntity = response.getEntity(); - if (responseEntity != null) { - String jsonString = EntityUtils.toString(responseEntity, "UTF-8"); - /** 消耗掉entity对象 **/ - EntityUtils.consume(responseEntity); - return jsonString; - } - } else { - log.error("发起http请求异常:url:{}", request.getURI()); + HttpEntity responseEntity = response.getEntity(); + if (responseEntity != null) { + String jsonString = EntityUtils.toString(responseEntity, "UTF-8"); + /** 消耗掉entity对象 **/ + EntityUtils.consume(responseEntity); + return jsonString; } - } catch (Exception e) { - log.error("请求异常:{}" + e); } finally { if (response != null) { try { diff --git a/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java b/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java index 9cf0963..0ee91b7 100644 --- a/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java +++ b/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java @@ -1,6 +1,9 @@ package com.zhehekeji.filter.aspect; +import com.alibaba.fastjson.JSONObject; +import com.zhehekeji.common.util.HttpUtil; import com.zhehekeji.core.pojo.HttpStatus; +import com.zhehekeji.core.pojo.Result; import com.zhehekeji.core.util.Assert; import com.zhehekeji.filter.FilterConstance; import com.zhehekeji.filter.pojo.CurrentUser; @@ -18,6 +21,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; /** * @Description Session切面 @@ -31,6 +35,8 @@ public class SessionAspect { @Value("${zhehe.filter.enable}") private Boolean enable; + @Value("${userUrl}") + private String userUrl; /** * zhehekeji..*.controller @@ -39,23 +45,23 @@ public class SessionAspect { * @param sessionHandler */ @Before("execution(public * com.zhehekeji..*.controller.*.*(..))&&@annotation(sessionHandler)") - public void handler(SessionHandler sessionHandler) { + public void handler(SessionHandler sessionHandler){ if(!enable){ return; } HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); - CurrentUser currentUser = null; String token = request.getHeader(FilterConstance.HEADER); - if (UserType.ACCOUNT.equals(sessionHandler.userType())) { - log.info("token:" + token); - if (!StringUtils.isEmpty(token)) { - currentUser = JwtUtil.getUser(request); - if (currentUser != null) { - - } + CurrentUser currentUser = null; + try { + String res = HttpUtil.token(userUrl+"/api/account/checkToken",token); + Result currentUserResult = JSONObject.parseObject(res,Result.class); + if(currentUserResult != null && currentUserResult.getCode() == 200){ + currentUser = JSONObject.parseObject(JSONObject.toJSONString(currentUserResult.getData()),CurrentUser.class); } - } else if (UserType.USER.equals(sessionHandler.userType())) { + } catch (IOException e) { + e.printStackTrace(); } + if (sessionHandler.login()) { Assert.isTrue(currentUser != null, HttpStatus.UNAUTHORIZED.getCode(), HttpStatus.UNAUTHORIZED.getReasonPhrase()); } diff --git a/web/src/main/java/com/zhehekeji/web/controller/AppCenterController.java b/web/src/main/java/com/zhehekeji/web/controller/AppCenterController.java new file mode 100644 index 0000000..c470d1f --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/controller/AppCenterController.java @@ -0,0 +1,40 @@ +package com.zhehekeji.web.controller; + +import com.alibaba.fastjson.JSONObject; +import com.zhehekeji.common.util.HttpUtil; +import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.core.util.Assert; +import com.zhehekeji.web.pojo.IndexVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@Api(value = "AppCenterController", tags = "用户中心") +@RequestMapping(value = "/app") +@RestController(value = "AppCenterController") +@Slf4j +public class AppCenterController { + + @Value("${userUrl}") + private String userUrl; + + @GetMapping("/userCenter") + @ApiOperation(value = "用户中心") + public Result userCenter() { + Result result = null; + try { + String res = HttpUtil.doGet(userUrl+"/api/app/userCenter"); + result = JSONObject.parseObject(res,Result.class); + } catch (IOException e) { + log.error("请求用户中心地址失败:{}",e); + Assert.isTrue(false,"请求用户中心地址失败"); + } + return result; + } +} diff --git a/web/src/main/java/com/zhehekeji/web/controller/OrderController.java b/web/src/main/java/com/zhehekeji/web/controller/OrderController.java index cb79bd4..aa4ab35 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/OrderController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/OrderController.java @@ -33,7 +33,6 @@ public class OrderController { @ApiOperation("新增") @PostMapping("/") - //@SessionHandler(userType = UserType.ACCOUNT) public Result save(@RequestBody OrderSaveReq saveReq){ validatorUtil.validate(saveReq); Assert.isTrue(postToken.equals(saveReq.getToken()),"token不正确"); @@ -42,12 +41,21 @@ public class OrderController { @PostMapping("/list") @ApiOperation(value = "查询") - //@SessionHandler(userType = UserType.ACCOUNT) + @SessionHandler public Result> findRoleList(@RequestBody OrderSearch orderSearch) { validatorUtil.validate(orderSearch); return new Result<>(orderService.orders(orderSearch)); } + @GetMapping("/media") + //@ApiOperation(value = "视频测试") + //@SessionHandler(userType = UserType.ACCOUNT) + public void media() { + + } + + + diff --git a/web/src/main/java/com/zhehekeji/web/controller/StreetController.java b/web/src/main/java/com/zhehekeji/web/controller/StreetController.java index 5f4aace..40adb9f 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/StreetController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/StreetController.java @@ -1,6 +1,7 @@ package com.zhehekeji.web.controller; import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.filter.pojo.SessionHandler; import com.zhehekeji.web.entity.Order; import com.zhehekeji.web.entity.Street; import com.zhehekeji.web.mapper.StreetMapper; @@ -26,8 +27,8 @@ public class StreetController { private StreetMapper streetMapper; @PostMapping("/list") - @ApiOperation(value = "巷道查询") - //@SessionHandler(userType = UserType.ACCOUNT) + @ApiOperation(value = "巷道列表") + @SessionHandler public Result> list() { return new Result<>(streetMapper.selectByMap(new HashMap<>(0))); } diff --git a/web/src/main/java/com/zhehekeji/web/controller/controller.java b/web/src/main/java/com/zhehekeji/web/controller/controller.java deleted file mode 100644 index 239f65c..0000000 --- a/web/src/main/java/com/zhehekeji/web/controller/controller.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.zhehekeji.web.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class controller { - - @RequestMapping(value = "/web",method = RequestMethod.GET) - public String get(){ - return "web"; - } -} diff --git a/web/src/main/java/com/zhehekeji/web/pojo/IndexVO.java b/web/src/main/java/com/zhehekeji/web/pojo/IndexVO.java new file mode 100644 index 0000000..144666d --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/pojo/IndexVO.java @@ -0,0 +1,15 @@ +package com.zhehekeji.web.pojo; + +import lombok.Data; + +@Data +public class IndexVO { + + private Integer id; + + private String name; + + private String url; + + //private String logo; +} diff --git a/web/src/main/resources/application-test.yml b/web/src/main/resources/application-test.yml index 765c66f..cf23fbd 100644 --- a/web/src/main/resources/application-test.yml +++ b/web/src/main/resources/application-test.yml @@ -31,4 +31,4 @@ zhehe: postToken: w89euijon2&UHBTY$%huni34ri server: port: 8099 - +userUrl: http://47.99.104.87:8067