diff --git a/beneficiation/src/main/java/com/ccsens/beneficiation/service/ParameterService.java b/beneficiation/src/main/java/com/ccsens/beneficiation/service/ParameterService.java index cb99042c..fd2f0c1d 100644 --- a/beneficiation/src/main/java/com/ccsens/beneficiation/service/ParameterService.java +++ b/beneficiation/src/main/java/com/ccsens/beneficiation/service/ParameterService.java @@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; /** @@ -59,12 +60,20 @@ public class ParameterService implements IParameterService{ if(CollectionUtil.isNotEmpty(transducers)){ transducers.forEach(transducer -> { String type = "变频器".equalsIgnoreCase(transducer.getTitle()) ? "transducer" : "solenoidValue"; + int x = "变频器".equalsIgnoreCase(transducer.getTitle()) ? 0 : 1; if(CollectionUtil.isNotEmpty(transducer.getValues())){ int i = transducer.getValues().size() <= 1 ? 0 : 1; for (ParameterVo.TransducerValue value : transducer.getValues()) { String a = i == 0 ? "" : Integer.toString(i); value.setKey("实时/设置" + a); value.setType(type + a); + BigDecimal currentTime; + if(x == 0){ + currentTime = value.getCurrentTimeValue().divide(BigDecimal.valueOf(100), 0, BigDecimal.ROUND_HALF_UP); + }else { + currentTime = value.getCurrentTimeValue().divide(BigDecimal.valueOf(10),1,BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(4)); + } + value.setCurrentTimeValue(currentTime); i++; } } @@ -118,22 +127,53 @@ public class ParameterService implements IParameterService{ } //电磁阀1 ParameterDto.Parameter solenoidValue1 = param.getSolenoidValue1(); - transducer(solenoidValue1); + if(ObjectUtil.isNotNull(solenoidValue1)) { + if (ObjectUtil.isNotNull(solenoidValue1.getSettingValue())) { + solenoidValue1.setSettingValue(solenoidValue1.getSettingValue().multiply(BigDecimal.valueOf(100))); + } + transducer(solenoidValue1); + } //电磁阀2 ParameterDto.Parameter solenoidValue2 = param.getSolenoidValue2(); - transducer(solenoidValue2); + if(ObjectUtil.isNotNull(solenoidValue2)){ + if(ObjectUtil.isNotNull(solenoidValue2.getSettingValue())){ + solenoidValue2.setSettingValue(solenoidValue2.getSettingValue().multiply(BigDecimal.valueOf(100))); + } + transducer(solenoidValue2); + } + //变频器1 ParameterDto.Parameter transducer1 = param.getTransducer1(); - transducer(transducer1); + if(ObjectUtil.isNotNull(transducer1)) { + if (ObjectUtil.isNotNull(transducer1.getSettingValue())) { + transducer1.setSettingValue(transducer1.getSettingValue().add(BigDecimal.valueOf(4))); + } + transducer(transducer1); + } //变频器2 ParameterDto.Parameter transducer2 = param.getTransducer1(); - transducer(transducer2); + if(ObjectUtil.isNotNull(transducer2)) { + if (ObjectUtil.isNotNull(transducer2.getSettingValue())) { + transducer2.setSettingValue(transducer2.getSettingValue().add(BigDecimal.valueOf(4))); + } + transducer(transducer2); + } //变频器3 ParameterDto.Parameter transducer3 = param.getTransducer1(); - transducer(transducer3); + if(ObjectUtil.isNotNull(transducer3)) { + if (ObjectUtil.isNotNull(transducer3.getSettingValue())) { + transducer3.setSettingValue(transducer3.getSettingValue().add(BigDecimal.valueOf(4))); + } + transducer(transducer3); + } //变频器4 ParameterDto.Parameter transducer4 = param.getTransducer1(); - transducer(transducer4); + if(ObjectUtil.isNotNull(transducer4)) { + if (ObjectUtil.isNotNull(transducer4.getSettingValue())) { + transducer4.setSettingValue(transducer4.getSettingValue().add(BigDecimal.valueOf(4))); + } + transducer(transducer4); + } //电耳1 ParameterDto.ParameterThreshold electricEar1 = param.getElectricEar1(); @@ -217,6 +257,7 @@ public class ParameterService implements IParameterService{ // byte[] center = new byte[]{(byte)0x10,(byte)0x10,addr1,addr2,uc1,uc2}; byte[] center = new byte[]{(byte)0x10,(byte)0x10,addr1,addr2,0x00,0x01,0x02,uc1,uc2}; + byte[] crc = new byte[2]; CRCUtil.crc16(crc,center,0,center.length); log.info("计算crc校验:{}---{}",crc[0],crc[1]); @@ -227,6 +268,9 @@ public class ParameterService implements IParameterService{ System.arraycopy(crc,0,all,header.length + center.length,crc.length); all[2] = (byte) (all.length - 3); + for (int i = 0; i < all.length; i++) { + log.info("发送数据:{}",Integer.toHexString(all[i] & 0xFF)); + } sendInMessage(all); } } @@ -237,7 +281,8 @@ public class ParameterService implements IParameterService{ */ private void sendInMessage(byte[] all) throws Exception { Set userIdSet = new HashSet<>(); - userIdSet.add(String.valueOf(1)); +// userIdSet.add(String.valueOf(1)); + userIdSet.add(String.valueOf(2)); MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User); messageRule.setAckRule(MessageRule.AckRule.NONE); messageRule.setOfflineDiscard((byte) 1); diff --git a/beneficiation/src/main/resources/application.yml b/beneficiation/src/main/resources/application.yml index 1ac895fc..ac92adb9 100644 --- a/beneficiation/src/main/resources/application.yml +++ b/beneficiation/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: prod - include: common, util-prod + active: test + include: common, util-test diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/FileVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/FileVo.java new file mode 100644 index 00000000..ab97b920 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/FileVo.java @@ -0,0 +1,20 @@ +package com.ccsens.tall.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +@Data +public class FileVo { + @ApiModel("文件查询-返回") + @Data + public static class FilePosition{ + @ApiModelProperty("id") + private Long id; + @ApiModelProperty("文件名") + private String name; + @ApiModelProperty("存储路径") + private String path; + @ApiModelProperty("查看路径") + private String visitUrl; + } +} diff --git a/tall/src/main/java/com/ccsens/tall/web/DebugController.java b/tall/src/main/java/com/ccsens/tall/web/DebugController.java index ef1de5d3..dcf9d815 100644 --- a/tall/src/main/java/com/ccsens/tall/web/DebugController.java +++ b/tall/src/main/java/com/ccsens/tall/web/DebugController.java @@ -1,9 +1,9 @@ package com.ccsens.tall.web; +import com.alibaba.fastjson.JSONObject; import com.ccsens.tall.bean.dto.message.SyncMessageWithStartDto; -import com.ccsens.util.JacksonUtil; -import com.ccsens.util.JsonResponse; -import com.ccsens.util.RedisUtil; +import com.ccsens.tall.bean.vo.FileVo; +import com.ccsens.util.*; import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.MessageConstant; import com.ccsens.util.bean.message.common.MessageRule; @@ -22,7 +22,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; @Slf4j @Api(tags = "DEBUG" , description = "DebugController | ") @@ -114,4 +116,19 @@ public class DebugController { } + @ApiOperation(value = "/测试",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value="htt",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + public JsonResponse https(HttpServletRequest request) throws Exception { + String requestUrl = "http://localhost:8001/file/query"; + List files = new ArrayList<>(); + files.add(1321760076465311744L); + + String c = RestTemplateUtil.postBody1(requestUrl,files); + + JsonResponse a = JSONObject.parseObject(c,JsonResponse.class); + + return a; + } } diff --git a/tall/src/main/resources/application-dev.yml b/tall/src/main/resources/application-dev.yml index 58302ba7..9a6e63b0 100644 --- a/tall/src/main/resources/application-dev.yml +++ b/tall/src/main/resources/application-dev.yml @@ -39,4 +39,5 @@ wx: file: path: /home/cloud/tall/uploads/ domain: http://localhost:7030/v1.0/ - imgDomain: http://localhost:7030/v1.0/uploads \ No newline at end of file + imgDomain: http://localhost:7030/v1.0/uploads +filedeal: http://localhost:8001/file/query \ No newline at end of file diff --git a/tall/src/main/resources/application-prod.yml b/tall/src/main/resources/application-prod.yml index e31f8289..1b0a8a8e 100644 --- a/tall/src/main/resources/application-prod.yml +++ b/tall/src/main/resources/application-prod.yml @@ -45,4 +45,5 @@ wx: file: path: /home/cloud/tall/uploads/ domain: https://www.tall.wiki/gateway/tall/v1.0/ - imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads \ No newline at end of file + imgDomain: https://www.tall.wiki/gateway/tall/v1.0/uploads +filedeal: https://www.tall.wiki/file/query \ No newline at end of file diff --git a/tall/src/main/resources/application-test.yml b/tall/src/main/resources/application-test.yml index a5ca95a5..bc6800cf 100644 --- a/tall/src/main/resources/application-test.yml +++ b/tall/src/main/resources/application-test.yml @@ -46,7 +46,7 @@ file: path: /home/cloud/tall/uploads/ domain: https://test.tall.wiki/gateway/tall/v1.0/ imgDomain: https://test.tall.wiki/gateway/tall/v1.0/uploads - +filedeal: https://test.tall.wiki/file/query #file: # domain: http://192.168.0.99/gateway/tall/v1.0/ # imgDomain: http://192.168.0.99/gateway/tall/v1.0/uploads \ No newline at end of file diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index ebc544af..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: test - include: util-test,common + active: dev + include: util-dev,common diff --git a/util/src/main/java/com/ccsens/util/CRCUtil.java b/util/src/main/java/com/ccsens/util/CRCUtil.java index f4dea530..94a41ba0 100644 --- a/util/src/main/java/com/ccsens/util/CRCUtil.java +++ b/util/src/main/java/com/ccsens/util/CRCUtil.java @@ -1,7 +1,13 @@ package com.ccsens.util; +import lombok.extern.slf4j.Slf4j; + +@Slf4j public class CRCUtil { public static void crc16(byte crc[], byte data[], int index, int len) { + for (int i = 0; i < len; i++) { + log.info("发送数据:{}",Integer.toHexString(data[i] & 0xFF)); + } // 预置16位crc寄存器,初值全部为1 int wcrc = 0xFFFF; // 定义中间变量 diff --git a/util/src/main/java/com/ccsens/util/PropUtil.java b/util/src/main/java/com/ccsens/util/PropUtil.java index 4d0898e3..61beb6c4 100644 --- a/util/src/main/java/com/ccsens/util/PropUtil.java +++ b/util/src/main/java/com/ccsens/util/PropUtil.java @@ -28,6 +28,7 @@ public class PropUtil { public static String queryVisitUrls; public static String getWpsFilePath; public static String accessPath; + public static String filedeal; @Value("${saveWpsFile:}") public void setSaveWpsFile(String saveWpsFile) { @@ -99,4 +100,8 @@ public class PropUtil { public void setAccessPath(String accessPath) { PropUtil.accessPath = accessPath; } + @Value("${filedeal:}") + public void setFiledeal(String filedeal) { + PropUtil.filedeal = filedeal; + } } diff --git a/util/src/main/java/com/ccsens/util/RestTemplateUtil.java b/util/src/main/java/com/ccsens/util/RestTemplateUtil.java index ff73a2ab..06e7a4d5 100644 --- a/util/src/main/java/com/ccsens/util/RestTemplateUtil.java +++ b/util/src/main/java/com/ccsens/util/RestTemplateUtil.java @@ -2,6 +2,7 @@ package com.ccsens.util; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; @@ -18,6 +19,7 @@ import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; import java.net.URI; import java.net.URISyntaxException; +import java.util.List; import java.util.Map; @Slf4j @@ -54,6 +56,7 @@ public class RestTemplateUtil { log.info("entity:{}",entity); return JSONObject.parseObject(entity.getBody(), returnClass); } + public static String postBody(String url, Object params) { log.info("路径:{}, 参数:{}", url, params); HttpHeaders httpHeaders = new HttpHeaders(); @@ -76,6 +79,31 @@ public class RestTemplateUtil { log.info("返回:{}", response); return response.getBody(); } + + public static String postBody1(String url, List params) { + log.info("路径:{}, 参数:{}", url, params); + HttpHeaders httpHeaders = new HttpHeaders(); + MediaType type=MediaType.parseMediaType("application/json;charset=UTF-8"); + httpHeaders.setContentType(type); + +// MultiValueMap map=new LinkedMultiValueMap<>(); + +// JSONObject json = JSON.parseObject(JSON.toJSONString(params)); + + + HttpEntity> objectHttpEntity = new HttpEntity<>(params,httpHeaders); + URI uri = null; + try { + uri = new URI(url); + }catch (URISyntaxException e) { + log.error("转换路径异常:{}", e); + throw new BaseException(CodeEnum.URL_ERROR); + } + + ResponseEntity response = util.restTemplate.postForEntity(uri, objectHttpEntity, String.class); + log.info("返回:{}", response); + return response.getBody(); + } public static String postUrlEncode(String url, Object params) { log.info("请求路径:{},请求参数:{}", url, params); JSONObject json = JSON.parseObject(JSON.toJSONString(params)); diff --git a/util/src/test/java/com/ccsens/util/OtherTest.java b/util/src/test/java/com/ccsens/util/OtherTest.java index dd8d7733..b2fbc3d4 100644 --- a/util/src/test/java/com/ccsens/util/OtherTest.java +++ b/util/src/test/java/com/ccsens/util/OtherTest.java @@ -6,11 +6,16 @@ import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.junit.Test; +import javax.net.ssl.HttpsURLConnection; +import javax.net.ssl.SSLContext; +import javax.net.ssl.SSLSocketFactory; +import javax.net.ssl.TrustManager; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; -import java.io.File; +import java.io.*; import java.math.BigDecimal; +import java.net.URL; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Comparator; @@ -120,5 +125,73 @@ public class OtherTest { } + @Test + public void test8(){ + System.out.println(Byte.parseByte("-1") & 0xff); + } +// +// /** +// * 发送https请求 +// * +// * @param requestUrl 请求地址 +// * @param requestMethod 请求方式(GET、POST) +// * @param postStr 提交的数据 +// * @return String(Json) +// */ +// @Test +// public void test9(String requestUrl, String requestMethod, String postStr) throws Exception { +// +// requestUrl = "http://localhost:8001/file/query"; +// requestMethod = "POST"; +// List files = new ArrayList<>(); +// files.add(1321760076465311744L); +// +// postStr = JacksonUtil.beanToJson(files); +// +// StringBuffer buffer = null; +// // 创建SSLContext对象,并使用我们指定的信任管理器初始化 +// TrustManager[] tm = {new MyX509TrustManager()}; +// SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); +// sslContext.init(null, tm, new java.security.SecureRandom()); +// // 从上述SSLContext对象中得到SSLSocketFactory对象 +// SSLSocketFactory ssf = sslContext.getSocketFactory(); +// +// URL url = new URL(requestUrl); +// HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); +// conn.setSSLSocketFactory(ssf); +// +// conn.setDoOutput(true); +// conn.setDoInput(true); +// conn.setUseCaches(false); +// // 设置请求方式(GET/POST) +// conn.setRequestMethod(requestMethod); +// +// // 当outputStr不为null时向输出流写数据 +// if (null != postStr) { +// OutputStream outputStream = conn.getOutputStream(); +// // 注意编码格式 +// outputStream.write(postStr.getBytes("UTF-8")); +// outputStream.close(); +// } +// +// // 从输入流读取返回内容 +// InputStream inputStream = conn.getInputStream(); +// InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); +// BufferedReader bufferedReader = new BufferedReader(inputStreamReader); +// String str = null; +// buffer = new StringBuffer(); +// while ((str = bufferedReader.readLine()) != null) { +// buffer.append(str); +// } +// +// // 释放资源 +// bufferedReader.close(); +// inputStreamReader.close(); +// inputStream.close(); +// inputStream = null; +// conn.disconnect(); +//// return buffer == null ? null : buffer.toString(); +// System.out.println( buffer == null ? null : buffer.toString()); +// } }