Merge branch 'feature-BOX一期' of http://47.99.132.106:10081/wulin/qiuguo-iot into feature-BOX一期
This commit is contained in:
commit
020532e72d
@ -1,4 +1,4 @@
|
|||||||
package com.qiuguo.iot.user.api.rest.tongyi;
|
package com.qiuguo.iot.data.request;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package com.qiuguo.iot.user.api.rest.tongyi;
|
package com.qiuguo.iot.data.request;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@ -6,6 +6,6 @@ import lombok.Data;
|
|||||||
public class TongYiCommunicationRest {
|
public class TongYiCommunicationRest {
|
||||||
private Integer isWhiteList;//是否为白名单
|
private Integer isWhiteList;//是否为白名单
|
||||||
private String text;//消息
|
private String text;//消息
|
||||||
private String deviceId;//设备序列号
|
private String onlyId;//设备序列号 唯一
|
||||||
private String status; //状态,0:已完成,1.未发起,2.发起中
|
private String status; //状态,0:已完成,1.未发起,2.发起中
|
||||||
}
|
}
|
||||||
@ -58,6 +58,10 @@
|
|||||||
<groupId>org.springframework.amqp</groupId>
|
<groupId>org.springframework.amqp</groupId>
|
||||||
<artifactId>spring-rabbit</artifactId>
|
<artifactId>spring-rabbit</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.data</groupId>
|
||||||
|
<artifactId>spring-data-redis</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|||||||
@ -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.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.qiuguo.iot.base.constans.RedisConstans;
|
import com.qiuguo.iot.base.constans.RedisConstans;
|
||||||
import com.qiuguo.iot.base.utils.WebClientUtils;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.redis.core.ReactiveStringRedisTemplate;
|
import org.springframework.data.redis.core.ReactiveStringRedisTemplate;
|
||||||
import org.springframework.data.redis.core.ReactiveValueOperations;
|
import org.springframework.data.redis.core.ReactiveValueOperations;
|
||||||
import org.springframework.util.ObjectUtils;
|
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 reactor.core.publisher.Mono;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/TY")
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class TYController {
|
public class QWenService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ReactiveStringRedisTemplate reactiveStringRedisTemplate;
|
private ReactiveStringRedisTemplate reactiveStringRedisTemplate;
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("communication")
|
public Mono<QGResponse.Data> communication(TongYiCommunicationRest rest){
|
||||||
public Mono<QGResponse.Data> communication(@RequestBody TongYiCommunicationRest rest){
|
|
||||||
ReactiveValueOperations<String, String> operations = reactiveStringRedisTemplate.opsForValue();
|
ReactiveValueOperations<String, String> 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);
|
JSONArray objects = JSONArray.parseArray(res);
|
||||||
List<TongYiCommunicationRest> list = new LinkedList<>();
|
List<TongYiCommunicationRest> list = new LinkedList<>();
|
||||||
try {
|
try {
|
||||||
@ -46,7 +39,7 @@ public class TYController {
|
|||||||
}
|
}
|
||||||
//不是白名单插入尾部
|
//不是白名单插入尾部
|
||||||
list.add(rest);
|
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进行消费
|
//通知Redis让Redis进行消费
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("task_type", "qwen");
|
map.put("task_type", "qwen");
|
||||||
@ -56,7 +49,7 @@ public class TYController {
|
|||||||
log.error("调用异常:");
|
log.error("调用异常:");
|
||||||
return Mono.just(new QGResponse().getData());
|
return Mono.just(new QGResponse().getData());
|
||||||
}finally {
|
}finally {
|
||||||
reactiveStringRedisTemplate.delete(RedisConstans.TY_QUEUE_LIST+rest.getDeviceId()).subscribe();
|
reactiveStringRedisTemplate.delete(RedisConstans.TY_QUEUE_LIST+rest.getOnlyId()).subscribe();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user