Commit f06e2b0e3d5c0f53dd5c6223a8ea9c210adc21cb
1 parent
7539135b
Exists in
master
涂鸦接口对接完成
Showing
4 changed files
with
179 additions
and
2 deletions
Show diff stats
springboot/src/main/java/com/sincre/springboot/ApiModel/TuYaAirCondition.java
0 → 100644
| ... | ... | @@ -0,0 +1,100 @@ |
| 1 | +package com.sincre.springboot.ApiModel; | |
| 2 | + | |
| 3 | +import com.fasterxml.jackson.annotation.JsonInclude; | |
| 4 | +import io.swagger.annotations.ApiModel; | |
| 5 | +import io.swagger.annotations.ApiModelProperty; | |
| 6 | + | |
| 7 | +@JsonInclude(JsonInclude.Include.NON_EMPTY) | |
| 8 | +@ApiModel | |
| 9 | +public class TuYaAirCondition { | |
| 10 | + | |
| 11 | + @ApiModelProperty(name = "remote_index",value="遥控器索引",required = true) | |
| 12 | + private String remote_index; | |
| 13 | + @ApiModelProperty(name = "remote_id",value="遥控器标识",required = true) | |
| 14 | + private String remote_id; | |
| 15 | + | |
| 16 | + /** | |
| 17 | + * 开关(1:开,0:关) | |
| 18 | + */ | |
| 19 | + @ApiModelProperty(name = "power",value="开关(1:开,0:关)",required = true) | |
| 20 | + private String power; | |
| 21 | + /** | |
| 22 | + * 模式(0:制冷,1:制热,2:自动,3:送风,4:除湿) | |
| 23 | + */ | |
| 24 | + @ApiModelProperty(name = "power",value="开关(1:开,0:关)") | |
| 25 | + private String mode; | |
| 26 | + | |
| 27 | + /** | |
| 28 | + * 温度(16-30) | |
| 29 | + */ | |
| 30 | + @ApiModelProperty(name = "temp",value="温度(16-30)") | |
| 31 | + private String temp; | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 风速(0:自动,1:低,2:中,3:高) | |
| 35 | + */ | |
| 36 | + @ApiModelProperty(name = "wind",value = "风速(0:自动,1:低,2:中,3:高)") | |
| 37 | + private String wind; | |
| 38 | + | |
| 39 | + public String getRemote_index() { | |
| 40 | + return remote_index; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public void setRemote_index(String remote_index) { | |
| 44 | + this.remote_index = remote_index; | |
| 45 | + } | |
| 46 | + | |
| 47 | + public String getRemote_id() { | |
| 48 | + return remote_id; | |
| 49 | + } | |
| 50 | + | |
| 51 | + public void setRemote_id(String remote_id) { | |
| 52 | + this.remote_id = remote_id; | |
| 53 | + } | |
| 54 | + | |
| 55 | + public String getPower() { | |
| 56 | + return power; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public void setPower(String power) { | |
| 60 | + this.power = power; | |
| 61 | + } | |
| 62 | + | |
| 63 | + public String getMode() { | |
| 64 | + return mode; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public void setMode(String mode) { | |
| 68 | + this.mode = mode; | |
| 69 | + } | |
| 70 | + | |
| 71 | + public String getTemp() { | |
| 72 | + return temp; | |
| 73 | + } | |
| 74 | + | |
| 75 | + public void setTemp(String temp) { | |
| 76 | + this.temp = temp; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public String getWind() { | |
| 80 | + return wind; | |
| 81 | + } | |
| 82 | + | |
| 83 | + public void setWind(String wind) { | |
| 84 | + this.wind = wind; | |
| 85 | + } | |
| 86 | + | |
| 87 | + public String getSwing() { | |
| 88 | + return swing; | |
| 89 | + } | |
| 90 | + | |
| 91 | + public void setSwing(String swing) { | |
| 92 | + this.swing = swing; | |
| 93 | + } | |
| 94 | + | |
| 95 | + /** | |
| 96 | + * 风向(暂时不支持) | |
| 97 | + */ | |
| 98 | + @ApiModelProperty(name = "swing",value = "风向(暂时不支持)") | |
| 99 | + private String swing; | |
| 100 | +} | ... | ... |
springboot/src/main/java/com/sincre/springboot/ApiModel/TuYaInfrared.java
| 1 | 1 | package com.sincre.springboot.ApiModel; |
| 2 | 2 | |
| 3 | 3 | import com.fasterxml.jackson.annotation.JsonInclude; |
| 4 | +import io.swagger.annotations.ApiModel; | |
| 5 | +import io.swagger.annotations.ApiModelProperty; | |
| 4 | 6 | |
| 5 | 7 | /** |
| 6 | 8 | * 红外所需要的类 |
| 7 | 9 | */ |
| 8 | 10 | |
| 9 | 11 | @JsonInclude(JsonInclude.Include.NON_EMPTY) |
| 12 | +@ApiModel | |
| 10 | 13 | public class TuYaInfrared { |
| 11 | 14 | |
| 15 | + /** | |
| 16 | + * 类型ID | |
| 17 | + */ | |
| 18 | + @ApiModelProperty(name = "category_id",value = "类型ID") | |
| 12 | 19 | private String category_id; |
| 13 | 20 | |
| 14 | 21 | public String getCategory_id() { |
| ... | ... | @@ -27,6 +34,7 @@ public class TuYaInfrared { |
| 27 | 34 | this.category_name = category_name; |
| 28 | 35 | } |
| 29 | 36 | |
| 37 | + | |
| 30 | 38 | public String getBrand_id() { |
| 31 | 39 | return brand_id; |
| 32 | 40 | } |
| ... | ... | @@ -51,14 +59,34 @@ public class TuYaInfrared { |
| 51 | 59 | this.remote_index = remote_index; |
| 52 | 60 | } |
| 53 | 61 | |
| 54 | - | |
| 62 | + /** | |
| 63 | + * 类型名称 | |
| 64 | + */ | |
| 65 | + @ApiModelProperty(name = "category_name",value = "类型名称") | |
| 55 | 66 | private String category_name; |
| 56 | 67 | |
| 68 | + /** | |
| 69 | + * 商品标识 | |
| 70 | + * @return | |
| 71 | + */ | |
| 72 | + @ApiModelProperty(name = "brand_id",value = "商标标识") | |
| 57 | 73 | private String brand_id; |
| 58 | 74 | |
| 75 | + /** | |
| 76 | + * 商品名称 | |
| 77 | + */ | |
| 78 | + @ApiModelProperty(name="brand_name",value = "商品名称") | |
| 59 | 79 | private String brand_name; |
| 60 | 80 | |
| 81 | + /** | |
| 82 | + * 遥控索引 | |
| 83 | + */ | |
| 84 | + @ApiModelProperty(name="remote_index",value = "遥控索引") | |
| 61 | 85 | private String remote_index; |
| 86 | + /** | |
| 87 | + * 遥控标识 | |
| 88 | + */ | |
| 89 | + @ApiModelProperty(name = "remote_id",value = "遥控标识") | |
| 62 | 90 | private String remote_id; |
| 63 | 91 | |
| 64 | 92 | public String getRemote_id() { |
| ... | ... | @@ -77,5 +105,9 @@ public class TuYaInfrared { |
| 77 | 105 | this.remote_name = remote_name; |
| 78 | 106 | } |
| 79 | 107 | |
| 108 | + /** | |
| 109 | + * 遥控名称 | |
| 110 | + */ | |
| 111 | + @ApiModelProperty(name = "remote_name",value = "遥控名称") | |
| 80 | 112 | private String remote_name; |
| 81 | 113 | } | ... | ... |
springboot/src/main/java/com/sincre/springboot/common/ServerResponse.java
| ... | ... | @@ -2,6 +2,8 @@ package com.sincre.springboot.common; |
| 2 | 2 | |
| 3 | 3 | import com.fasterxml.jackson.annotation.JsonIgnore; |
| 4 | 4 | import com.fasterxml.jackson.annotation.JsonInclude; |
| 5 | +import io.swagger.annotations.ApiModel; | |
| 6 | +import io.swagger.annotations.ApiModelProperty; | |
| 5 | 7 | |
| 6 | 8 | |
| 7 | 9 | import java.io.Serializable; |
| ... | ... | @@ -10,24 +12,28 @@ import java.io.Serializable; |
| 10 | 12 | * Created by Ziv |
| 11 | 13 | */ |
| 12 | 14 | @JsonInclude(JsonInclude.Include.NON_EMPTY) |
| 13 | - | |
| 15 | +@ApiModel | |
| 14 | 16 | public class ServerResponse<T> implements Serializable { |
| 15 | 17 | |
| 16 | 18 | /** |
| 17 | 19 | * 分页时用到的总数量 |
| 18 | 20 | */ |
| 21 | + @ApiModelProperty(name="total",value = "分页时用到的总数量,当返回的是集合对象的时候,才有该值,否者该值不存在") | |
| 19 | 22 | private String total; |
| 20 | 23 | /** |
| 21 | 24 | * 操作状态码 |
| 22 | 25 | */ |
| 26 | + @ApiModelProperty(name="code",value = "操作状态码") | |
| 23 | 27 | private int code; |
| 24 | 28 | /** |
| 25 | 29 | * 状态信息 |
| 26 | 30 | */ |
| 31 | + @ApiModelProperty(name="msg",value = "状态信息") | |
| 27 | 32 | private String msg; |
| 28 | 33 | /** |
| 29 | 34 | * 返回的数据包 |
| 30 | 35 | */ |
| 36 | + @ApiModelProperty(name="data",value = "返回的数据包") | |
| 31 | 37 | private T data; |
| 32 | 38 | |
| 33 | 39 | private ServerResponse(int code) { | ... | ... |
springboot/src/main/java/com/sincre/springboot/controller/TuYaYunController.java
| ... | ... | @@ -440,6 +440,45 @@ public class TuYaYunController { |
| 440 | 440 | TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); |
| 441 | 441 | return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); |
| 442 | 442 | } |
| 443 | + | |
| 444 | + @ApiOperation("同步空调当前状态") | |
| 445 | + @ApiImplicitParams({ | |
| 446 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path"), | |
| 447 | + @ApiImplicitParam(name="remote_id",value = "设备ID",required = true,paramType = "path") | |
| 448 | + }) | |
| 449 | + @GetMapping("{infrared_id}/getHWAirStatus/{remote_id}") | |
| 450 | + public ServerResponse getHWAirStatus(@PathVariable String infrared_id,@PathVariable String remote_id){ | |
| 451 | + | |
| 452 | + String apiUrl = String.format("/v1.0/infrareds/%s/remotes/%s/ac/status",infrared_id,remote_id); | |
| 453 | + Map<String,String> map = headContent(); | |
| 454 | + String result = ApiHelper.doGet(TuYaCloudService.TuYaOpenUrl + apiUrl,map); | |
| 455 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | |
| 456 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | |
| 457 | + } | |
| 458 | + | |
| 459 | + @ApiOperation("下发空调红外码") | |
| 460 | + @ApiImplicitParam(name="infrared_id",value = "设备ID",required = true,paramType = "path") | |
| 461 | + @PostMapping("{infrared_id}/addAirCode") | |
| 462 | + public ServerResponse addAirCode(@RequestBody TuYaAirCondition tuYaAirCondition,@PathVariable String infrared_id){ | |
| 463 | + | |
| 464 | + if(StringUtils.isBlank(infrared_id)||tuYaAirCondition==null){ | |
| 465 | + return ServerResponse.createByErrorCodeMessage(400,"参数错误"); | |
| 466 | + } | |
| 467 | + else{ | |
| 468 | + if(StringUtils.isBlank(tuYaAirCondition.getRemote_id())||StringUtils.isBlank(tuYaAirCondition.getRemote_index())){ | |
| 469 | + return ServerResponse.createByErrorCodeMessage(400,"参数错误"); | |
| 470 | + } | |
| 471 | + } | |
| 472 | + String apiUrl = String.format("/v1.0/infrareds/%s/ac/send-keys",infrared_id); | |
| 473 | + Map<String,String> map = headContent(); | |
| 474 | + | |
| 475 | + String json = JSON.toJSONString(tuYaAirCondition); | |
| 476 | + String result = ApiHelper.doPost(TuYaCloudService.TuYaOpenUrl + apiUrl,map,json); | |
| 477 | + TuYaResResult tuYaResResult = JSON.parseObject(result,TuYaResResult.class); | |
| 478 | + return ResultUtils.getInstance().returnResultTuYa(tuYaResResult); | |
| 479 | + } | |
| 480 | + | |
| 481 | + | |
| 443 | 482 | /** |
| 444 | 483 | * 请求头的参数 |
| 445 | 484 | * @return | ... | ... |