1.优化
Showing
3 changed files
with
79 additions
and
2 deletions
... | @@ -21,6 +21,7 @@ import com.topdraw.config.RedisKeyUtil; | ... | @@ -21,6 +21,7 @@ import com.topdraw.config.RedisKeyUtil; |
21 | import com.topdraw.exception.BadRequestException; | 21 | import com.topdraw.exception.BadRequestException; |
22 | import com.topdraw.exception.EntityNotFoundException; | 22 | import com.topdraw.exception.EntityNotFoundException; |
23 | import com.topdraw.exception.GlobeExceptionMsg; | 23 | import com.topdraw.exception.GlobeExceptionMsg; |
24 | import com.topdraw.resttemplate.RestTemplateClient; | ||
24 | import com.topdraw.util.Base64Util; | 25 | import com.topdraw.util.Base64Util; |
25 | import com.topdraw.util.JSONUtil; | 26 | import com.topdraw.util.JSONUtil; |
26 | import com.topdraw.utils.RedisUtils; | 27 | import com.topdraw.utils.RedisUtils; |
... | @@ -266,7 +267,9 @@ public class UserOperationController { | ... | @@ -266,7 +267,9 @@ public class UserOperationController { |
266 | 267 | ||
267 | if (StringUtils.isNotBlank(headimgurl)) { | 268 | if (StringUtils.isNotBlank(headimgurl)) { |
268 | String headimgurlDecode = URLDecoder.decode(headimgurl, "UTF-8"); | 269 | String headimgurlDecode = URLDecoder.decode(headimgurl, "UTF-8"); |
269 | memberDTO.setAvatarUrl(headimgurlDecode); | 270 | String imageEncode = Base64Util.encode(headimgurlDecode); |
271 | String image = RestTemplateClient.chooseImage(imageEncode, "image"); | ||
272 | memberDTO.setAvatarUrl(StringUtils.isNotBlank(image) == true ? image:headimgurlDecode); | ||
270 | } | 273 | } |
271 | }catch (Exception e) { | 274 | }catch (Exception e) { |
272 | log.info("headimgurl , nickname ===>> encode error!"); | 275 | log.info("headimgurl , nickname ===>> encode error!"); | ... | ... |
1 | package com.topdraw.resttemplate; | ||
2 | |||
3 | import com.alibaba.fastjson.JSON; | ||
4 | import com.alibaba.fastjson.JSONObject; | ||
5 | import com.topdraw.business.module.member.address.domain.MemberAddress; | ||
6 | import com.topdraw.business.module.member.domain.Member; | ||
7 | import com.topdraw.business.module.member.relatedinfo.domain.MemberRelatedInfo; | ||
8 | import lombok.Data; | ||
9 | import lombok.extern.slf4j.Slf4j; | ||
10 | import org.apache.commons.lang3.StringUtils; | ||
11 | import org.springframework.beans.factory.annotation.Autowired; | ||
12 | import org.springframework.core.env.Environment; | ||
13 | import org.springframework.http.ResponseEntity; | ||
14 | import org.springframework.http.client.SimpleClientHttpRequestFactory; | ||
15 | import org.springframework.stereotype.Component; | ||
16 | import org.springframework.web.client.RestTemplate; | ||
17 | |||
18 | import javax.annotation.PostConstruct; | ||
19 | import java.util.List; | ||
20 | import java.util.Map; | ||
21 | import java.util.Objects; | ||
22 | |||
23 | @Slf4j | ||
24 | @Component | ||
25 | public class RestTemplateClient { | ||
26 | |||
27 | private static RestTemplate restTemplate; | ||
28 | |||
29 | private static String BASE_URL; | ||
30 | |||
31 | @Autowired | ||
32 | private Environment environment; | ||
33 | |||
34 | @PostConstruct | ||
35 | private void init() { | ||
36 | BASE_URL = environment.getProperty("api.uc-service"); | ||
37 | SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); | ||
38 | // 设置连接超时 | ||
39 | factory.setConnectTimeout(5000); | ||
40 | // 设置读取超时 | ||
41 | factory.setReadTimeout(3000); | ||
42 | restTemplate = new RestTemplate(factory); | ||
43 | } | ||
44 | |||
45 | public static String chooseImage(String base64Url, String entity) { | ||
46 | Image image = new Image(base64Url, entity); | ||
47 | String entityBody = ""; | ||
48 | String url = BASE_URL + "/ucService/api/upload/chooseImage"; | ||
49 | log.info("request uc : url is " + url + ", memberId is " + com.alibaba.fastjson.JSONObject.toJSONString(image)); | ||
50 | ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, image, String.class); | ||
51 | if (responseEntity.getStatusCode().is2xxSuccessful()) { | ||
52 | entityBody = responseEntity.getBody(); | ||
53 | JSONObject parseObject = JSON.parseObject(entityBody); | ||
54 | List<Object> resultSet = (List)parseObject.get("resultSet"); | ||
55 | Object o = resultSet.get(0); | ||
56 | return Objects.nonNull(o)?o.toString():""; | ||
57 | } | ||
58 | return entityBody; | ||
59 | } | ||
60 | |||
61 | @Data | ||
62 | static class Image { | ||
63 | |||
64 | private String base64URL; | ||
65 | private String entity; | ||
66 | |||
67 | public Image(String base64Url, String entity){ | ||
68 | this.base64URL = base64Url; | ||
69 | this.entity = entity; | ||
70 | } | ||
71 | |||
72 | } | ||
73 | } |
-
Please register or sign in to post a comment