diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rest/tongyi/QGResponse.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/QGResponse.java similarity index 94% rename from iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rest/tongyi/QGResponse.java rename to iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/QGResponse.java index aff3546..9ba914f 100644 --- a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rest/tongyi/QGResponse.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/QGResponse.java @@ -1,4 +1,4 @@ -package com.qiuguo.iot.user.api.rest.tongyi; +package com.qiuguo.iot.data.request; import lombok.Data; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rest/tongyi/TongYiCommunicationRest.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/TongYiCommunicationRest.java similarity index 71% rename from iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rest/tongyi/TongYiCommunicationRest.java rename to iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/TongYiCommunicationRest.java index db33a50..5465b70 100644 --- a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rest/tongyi/TongYiCommunicationRest.java +++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/request/TongYiCommunicationRest.java @@ -1,4 +1,4 @@ -package com.qiuguo.iot.user.api.rest.tongyi; +package com.qiuguo.iot.data.request; import lombok.Data; @@ -6,6 +6,6 @@ import lombok.Data; public class TongYiCommunicationRest { private Integer isWhiteList;//是否为白名单 private String text;//消息 - private String deviceId;//设备序列号 + private String onlyId;//设备序列号 唯一 private String status; //状态,0:已完成,1.未发起,2.发起中 } diff --git a/iot-common/iot-third/pom.xml b/iot-common/iot-third/pom.xml index 44e7320..a15e2be 100644 --- a/iot-common/iot-third/pom.xml +++ b/iot-common/iot-third/pom.xml @@ -58,6 +58,10 @@ org.springframework.amqp spring-rabbit + + org.springframework.data + spring-data-redis + diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/tongyi/TYController.java b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java similarity index 79% rename from iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/tongyi/TYController.java rename to iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java index 70142c2..be251cd 100644 --- a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/tongyi/TYController.java +++ b/iot-common/iot-third/src/main/java/com/qiuguo/iot/third/service/QWenService.java @@ -1,38 +1,31 @@ -package com.qiuguo.iot.user.api.controller.tongyi; +package com.qiuguo.iot.third.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.qiuguo.iot.base.constans.RedisConstans; import com.qiuguo.iot.base.utils.WebClientUtils; -import com.qiuguo.iot.user.api.rest.tongyi.QGResponse; -import com.qiuguo.iot.user.api.rest.tongyi.TongYiCommunicationRest; + +import com.qiuguo.iot.data.request.QGResponse; +import com.qiuguo.iot.data.request.TongYiCommunicationRest; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.ReactiveStringRedisTemplate; import org.springframework.data.redis.core.ReactiveValueOperations; import org.springframework.util.ObjectUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; import javax.annotation.Resource; import java.util.*; -import java.util.function.Function; -@RestController -@RequestMapping("/TY") @Slf4j -public class TYController { +public class QWenService { @Resource private ReactiveStringRedisTemplate reactiveStringRedisTemplate; - @PostMapping("communication") - public Mono communication(@RequestBody TongYiCommunicationRest rest){ + public Mono communication(TongYiCommunicationRest rest){ ReactiveValueOperations operations = reactiveStringRedisTemplate.opsForValue(); - return operations.get(RedisConstans.TY_QUEUE_LIST+rest.getDeviceId()).defaultIfEmpty("").flatMap(res -> { + return operations.get(RedisConstans.TY_QUEUE_LIST+rest.getOnlyId()).defaultIfEmpty("").flatMap(res -> { JSONArray objects = JSONArray.parseArray(res); List list = new LinkedList<>(); try { @@ -46,7 +39,7 @@ public class TYController { } //不是白名单插入尾部 list.add(rest); - operations.set(RedisConstans.TY_QUEUE_LIST+rest.getDeviceId(), JSONArray.toJSONString(list)).subscribe(); + operations.set(RedisConstans.TY_QUEUE_LIST+rest.getOnlyId(), JSONArray.toJSONString(list)).subscribe(); //通知Redis让Redis进行消费 HashMap map = new HashMap<>(); map.put("task_type", "qwen"); @@ -56,7 +49,7 @@ public class TYController { log.error("调用异常:"); return Mono.just(new QGResponse().getData()); }finally { - reactiveStringRedisTemplate.delete(RedisConstans.TY_QUEUE_LIST+rest.getDeviceId()).subscribe(); + reactiveStringRedisTemplate.delete(RedisConstans.TY_QUEUE_LIST+rest.getOnlyId()).subscribe(); } }); }