package com.dy.pipIrrRemote.msCenter;
|
|
import com.alibaba.fastjson2.JSONObject;
|
import com.dy.common.contant.Constant;
|
import com.dy.common.multiDataSource.DataSourceContext;
|
import com.dy.common.webUtil.BaseResponse;
|
import io.swagger.v3.oas.annotations.Hidden;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletResponse;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.http.MediaType;
|
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 java.util.Iterator;
|
import java.util.List;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/2/12 17:34
|
* @Description
|
*/
|
|
@Slf4j
|
@Tag(name = "通信中间消息中心推送消息接收方", description = "通信中间消息中心推送消息接收方")
|
@RestController
|
@RequestMapping(path="msCenter")
|
public class CenterMsReceiveCtrl{
|
|
/**
|
* 通信中间消息中心推送消息接收
|
* @param list 消息集合
|
* @return 操作结果
|
*/
|
@Hidden //不公开接口,其只有通信中间件调用
|
@PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE)
|
public BaseResponse<Boolean> receive(@RequestBody List<JSONObject> list, HttpServletRequest req, HttpServletResponse rep) {
|
//通信中间件传过来的机构tag,以用于查找数据源
|
String token = req.getHeader(Constant.UserTokenKeyInHeader);
|
DataSourceContext.set(token);
|
|
if(list != null && list.size() > 0){
|
for (JSONObject jo : list) {
|
if(jo != null){
|
log.info("----------------start " + token + " 消息数据--------------") ;
|
Iterator<String> it = jo.keySet().iterator() ;
|
String key ;
|
while (it.hasNext()){
|
key = it.next() ;
|
log.info(key + ":" + jo.get(key));
|
}
|
log.info("----------------end " + token + " 消息数据--------------") ;
|
}
|
}
|
}
|
return null ;
|
}
|
}
|