Commit faab39dd15640f43849110cc18de025d96decafe
1 parent
464aaf3f
Exists in
master
物联网接口服务接口代码优化
Showing
8 changed files
with
283 additions
and
21 deletions
Show diff stats
springboot/src/main/java/com/sincre/springboot/ApiModel/TuYaCommand.java
0 → 100644
@@ -0,0 +1,43 @@ | @@ -0,0 +1,43 @@ | ||
1 | +package com.sincre.springboot.ApiModel; | ||
2 | + | ||
3 | +import java.util.List; | ||
4 | + | ||
5 | +/** | ||
6 | + * 命令集 | ||
7 | + */ | ||
8 | +public class TuYaCommand { | ||
9 | + | ||
10 | + public List<Command> getCommands() { | ||
11 | + return commands; | ||
12 | + } | ||
13 | + | ||
14 | + public void setCommands(List<Command> commands) { | ||
15 | + this.commands = commands; | ||
16 | + } | ||
17 | + | ||
18 | + private List<Command> commands; | ||
19 | + | ||
20 | +} | ||
21 | +class Command{ | ||
22 | + private String code; | ||
23 | + | ||
24 | + public String getCode() { | ||
25 | + return code; | ||
26 | + } | ||
27 | + | ||
28 | + public void setCode(String code) { | ||
29 | + this.code = code; | ||
30 | + } | ||
31 | + | ||
32 | + public String getValue() { | ||
33 | + return value; | ||
34 | + } | ||
35 | + | ||
36 | + public void setValue(String value) { | ||
37 | + this.value = value; | ||
38 | + } | ||
39 | + | ||
40 | + private String value; | ||
41 | + | ||
42 | +} | ||
43 | + |
springboot/src/main/java/com/sincre/springboot/ApiModel/TuYaDevicesList.java
springboot/src/main/java/com/sincre/springboot/ApiPlatform/YinShiServiceConfig.java
@@ -14,7 +14,7 @@ public class YinShiServiceConfig { | @@ -14,7 +14,7 @@ public class YinShiServiceConfig { | ||
14 | /** | 14 | /** |
15 | * 用于管理员获取accessToken | 15 | * 用于管理员获取accessToken |
16 | */ | 16 | */ |
17 | - public static String AccessToken = "at.81rs7cox2ckxiw4v8t4wrt6k07ehcbw2-6ii49gj6ji-1j6mggg-xnrve0akm"; //测试阶段先写死 | 17 | + public static String AccessToken = "at.ami8hxj50xa4lgrz07d237242w2zv0oi-4g2c500x7p-1wgkprt-fzjld4k67"; //测试阶段先写死,该接口到期时间是6月17号 |
18 | 18 | ||
19 | 19 | ||
20 | 20 |
springboot/src/main/java/com/sincre/springboot/common/ServerResponse.java
@@ -62,6 +62,7 @@ public class ServerResponse<T> implements Serializable { | @@ -62,6 +62,7 @@ public class ServerResponse<T> implements Serializable { | ||
62 | return this.code == ResponseCode.SUCCESS.getCode(); | 62 | return this.code == ResponseCode.SUCCESS.getCode(); |
63 | } | 63 | } |
64 | 64 | ||
65 | + @JsonInclude(JsonInclude.Include.NON_DEFAULT) | ||
65 | public String getTotal() { | 66 | public String getTotal() { |
66 | return total; | 67 | return total; |
67 | } | 68 | } |
springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
@@ -23,10 +23,33 @@ import java.util.Map; | @@ -23,10 +23,33 @@ import java.util.Map; | ||
23 | @Api(tags = "涂鸦云服务API调用") | 23 | @Api(tags = "涂鸦云服务API调用") |
24 | public class TuYaYunController { | 24 | public class TuYaYunController { |
25 | 25 | ||
26 | + @ApiOperation("根据设备ID来获取设备的信息") | ||
27 | + @ApiImplicitParam(name="deviceId",value = "设备ID",required = true) | ||
28 | + @GetMapping("getDeviceInfoByDeviceID") | ||
29 | + public ServerResponse getDeviceInfoByDeviceID(String deviceId){ | ||
30 | + | ||
31 | + String apiUrl = String.format("/v1.0/devices/%s",deviceId); | ||
32 | + Long t = System.currentTimeMillis(); | ||
33 | + String access_Token = CacheHelper.getTuYaToken(); | ||
34 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
35 | + Map<String,String> map = new HashMap(); | ||
36 | + map.put("client_id", TuYaCloudService.ClientId); | ||
37 | + map.put("access_token",access_Token); | ||
38 | + map.put("sign",sign); | ||
39 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
40 | + map.put("t",t.toString()); | ||
41 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
42 | + | ||
43 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
44 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
45 | + } | ||
46 | + | ||
47 | + @ApiOperation("批量获取设备信息") | ||
48 | + @ApiImplicitParam(name="deviceIds",value = "设备ID 列表,多个设备号用逗号隔开",required = true) | ||
26 | @GetMapping("GetDevicesInfo") | 49 | @GetMapping("GetDevicesInfo") |
27 | - public ServerResponse getTuYaDevicesInfo(){ | 50 | + public ServerResponse getTuYaDevicesInfo(String deviceIds){ |
28 | 51 | ||
29 | - String apiUrl = "/v1.0/devices?device_ids="; | 52 | + String apiUrl = "/v1.0/devices?device_ids="+deviceIds; |
30 | Long t = System.currentTimeMillis(); | 53 | Long t = System.currentTimeMillis(); |
31 | String access_Token = CacheHelper.getTuYaToken(); | 54 | String access_Token = CacheHelper.getTuYaToken(); |
32 | String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | 55 | String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); |
@@ -38,21 +61,53 @@ public class TuYaYunController { | @@ -38,21 +61,53 @@ public class TuYaYunController { | ||
38 | map.put("t",t.toString()); | 61 | map.put("t",t.toString()); |
39 | String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | 62 | String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); |
40 | 63 | ||
41 | -// TuYaResResult<TuYaDevicesList> resResult = null; | ||
42 | -// try{ | ||
43 | -// ObjectMapper objectMapper = new ObjectMapper(); | ||
44 | -// TypeReference<TuYaResResult<TuYaDevicesList>> reference = new TypeReference<TuYaResResult<TuYaDevicesList>>(){}; | ||
45 | -// resResult = objectMapper.readValue(result,reference); | ||
46 | -// } catch(Exception ex){ | ||
47 | -// System.out.println(ex.getMessage()); | ||
48 | -// } | ||
49 | - System.out.println(result); | 64 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); |
65 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
66 | + } | ||
67 | + | ||
68 | + @ApiOperation("获取设备状态信息") | ||
69 | + @ApiImplicitParam(name="deviceId",value = "设备ID",required = true) | ||
70 | + @GetMapping("getStatusByDeviceID") | ||
71 | + public ServerResponse getStatusByDeviceID(String deviceId){ | ||
72 | + | ||
73 | + String apiUrl = String.format("/v1.0/devices/%s/status",deviceId); | ||
74 | + Long t = System.currentTimeMillis(); | ||
75 | + String access_Token = CacheHelper.getTuYaToken(); | ||
76 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
77 | + Map<String,String> map = new HashMap(); | ||
78 | + map.put("client_id", TuYaCloudService.ClientId); | ||
79 | + map.put("access_token",access_Token); | ||
80 | + map.put("sign",sign); | ||
81 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
82 | + map.put("t",t.toString()); | ||
83 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
50 | 84 | ||
51 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | 85 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); |
52 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | 86 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); |
53 | } | 87 | } |
54 | 88 | ||
55 | 89 | ||
90 | + @ApiOperation("批量获取设备状态") | ||
91 | + @ApiImplicitParam(name="deviceIds",value = "设备ID 列表,多个设备号用逗号隔开",required = true) | ||
92 | + @GetMapping("getTuYaStatusInfo") | ||
93 | + public ServerResponse getTuYaStatusInfo(String deviceIds){ | ||
94 | + | ||
95 | + String apiUrl = "/v1.0/devices/status?device_ids="+deviceIds; | ||
96 | + Long t = System.currentTimeMillis(); | ||
97 | + String access_Token = CacheHelper.getTuYaToken(); | ||
98 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
99 | + Map<String,String> map = new HashMap(); | ||
100 | + map.put("client_id", TuYaCloudService.ClientId); | ||
101 | + map.put("access_token",access_Token); | ||
102 | + map.put("sign",sign); | ||
103 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
104 | + map.put("t",t.toString()); | ||
105 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
106 | + | ||
107 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
108 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
109 | + } | ||
110 | + | ||
56 | /** | 111 | /** |
57 | * 根据schema分页获取开发者App下的用户列表 | 112 | * 根据schema分页获取开发者App下的用户列表 |
58 | * @param AppId 应用标识 | 113 | * @param AppId 应用标识 |
@@ -62,6 +117,7 @@ public class TuYaYunController { | @@ -62,6 +117,7 @@ public class TuYaYunController { | ||
62 | */ | 117 | */ |
63 | @ApiOperation(value = "获取用户信息列表") | 118 | @ApiOperation(value = "获取用户信息列表") |
64 | @ApiImplicitParams({ | 119 | @ApiImplicitParams({ |
120 | + @ApiImplicitParam(name="AppId",value = "应用标识",required = true), | ||
65 | @ApiImplicitParam(name="pageIndex", value = "分页起始页,从1开始",required = true), | 121 | @ApiImplicitParam(name="pageIndex", value = "分页起始页,从1开始",required = true), |
66 | @ApiImplicitParam(name="pageSize", value = "分页大小,默认为10,最大为50") | 122 | @ApiImplicitParam(name="pageSize", value = "分页大小,默认为10,最大为50") |
67 | }) | 123 | }) |
@@ -87,6 +143,8 @@ public class TuYaYunController { | @@ -87,6 +143,8 @@ public class TuYaYunController { | ||
87 | } | 143 | } |
88 | 144 | ||
89 | 145 | ||
146 | + @ApiOperation("注册用户") | ||
147 | + @ApiImplicitParam(name="AppId",value = "应用标识",required = true) | ||
90 | @PostMapping("{AppId}/AddTuYaAPPUser") | 148 | @PostMapping("{AppId}/AddTuYaAPPUser") |
91 | public ServerResponse addTuYaAPPUser(@PathVariable("AppId") String AppId, @RequestBody UserInfo userInfo){ | 149 | public ServerResponse addTuYaAPPUser(@PathVariable("AppId") String AppId, @RequestBody UserInfo userInfo){ |
92 | 150 | ||
@@ -121,6 +179,8 @@ public class TuYaYunController { | @@ -121,6 +179,8 @@ public class TuYaYunController { | ||
121 | * @param uid | 179 | * @param uid |
122 | * @return | 180 | * @return |
123 | */ | 181 | */ |
182 | + @ApiOperation("根据用户ID来获取用户账号下的所有设备") | ||
183 | + @ApiImplicitParam(name="uid",value = "用户标识",required = true) | ||
124 | @GetMapping("{uid}/GetDevicesByUid") | 184 | @GetMapping("{uid}/GetDevicesByUid") |
125 | public ServerResponse getDevicesByUid(@PathVariable("uid") String uid){ | 185 | public ServerResponse getDevicesByUid(@PathVariable("uid") String uid){ |
126 | 186 | ||
@@ -146,8 +206,10 @@ public class TuYaYunController { | @@ -146,8 +206,10 @@ public class TuYaYunController { | ||
146 | * 生成配网的Token | 206 | * 生成配网的Token |
147 | * @return | 207 | * @return |
148 | */ | 208 | */ |
209 | + @ApiOperation("生成配网的Token") | ||
210 | + @ApiImplicitParam(name="uid",value = "用户标识",required = true) | ||
149 | @GetMapping("AddDevicesToken") | 211 | @GetMapping("AddDevicesToken") |
150 | - public ServerResponse addDevicesToken(@RequestParam String UId){ | 212 | + public ServerResponse addDevicesToken(@RequestParam String uid){ |
151 | 213 | ||
152 | String apiUrl = String.format("/v1.0/devices/token"); | 214 | String apiUrl = String.format("/v1.0/devices/token"); |
153 | Long t = System.currentTimeMillis(); | 215 | Long t = System.currentTimeMillis(); |
@@ -163,7 +225,7 @@ public class TuYaYunController { | @@ -163,7 +225,7 @@ public class TuYaYunController { | ||
163 | 225 | ||
164 | ObjectMapper objectMapper = new ObjectMapper(); | 226 | ObjectMapper objectMapper = new ObjectMapper(); |
165 | DeviceToken deviceToken = new DeviceToken(); | 227 | DeviceToken deviceToken = new DeviceToken(); |
166 | - deviceToken.setUid(UId); | 228 | + deviceToken.setUid(uid); |
167 | deviceToken.setTimeZoneId("Asia/ZheJiang"); | 229 | deviceToken.setTimeZoneId("Asia/ZheJiang"); |
168 | 230 | ||
169 | String jsonResult = ""; | 231 | String jsonResult = ""; |
@@ -177,7 +239,8 @@ public class TuYaYunController { | @@ -177,7 +239,8 @@ public class TuYaYunController { | ||
177 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | 239 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); |
178 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | 240 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); |
179 | } | 241 | } |
180 | - | 242 | + @ApiOperation("获取配网token下所有设备列表") |
243 | + @ApiImplicitParam(name="token",value = "配网的Token",required = true) | ||
181 | @GetMapping("{token}/GetDevicesByToken") | 244 | @GetMapping("{token}/GetDevicesByToken") |
182 | public ServerResponse getDevicesByToken(@PathVariable("token") String token){ | 245 | public ServerResponse getDevicesByToken(@PathVariable("token") String token){ |
183 | 246 | ||
@@ -198,4 +261,95 @@ public class TuYaYunController { | @@ -198,4 +261,95 @@ public class TuYaYunController { | ||
198 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | 261 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); |
199 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | 262 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); |
200 | } | 263 | } |
264 | + | ||
265 | + | ||
266 | + @ApiOperation("根据category获取function列表(指令集)") | ||
267 | + @ApiImplicitParam(name="category",value = "设备类型",required = true) | ||
268 | + @GetMapping("getFunctionByType") | ||
269 | + public ServerResponse getFunctionByType(String category){ | ||
270 | + | ||
271 | + String apiUrl = String.format("/v1.0/functions/%s",category); | ||
272 | + Long t = System.currentTimeMillis(); | ||
273 | + String access_Token = CacheHelper.getTuYaToken(); | ||
274 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
275 | + Map<String,String> map = new HashMap(); | ||
276 | + map.put("client_id", TuYaCloudService.ClientId); | ||
277 | + map.put("access_token",access_Token); | ||
278 | + map.put("sign",sign); | ||
279 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
280 | + map.put("t",t.toString()); | ||
281 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
282 | + | ||
283 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
284 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
285 | + } | ||
286 | + | ||
287 | + @ApiOperation("获取设备支持指令集") | ||
288 | + @ApiImplicitParam(name="deviceId",value = "设备ID",required = true) | ||
289 | + @GetMapping("getDeviceSupportFun") | ||
290 | + public ServerResponse getDeviceSupportFun(String deviceId){ | ||
291 | + | ||
292 | + String apiUrl = String.format("/v1.0/devices/%s/functions",deviceId); | ||
293 | + Long t = System.currentTimeMillis(); | ||
294 | + String access_Token = CacheHelper.getTuYaToken(); | ||
295 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
296 | + Map<String,String> map = new HashMap(); | ||
297 | + map.put("client_id", TuYaCloudService.ClientId); | ||
298 | + map.put("access_token",access_Token); | ||
299 | + map.put("sign",sign); | ||
300 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
301 | + map.put("t",t.toString()); | ||
302 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
303 | + | ||
304 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
305 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
306 | + } | ||
307 | + | ||
308 | + @ApiOperation("下发设备控制命令") | ||
309 | + @ApiImplicitParams({ | ||
310 | + @ApiImplicitParam(name="deviceId",value = "设备ID",required = true) | ||
311 | +// @ApiImplicitParam(name="tuYaCommands",value = "命令集",required = true) | ||
312 | + }) | ||
313 | + @PostMapping("sendDeviceCommandsFun") | ||
314 | + public ServerResponse sendDeviceCommandsFun(String deviceId,@RequestBody TuYaCommand tuYaCommands){ | ||
315 | + | ||
316 | + String apiUrl = String.format("/v1.0/devices/%s/commands",deviceId); | ||
317 | + Long t = System.currentTimeMillis(); | ||
318 | + String access_Token = CacheHelper.getTuYaToken(); | ||
319 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
320 | + Map<String,String> map = new HashMap(); | ||
321 | + map.put("client_id", TuYaCloudService.ClientId); | ||
322 | + map.put("access_token",access_Token); | ||
323 | + map.put("sign",sign); | ||
324 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
325 | + map.put("t",t.toString()); | ||
326 | + | ||
327 | + String body = JSON.toJSONString(tuYaCommands); | ||
328 | + String result = ApiHelper.doPost(TuYaCloudService.TuYaOpenUrl + apiUrl,map,body); | ||
329 | + | ||
330 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
331 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
332 | + } | ||
333 | + | ||
334 | + @ApiOperation("根据设备ID移除设备") | ||
335 | + @ApiImplicitParam(name="deviceId",value = "设备ID",required = true) | ||
336 | + @DeleteMapping("removeDevice") | ||
337 | + public ServerResponse removeDevice(String deviceId){ | ||
338 | + | ||
339 | + String apiUrl = String.format("/v1.0/devices/%s",deviceId); | ||
340 | + Long t = System.currentTimeMillis(); | ||
341 | + String access_Token = CacheHelper.getTuYaToken(); | ||
342 | + String sign = TuYaCloudService.createSign(TuYaCloudService.ClientId+access_Token+t,TuYaCloudService.Secret); | ||
343 | + | ||
344 | + Map<String,String> map = new HashMap(); | ||
345 | + map.put("client_id", TuYaCloudService.ClientId); | ||
346 | + map.put("access_token",access_Token); | ||
347 | + map.put("sign",sign); | ||
348 | + map.put("sign_method",TuYaCloudService.Sign_method); | ||
349 | + map.put("t",t.toString()); | ||
350 | + String result = ApiHelper.doDelete(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
351 | + | ||
352 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
353 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
354 | + } | ||
201 | } | 355 | } |
springboot/src/main/java/com/sincre/springboot/controller/YinShiController.java
@@ -26,7 +26,7 @@ import java.util.Map; | @@ -26,7 +26,7 @@ import java.util.Map; | ||
26 | 26 | ||
27 | @RestController | 27 | @RestController |
28 | @RequestMapping("/YinShi") | 28 | @RequestMapping("/YinShi") |
29 | -@Api(value = "YinShiController", tags = "萤石对接接口") | 29 | +@Api(value = "YinShiController", tags = "用户管理和用户组权限管理以及设备管理接口") |
30 | public class YinShiController { | 30 | public class YinShiController { |
31 | 31 | ||
32 | @ApiOperation(value = "用于管理员获取accessToken") | 32 | @ApiOperation(value = "用于管理员获取accessToken") |
@@ -415,6 +415,7 @@ public class YinShiController { | @@ -415,6 +415,7 @@ public class YinShiController { | ||
415 | @GetMapping("getDeviceCapacity") | 415 | @GetMapping("getDeviceCapacity") |
416 | public ServerResponse getDeviceCapacity(@RequestParam String deviceSerial) { | 416 | public ServerResponse getDeviceCapacity(@RequestParam String deviceSerial) { |
417 | 417 | ||
418 | + System.out.println(YinShiServiceConfig.AccessToken); | ||
418 | String url = YinShiServiceConfig.HostUrl + "lapp/device/capacity"; | 419 | String url = YinShiServiceConfig.HostUrl + "lapp/device/capacity"; |
419 | Map<String, Object> map = new HashMap<>(); | 420 | Map<String, Object> map = new HashMap<>(); |
420 | map.put("accessToken", YinShiServiceConfig.AccessToken); | 421 | map.put("accessToken", YinShiServiceConfig.AccessToken); |
springboot/src/main/java/com/sincre/springboot/utils/ApiHelper.java
@@ -6,6 +6,7 @@ import org.apache.http.client.ClientProtocolException; | @@ -6,6 +6,7 @@ import org.apache.http.client.ClientProtocolException; | ||
6 | import org.apache.http.client.config.RequestConfig; | 6 | import org.apache.http.client.config.RequestConfig; |
7 | import org.apache.http.client.entity.UrlEncodedFormEntity; | 7 | import org.apache.http.client.entity.UrlEncodedFormEntity; |
8 | import org.apache.http.client.methods.CloseableHttpResponse; | 8 | import org.apache.http.client.methods.CloseableHttpResponse; |
9 | +import org.apache.http.client.methods.HttpDelete; | ||
9 | import org.apache.http.client.methods.HttpGet; | 10 | import org.apache.http.client.methods.HttpGet; |
10 | import org.apache.http.client.methods.HttpPost; | 11 | import org.apache.http.client.methods.HttpPost; |
11 | import org.apache.http.entity.ContentType; | 12 | import org.apache.http.entity.ContentType; |
@@ -72,6 +73,58 @@ public class ApiHelper { | @@ -72,6 +73,58 @@ public class ApiHelper { | ||
72 | return result; | 73 | return result; |
73 | } | 74 | } |
74 | 75 | ||
76 | + | ||
77 | + public static String doDelete(String url,Map<String, String> headerParamMap) { | ||
78 | + CloseableHttpClient httpClient = null; | ||
79 | + CloseableHttpResponse response = null; | ||
80 | + String result = ""; | ||
81 | + try { | ||
82 | + // 通过址默认配置创建一个httpClient实例 | ||
83 | + httpClient = HttpClients.createDefault(); | ||
84 | + // 创建HttpDelete远程连接实例 | ||
85 | + HttpDelete httpDelete = new HttpDelete(url); | ||
86 | + // 设置请求头信息, | ||
87 | + for (Map.Entry<String, String> entry : headerParamMap.entrySet()) { | ||
88 | + httpDelete.setHeader(entry.getKey(),entry.getValue()); | ||
89 | + } | ||
90 | + | ||
91 | + // 设置配置请求参数 | ||
92 | + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 连接主机服务超时时间 | ||
93 | + .setConnectionRequestTimeout(35000)// 请求超时时间 | ||
94 | + .setSocketTimeout(60000)// 数据读取超时时间 | ||
95 | + .build(); | ||
96 | + // 为httpGet实例设置配置 | ||
97 | + httpDelete.setConfig(requestConfig); | ||
98 | + // 执行get请求得到返回对象 | ||
99 | + response = httpClient.execute(httpDelete); | ||
100 | + // 通过返回对象获取返回数据 | ||
101 | + HttpEntity entity = response.getEntity(); | ||
102 | + // 通过EntityUtils中的toString方法将结果转换为字符串 | ||
103 | + result = EntityUtils.toString(entity); | ||
104 | + } catch (ClientProtocolException e) { | ||
105 | + e.printStackTrace(); | ||
106 | + } catch (IOException e) { | ||
107 | + e.printStackTrace(); | ||
108 | + } finally { | ||
109 | + // 关闭资源 | ||
110 | + if (null != response) { | ||
111 | + try { | ||
112 | + response.close(); | ||
113 | + } catch (IOException e) { | ||
114 | + e.printStackTrace(); | ||
115 | + } | ||
116 | + } | ||
117 | + if (null != httpClient) { | ||
118 | + try { | ||
119 | + httpClient.close(); | ||
120 | + } catch (IOException e) { | ||
121 | + e.printStackTrace(); | ||
122 | + } | ||
123 | + } | ||
124 | + } | ||
125 | + return result; | ||
126 | + } | ||
127 | + | ||
75 | /** | 128 | /** |
76 | * 表单格式的post请求 | 129 | * 表单格式的post请求 |
77 | * | 130 | * |
springboot/src/main/java/com/sincre/springboot/utils/ResultUtils.java
1 | package com.sincre.springboot.utils; | 1 | package com.sincre.springboot.utils; |
2 | 2 | ||
3 | 3 | ||
4 | +import com.alibaba.fastjson.JSON; | ||
5 | +import com.alibaba.fastjson.JSONArray; | ||
4 | import com.sincre.springboot.ApiModel.TuYaResResult; | 6 | import com.sincre.springboot.ApiModel.TuYaResResult; |
5 | import com.sincre.springboot.ApiModel.YinShiResResult; | 7 | import com.sincre.springboot.ApiModel.YinShiResResult; |
6 | import com.sincre.springboot.common.ResponseCode; | 8 | import com.sincre.springboot.common.ResponseCode; |
@@ -40,11 +42,11 @@ public class ResultUtils { | @@ -40,11 +42,11 @@ public class ResultUtils { | ||
40 | int code = yinShiResResult.getCode(); | 42 | int code = yinShiResResult.getCode(); |
41 | 43 | ||
42 | if (code == 200) { | 44 | if (code == 200) { |
43 | - String total = null; | 45 | + int total = 0; |
44 | if (yinShiResResult.getPage() != null) { | 46 | if (yinShiResResult.getPage() != null) { |
45 | - total = yinShiResResult.getPage().getTotal().toString(); | 47 | + total = yinShiResResult.getPage().getTotal(); |
46 | } | 48 | } |
47 | - return ServerResponse.createBySuccess(total, ResponseCode.SUCCESS.getDesc(), yinShiResResult.getData()); | 49 | + return ServerResponse.createBySuccess(String.valueOf(total), ResponseCode.SUCCESS.getDesc(), yinShiResResult.getData()); |
48 | } else { | 50 | } else { |
49 | if (code == 10002) {//accessToken过期或异常 | 51 | if (code == 10002) {//accessToken过期或异常 |
50 | CacheHelper.GetYinShiToken(); | 52 | CacheHelper.GetYinShiToken(); |
@@ -72,7 +74,14 @@ public class ResultUtils { | @@ -72,7 +74,14 @@ public class ResultUtils { | ||
72 | boolean success = tuYaResResult.getSuccess(); | 74 | boolean success = tuYaResResult.getSuccess(); |
73 | 75 | ||
74 | if (success) { | 76 | if (success) { |
75 | - | 77 | + //data 返回的是数组 |
78 | + if(JSON.isValidArray(tuYaResResult.getResult().toString())){ | ||
79 | + int total; | ||
80 | + JSONArray jsonArray = JSON.parseArray(tuYaResResult.getResult().toString()); | ||
81 | + total = jsonArray.size(); | ||
82 | + return ServerResponse.createBySuccess(String.valueOf(total), ResponseCode.SUCCESS.getDesc(), tuYaResResult.getResult()); | ||
83 | + } | ||
84 | + //data 返回的是对象 | ||
76 | return ServerResponse.createBySuccess(ResponseCode.SUCCESS.getDesc(), tuYaResResult.getResult()); | 85 | return ServerResponse.createBySuccess(ResponseCode.SUCCESS.getDesc(), tuYaResResult.getResult()); |
77 | } | 86 | } |
78 | 87 |