Commit d0551ecea6a2b1fb36d74b1a145f951d64585502
1 parent
eff94aa9
Exists in
master
涂鸦学习红外接口对接完成
Showing
4 changed files
with
197 additions
and
0 deletions
Show diff stats
springboot/src/main/java/com/sincre/springboot/ApiModel/Codes.java
0 → 100644
| @@ -0,0 +1,39 @@ | @@ -0,0 +1,39 @@ | ||
| 1 | +package com.sincre.springboot.ApiModel; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 6 | +@ApiModel | ||
| 7 | +public class Codes { | ||
| 8 | + @ApiModelProperty(name = "name",value = "学习到的红外名称") | ||
| 9 | + private String name; | ||
| 10 | + | ||
| 11 | + public String getName() { | ||
| 12 | + return name; | ||
| 13 | + } | ||
| 14 | + | ||
| 15 | + public void setName(String name) { | ||
| 16 | + this.name = name; | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + public String getKey_name() { | ||
| 20 | + return key_name; | ||
| 21 | + } | ||
| 22 | + | ||
| 23 | + public void setKey_name(String key_name) { | ||
| 24 | + this.key_name = key_name; | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + public String getCode() { | ||
| 28 | + return code; | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public void setCode(String code) { | ||
| 32 | + this.code = code; | ||
| 33 | + } | ||
| 34 | + @ApiModelProperty(name = "key_name",value = "学习到的红外码按键名称") | ||
| 35 | + private String key_name; | ||
| 36 | + @ApiModelProperty(name = "code",value = "学习到的红外码") | ||
| 37 | + private String code; | ||
| 38 | + | ||
| 39 | +} |
springboot/src/main/java/com/sincre/springboot/ApiModel/HWCode.java
0 → 100644
springboot/src/main/java/com/sincre/springboot/ApiModel/TuYaInfrared.java
| @@ -110,4 +110,16 @@ public class TuYaInfrared { | @@ -110,4 +110,16 @@ public class TuYaInfrared { | ||
| 110 | */ | 110 | */ |
| 111 | @ApiModelProperty(name = "remote_name",value = "遥控名称") | 111 | @ApiModelProperty(name = "remote_name",value = "遥控名称") |
| 112 | private String remote_name; | 112 | private String remote_name; |
| 113 | + | ||
| 114 | + public Codes getCodes() { | ||
| 115 | + return codes; | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + public void setCodes(Codes codes) { | ||
| 119 | + this.codes = codes; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + @ApiModelProperty(name = "codes",value = "保存的红外信息") | ||
| 123 | + private Codes codes; | ||
| 124 | + | ||
| 113 | } | 125 | } |
springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
| @@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils; | @@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils; | ||
| 17 | import org.springframework.web.bind.annotation.*; | 17 | import org.springframework.web.bind.annotation.*; |
| 18 | import springfox.documentation.spring.web.json.Json; | 18 | import springfox.documentation.spring.web.json.Json; |
| 19 | 19 | ||
| 20 | +import javax.annotation.security.PermitAll; | ||
| 20 | import java.util.HashMap; | 21 | import java.util.HashMap; |
| 21 | import java.util.Map; | 22 | import java.util.Map; |
| 22 | 23 | ||
| @@ -486,6 +487,137 @@ public class TuYaYunController { | @@ -486,6 +487,137 @@ public class TuYaYunController { | ||
| 486 | } | 487 | } |
| 487 | 488 | ||
| 488 | 489 | ||
| 490 | + @ApiOperation("遥控器进入学习状态") | ||
| 491 | + @ApiImplicitParams({ | ||
| 492 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | ||
| 493 | + @ApiImplicitParam(name="state",value = "学习模式,true是学习模式,false非学习模式",required = true) | ||
| 494 | + }) | ||
| 495 | + @GetMapping("{infrared_id}/getRemoteEnterStudy") | ||
| 496 | + public ServerResponse getRemoteEnterStudy(@PathVariable String infrared_id,@RequestParam String state){ | ||
| 497 | + | ||
| 498 | + String apiUrl = String.format("/v1.0/infrareds/%s/learning-state?state=%s",infrared_id,state); | ||
| 499 | + Map<String,String> map = headContent(); | ||
| 500 | + String result = ApiHelper.doPut(TuYaCloudService.TuYaOpenUrl + apiUrl,map,""); | ||
| 501 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 502 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 503 | + } | ||
| 504 | + | ||
| 505 | + @ApiOperation("查询到的红外码") | ||
| 506 | + @ApiImplicitParams({ | ||
| 507 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | ||
| 508 | + @ApiImplicitParam(name="learning_time",value = "进入学习模式的时间",required = true) | ||
| 509 | + }) | ||
| 510 | + @GetMapping("{infrared_id}/getHWCode") | ||
| 511 | + public ServerResponse getHWCode(@PathVariable String infrared_id,@RequestParam String learning_time){ | ||
| 512 | + | ||
| 513 | + String apiUrl = String.format("/v1.0/infrareds/%s/learning-codes?learning_time=%s",infrared_id,learning_time); | ||
| 514 | + Map<String,String> map = headContent(); | ||
| 515 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
| 516 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 517 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 518 | + } | ||
| 519 | + | ||
| 520 | + @ApiOperation("获取学习到的红外码(根据遥控器设备)") | ||
| 521 | + @ApiImplicitParams({ | ||
| 522 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | ||
| 523 | + @ApiImplicitParam(name="remote_id",value = "遥控器ID",required = true,paramType = "path") | ||
| 524 | + }) | ||
| 525 | + @GetMapping("{infrared_id}/getHWCode/{remote_id}") | ||
| 526 | + public ServerResponse getHWCodeByRemoteId(@PathVariable String infrared_id,@PathVariable String remote_id){ | ||
| 527 | + | ||
| 528 | + String apiUrl = String.format("/v1.0/infrareds/%s/remotes/%s/learning-codes",infrared_id,remote_id); | ||
| 529 | + Map<String,String> map = headContent(); | ||
| 530 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
| 531 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 532 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 533 | + } | ||
| 534 | + | ||
| 535 | + @ApiOperation("退出学习模式") | ||
| 536 | + @ApiImplicitParams({ | ||
| 537 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path") | ||
| 538 | + }) | ||
| 539 | + @GetMapping("{infrared_id}/hwQuitSyudy") | ||
| 540 | + public ServerResponse hwQuitSyudy(@PathVariable String infrared_id){ | ||
| 541 | + | ||
| 542 | + String apiUrl = String.format("/v1.0/infrareds/%s/learning-quit",infrared_id); | ||
| 543 | + Map<String,String> map = headContent(); | ||
| 544 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
| 545 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 546 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 547 | + } | ||
| 548 | + | ||
| 549 | + @ApiOperation("删除学习到的红外码") | ||
| 550 | + @ApiImplicitParams({ | ||
| 551 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | ||
| 552 | + @ApiImplicitParam(name="learn_id",value = "学习到的红外ID",required = true,paramType = "path") | ||
| 553 | + }) | ||
| 554 | + @DeleteMapping("{infrared_id}/deteleLearnCode/{learn_id}") | ||
| 555 | + public ServerResponse deteleLearnCode(@PathVariable String infrared_id,@PathVariable String learn_id){ | ||
| 556 | + | ||
| 557 | + String apiUrl = String.format("/v1.0/infrareds/%s/learning-codes/%s",infrared_id,learn_id); | ||
| 558 | + Map<String,String> map = headContent(); | ||
| 559 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | ||
| 560 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 561 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 562 | + } | ||
| 563 | + | ||
| 564 | + @ApiOperation("保存学习到红外码") | ||
| 565 | + @ApiImplicitParams({ | ||
| 566 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path") | ||
| 567 | + }) | ||
| 568 | + @PostMapping("{infrared_id}/saveLearnCode") | ||
| 569 | + public ServerResponse saveLearnCode(@PathVariable String infrared_id,@RequestBody TuYaInfrared tuYaInfrared){ | ||
| 570 | + | ||
| 571 | + if(tuYaInfrared==null){ | ||
| 572 | + return ServerResponse.createByErrorCodeMessage(400,"参数错误"); | ||
| 573 | + } | ||
| 574 | + | ||
| 575 | + String apiUrl = String.format("/v1.0/infrareds/%s/learning-codes",infrared_id); | ||
| 576 | + Map<String,String> map = headContent(); | ||
| 577 | + String json = JSON.toJSONString(tuYaInfrared); | ||
| 578 | + String result = ApiHelper.doPost(TuYaCloudService.TuYaOpenUrl + apiUrl,map,json); | ||
| 579 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 580 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 581 | + } | ||
| 582 | + | ||
| 583 | + @ApiOperation("更新学习到红外码") | ||
| 584 | + @ApiImplicitParams({ | ||
| 585 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | ||
| 586 | + @ApiImplicitParam(name="remote_index",value = "遥控器索引",required = true,paramType = "path") | ||
| 587 | + }) | ||
| 588 | + @PutMapping("{infrared_id}/editLearnCode/{remote_index}") | ||
| 589 | + public ServerResponse saveLearnCode(@PathVariable String infrared_id,@PathVariable String remote_index,@RequestBody TuYaInfrared tuYaInfrared){ | ||
| 590 | + | ||
| 591 | + if(tuYaInfrared==null){ | ||
| 592 | + return ServerResponse.createByErrorCodeMessage(400,"参数错误"); | ||
| 593 | + } | ||
| 594 | + | ||
| 595 | + String apiUrl = String.format("/v1.0/infrareds/%s/learning-remotes/%s",infrared_id); | ||
| 596 | + Map<String,String> map = headContent(); | ||
| 597 | + String json = JSON.toJSONString(tuYaInfrared); | ||
| 598 | + String result = ApiHelper.doPut(TuYaCloudService.TuYaOpenUrl + apiUrl,map,json); | ||
| 599 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 600 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 601 | + } | ||
| 602 | + @ApiOperation("下发到红外到的红外码") | ||
| 603 | + @ApiImplicitParams({ | ||
| 604 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | ||
| 605 | + @ApiImplicitParam(name="remote_id",value = "遥控器设备ID(没有填TUYA)",required = true,paramType = "path"), | ||
| 606 | + @ApiImplicitParam(name="code",value = "学习到的红外码",required = true) | ||
| 607 | + }) | ||
| 608 | + @GetMapping("{infrared_id}/getRemoteEnterStudy/{remote_id}") | ||
| 609 | + public ServerResponse getRemoteEnterStudy(@PathVariable String infrared_id,@PathVariable String remote_id,@RequestParam String code){ | ||
| 610 | + | ||
| 611 | + String apiUrl = String.format("/v1.0/infrareds/%s/remote/%s/learning-codes",infrared_id,remote_id); | ||
| 612 | + Map<String,String> map = headContent(); | ||
| 613 | + HWCode hwCode = new HWCode(); | ||
| 614 | + hwCode.setCode(code); | ||
| 615 | + String jsonResult = JSON.toJSONString(hwCode); | ||
| 616 | + String result = ApiHelper.doPost(TuYaCloudService.TuYaOpenUrl + apiUrl,map,jsonResult); | ||
| 617 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | ||
| 618 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | ||
| 619 | + } | ||
| 620 | + | ||
| 489 | /** | 621 | /** |
| 490 | * 请求头的参数 | 622 | * 请求头的参数 |
| 491 | * @return | 623 | * @return |