ard-work/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ard-work/pom.xml
@@ -181,7 +181,11 @@ <artifactId>javax.xml.rpc-api</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>commons-discovery</groupId> <artifactId>commons-discovery</artifactId> <version>0.2</version> </dependency> </dependencies> ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ package com.ruoyi.health.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.utils.result.Results; import com.ruoyi.utils.soap.ARDSoapUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author Administrator */ @RestController @RequestMapping("/health") @Api(tags = "设å¤å¥åº·ç®¡ç") public class HealthController { @Autowired ISysConfigService configService; @PreAuthorize("@ss.hasPermi('sy:syCar:getSDKCarPositionByRight')") @ApiOperation("è·å设å¤å表") @GetMapping("getEquipmentList") public Results getEquipmentList(){ String url = configService.getHealth(); JSONObject j = new JSONObject(); Map<String, Object> map = new HashMap(); String result = ARDSoapUtil.postSoapResult(url, "GetEquipmentList", map); if ("".equals(result)) { //è¿åç»æä¸ºç©º return Results.error("æ¥è¯¢å¤±è´¥ï¼"); } Map<String, Object> mapResult = (Map<String, Object>) JSON.parse((String) result); if ((int) mapResult.get("code") == 200) { j.put("code", mapResult.get("code")); List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata")); for (int i = 0; i < listResult.size(); i++) { Map<String, Object> mapTemp = listResult.get(i); int id = (Integer) mapTemp.get("id"); //主é®id String equipKey = (String) mapTemp.get("EquipKey"); //设å¤Key String equipNumber = (String) mapTemp.get("EquipNumber"); //设å¤ç¼å· String equipName = (String) mapTemp.get("EquipName"); //设å¤åç§° String equipLevel = (String) mapTemp.get("EquipLevel"); //è®¾å¤æ¥è¦ç级 0æ£å¸¸ 1注æ 2严é String measureDate = (String) mapTemp.get("MeasureDate"); //æè¿ä¸æ¬¡æµéæ¶é´ j.put(id + "", mapTemp); } } else { //é误æç¤º j.put("errmsg", mapResult.get("errmsg")); j.put("code", mapResult.get("code")); } return Results.succeed(j); } } ard-work/src/main/java/com/ruoyi/utils/soap/ARDSoapUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ package com.ruoyi.utils.soap; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; import javax.xml.namespace.QName; import java.util.HashMap; import java.util.Map; /**设å¤å¥åº·æ¥å£ * 20221130 * zj * */ public class ARDSoapUtil { private static String url = "http://221.1.80.74:15024/ZX/ZX2WebService.asmx"; /**postæ¹æ³è·åæ°æ® * String url , * **/ public static String postSoapResult(String url , String method ,Map<String , Object> map){ try { //å符é String encodingStyle = "utf-8"; //WSDLçå°å String endpoint = url + "?wsdl"; //å½å空é´ï¼å¨WSDLä¸å¯¹åºçæ ç¾æ¯ï¼åè§è¯´æç¬¬3æ¡ String targetNamespace = "http://tempuri.org/"; //å ·ä½æ¹æ³çè°ç¨URIï¼å¨WSDLä¸å¯¹åºçæ ç¾æ¯ï¼åè§è¯´æç¬¬4æ¡ String soapActionURI = "http://tempuri.org/" + method; //å ·ä½è°ç¨çæ¹æ³åï¼å¨WSDLä¸å¯¹åºçæ ç¾æ¯ï¼åè§è¯´æç¬¬5æ¡ Service service = new Service(); Call call = (Call) service.createCall(); call.setSOAPActionURI(soapActionURI); call.setTargetEndpointAddress(new java.net.URL(endpoint)); //è®¾ç½®ç®æ æ¥å£çå°å call.setEncodingStyle(encodingStyle);//è®¾ç½®ä¼ å ¥æå¡ç«¯çåç¬¦éæ ¼å¼å¦utf-8ç call.setOperationName(new QName(targetNamespace,method));// å ·ä½è°ç¨çæ¹æ³åï¼å¯ä»¥ç±æ¥å£æä¾æ¹åè¯ä½ ï¼ä¹å¯ä»¥èªå·±ä»WSDL䏿¾ call.setUseSOAPAction(true); // call.setReturnType(XMLType.XSD_STRING); Object[] o = new Object[map.size()]; int i=0; for (String key :map.keySet() ){ call.addParameter(new QName(targetNamespace , key), XMLType.XSD_INTEGER, javax.xml.rpc.ParameterMode.IN); o[i] = map.get(key); i++; } String result = (String) call.invoke(o); // æå°è¿åå¼ System.out.println("result is :"+result); return result; } catch (Exception e) { e.printStackTrace(); return ""; } } } ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
@@ -93,4 +93,9 @@ */ String getSYURL(); /** * 设å¤å¥åº·ç®¡ç * @return */ String getHealth(); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -240,4 +240,14 @@ return ""; } } @Override public String getHealth() { List<SysConfig> result = configMapper.selectByType("health"); if(result.size() > 0){ return result.get(0).getConfigValue(); }else{ return ""; } } }