From 02560b469686a91a14599a354681bbe21d1ce0aa Mon Sep 17 00:00:00 2001 From: 252535409 <252535409@qq.com> Date: Thu, 30 Nov 2023 22:04:15 +0800 Subject: [PATCH] 123 --- .../modules/ai/service/IRoomService.java | 3 +- .../ai/service/impl/RoomServiceImpl.java | 65 ++++--------------- .../api/controller/AiAPIController.java | 7 +- .../service/ISysAnnouncementService.java | 2 +- .../impl/SysAnnouncementServiceImpl.java | 11 +++- .../jeecg/modules/system/util/TestCase.java | 51 +++++++++++++++ .../modules/system/util/WebServiceUtil.java | 54 +++++++++++++++ .../src/main/resources/application-dev.yml | 1 + 8 files changed, 136 insertions(+), 58 deletions(-) create mode 100644 service-management-system/src/main/java/org/jeecg/modules/system/util/TestCase.java create mode 100644 service-management-system/src/main/java/org/jeecg/modules/system/util/WebServiceUtil.java diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java b/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java index 096332e..aa4469e 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/service/IRoomService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.ai.service; import org.jeecg.modules.ai.entity.Room; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -16,6 +17,6 @@ public interface IRoomService extends IService { * 创建房间并返回房间地址 * @return */ - public String saveRoom(String userId); + public JSONObject saveRoom(String userId); } diff --git a/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java b/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java index 15ca639..b9c4229 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java +++ b/service-management-system/src/main/java/org/jeecg/modules/ai/service/impl/RoomServiceImpl.java @@ -1,12 +1,15 @@ package org.jeecg.modules.ai.service.impl; import java.io.StringReader; +import java.net.URL; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.annotation.Resource; +import javax.xml.namespace.QName; +import javax.xml.ws.Service; import org.dom4j.Document; import org.dom4j.Element; @@ -20,9 +23,9 @@ import org.jeecg.modules.system.entity.SysAnnouncement; import org.jeecg.modules.system.entity.SysAnnouncementSend; import org.jeecg.modules.system.service.ISysAnnouncementSendService; import org.jeecg.modules.system.service.ISysAnnouncementService; +import org.jeecg.modules.system.util.WebServiceUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; @@ -37,18 +40,20 @@ import cn.hutool.http.webservice.SoapUtil; * @Date: 2023-11-30 * @Version: V1.0 */ -@Service +@org.springframework.stereotype.Service @DS("multi-datasource1") public class RoomServiceImpl extends ServiceImpl implements IRoomService { @Resource private RoomMapper roomMapper; + @Value(value = "${openmeetings_url}") + private static String OPENMEETINGS_URL; /** * 创建房间并返回房间地址 * @return */ - public String saveRoom(String userId) { + public JSONObject saveRoom(String userId) { Room room = new Room(); room.setName("远程协助"+userId); room.setDeleted(0); @@ -71,53 +76,11 @@ public class RoomServiceImpl extends ServiceImpl implements IR room.setChatModerated(0); roomMapper.insert(room); //生成房间地址 - //请求地址 - String soapUrl = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"; - HashMap map = new HashMap<>(); - map.put("theCityName", "武汉"); - SoapClient soapClient = SoapClient.create(soapUrl) - //请求方法,命名空间 - .setMethod("web:getWeatherbyCityName", "http://WebXml.com.cn/") - .setParams(map); - String sendSoap = soapClient.send(true); - System.out.println(sendSoap); - Map map1 = new HashMap(); - Map soapMap = XmlMap(sendSoap, map1); - System.out.println(JSONObject.toJSONString(soapMap)); - - - String roomUrl = ""; - return roomUrl; + String result = WebServiceUtil.send("请求人", room.getId()); + String roomUrl = OPENMEETINGS_URL + JSONObject.parseObject(result).getString("message"); + JSONObject json = new JSONObject(); + json.put("roomUrl", roomUrl); + json.put("roomId", room.getId()); + return json; } - - public static Map XmlMap(String xml, Map map) { - try { - SAXReader reader = new SAXReader(); - Document doc = reader.read(new StringReader(xml)); - Element root = doc.getRootElement(); - String path = ""; - if (map.containsKey(root.getName().trim())) { - path = map.get(root.getName().trim()); - map.remove(root.getName().trim()); - } - for (Iterator i = root.elementIterator(); i.hasNext(); ) { - Element element = (Element) i.next(); - if (element.isTextOnly()) { - if (path.length() > 0) { - map.put(path + element.getName().trim(), element.getTextTrim()); - } else { - map.put(element.getName().trim(), element.getTextTrim()); - } - } else { - map.put(element.getName().trim(), path + element.getName().trim() + "."); - XmlMap(element.asXML(), map); - } - } - } catch (Exception e) { - e.printStackTrace(); - } - return map; - } - - } diff --git a/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java b/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java index daf402e..e5ed394 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java +++ b/service-management-system/src/main/java/org/jeecg/modules/api/controller/AiAPIController.java @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -152,10 +153,10 @@ public class AiAPIController { */ @GetMapping(value = "/createRoom") public Result createRoom(@RequestParam(name = "userId", required = true) String userId) { - String roomUrl = iRoomService.saveRoom(userId); + JSONObject json = iRoomService.saveRoom(userId); //发送系统消息 - iSysAnnouncementService.saveRoomAnnouncement(roomUrl); - return Result.OK(roomUrl); + iSysAnnouncementService.saveRoomAnnouncement(json.getLong("roomId")); + return Result.OK(json.getString("roomUrl")); } /** diff --git a/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java b/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java index 3dec5e8..c610ce3 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java +++ b/service-management-system/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java @@ -22,5 +22,5 @@ public interface ISysAnnouncementService extends IService { public Page querySysCementPageByUserId(Page page,String userId,String msgCategory); - public boolean saveRoomAnnouncement(String roomUrl); + public boolean saveRoomAnnouncement(Long roomId); } diff --git a/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java b/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java index 50560bd..c4d65ad 100644 --- a/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java +++ b/service-management-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementServiceImpl.java @@ -13,6 +13,7 @@ import org.jeecg.modules.system.entity.SysAnnouncementSend; import org.jeecg.modules.system.mapper.SysAnnouncementMapper; import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper; import org.jeecg.modules.system.service.ISysAnnouncementService; +import org.jeecg.modules.system.util.WebServiceUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -42,6 +43,8 @@ public class SysAnnouncementServiceImpl extends ServiceImpl