From ec154190e4ea5752c94ab515bbe0018c7f135779 Mon Sep 17 00:00:00 2001 From: litao Date: Tue, 8 Aug 2023 09:09:16 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B48=E6=9C=888=E6=97=A509:08:57?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent/service/HikAgentService.java | 2 +- .../AlarmInformationController.java | 10 +- .../controller/AppDataController.java | 47 +++++--- .../controller/CornJobController.java | 31 +---- .../hospital/entity/AlarmData.java | 108 ++++++++++++++++++ .../springblade/hospital/entity/Alarms.java | 45 ++++++++ .../hospital/hik/alarm/AlarmDataParse.java | 6 +- .../hospital/service/ICornJobService.java | 3 + .../service/impl/AppDataServiceImpl.java | 6 +- .../service/impl/CornJobServiceImpl.java | 59 +++++++++- .../hospital/utils/CornJobUtil.java | 57 ++++----- .../hospital/utils/ExternalUtils.java | 31 ++++- src/main/resources/application.yml | 1 + 13 files changed, 318 insertions(+), 88 deletions(-) create mode 100644 src/main/java/org/springblade/hospital/entity/AlarmData.java create mode 100644 src/main/java/org/springblade/hospital/entity/Alarms.java diff --git a/src/main/java/org/springblade/hospital/agent/service/HikAgentService.java b/src/main/java/org/springblade/hospital/agent/service/HikAgentService.java index b3819c6..ec178e4 100644 --- a/src/main/java/org/springblade/hospital/agent/service/HikAgentService.java +++ b/src/main/java/org/springblade/hospital/agent/service/HikAgentService.java @@ -188,7 +188,7 @@ public class HikAgentService extends AgentGrpc.AgentImplBase { list.forEach(map -> { // Map extra = JSON.parseObject(JSON.toJSONString(roadwayVo), new TypeReference>() { // }); - // 获取mac标签 + // 获取mac标签2 String s = JSON.toJSONString(map.get("tags")).replace("\\", ""); s = s.substring(1, s.length() - 1); Map tagsMap = JSONObject.parseObject(s, Map.class); diff --git a/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java b/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java index 711ab67..b584c23 100644 --- a/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java +++ b/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java @@ -16,6 +16,7 @@ */ package org.springblade.hospital.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; @@ -67,9 +68,12 @@ public class AlarmInformationController extends BladeController { } @PostMapping("/hikRemote") - public R hikRemote(@RequestParam Map params) { - String data = params.get("data"); - Point point = new Gson().fromJson(data, Point.class); + public R hikRemote(@RequestBody Map params) { + System.out.println("-------params:" + params); +// String data = params.get("data"); +// System.out.println("-------data:" + data); + Point point = new Gson().fromJson(JSON.toJSONString(params), Point.class); + System.out.println("-------point:" + point); if (point == null) { return R.success("请求参数不能为空"); } diff --git a/src/main/java/org/springblade/hospital/controller/AppDataController.java b/src/main/java/org/springblade/hospital/controller/AppDataController.java index de889ad..6af00af 100644 --- a/src/main/java/org/springblade/hospital/controller/AppDataController.java +++ b/src/main/java/org/springblade/hospital/controller/AppDataController.java @@ -30,6 +30,7 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.hospital.entity.AlarmInformation; +import org.springblade.hospital.entity.Alarms; import org.springblade.hospital.entity.AppData; import org.springblade.hospital.entity.KeyAndSecret; import org.springblade.hospital.hik.alarm.Alarm; @@ -52,6 +53,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.UUID; import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; @@ -83,9 +85,9 @@ public class AppDataController extends BladeController { /** * 文件上传 */ - @SneakyThrows + @CrossOrigin @PostMapping("/putFile") - public R> putFile(AppData appData, HttpServletRequest request) { + public R putFile(AppData appData, HttpServletRequest request) { List resultList = new ArrayList<>(); CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); @@ -105,23 +107,32 @@ public class AppDataController extends BladeController { /** * 海信上报接口 */ + @CrossOrigin @PostMapping("/escalation") - public void escalation(@RequestBody AlarmInformation alarmInformation) { - try { - // 创建RestTemplate实例 -// RestTemplate restTemplate = new RestTemplate(); + public R escalation(@RequestBody Alarms alarm) { + String response = ""; + + // 请求地址 + String url = "https://test48xwjfile.juhaolian.cn/iot-open-device/report/alarm"; +// String url = paramService.getValue("url"); + + // 设置请求Header + String appKey = "BN8ZDpBI"; + String appSecret = "5FtRlaVFqvggNUM8/b7u0/MP6zE65V80EPWEK6dDAps="; - // 设置请求Header - String appKey = "BN8ZDpBI"; - String appSecret = "5FtRlaVFqvggNUM8/b7u0/MP6zE65V80EPWEK6dDAps="; +// String zfcAll = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; +// char[] zfc = zfcAll.toCharArray(); +// String nonce = RandomStringUtils.random(32, zfc); + UUID id = UUID.randomUUID(); + String[] idd = id.toString().split("-"); + String nonce = idd[0] + idd[1] + idd[2] + idd[3] + idd[4]; - String zfcAll = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; - char[] zfc = zfcAll.toCharArray(); - String nonce = RandomStringUtils.random(32, zfc); - String timestamp = String.valueOf(System.currentTimeMillis()); + String timestamp = String.valueOf(System.currentTimeMillis()); + try { // 基于HMAC-SHA256的base64加密 String message = "/report/data/device?appKey=" + appKey + "&nonce=" + nonce + "×tamp=" + timestamp; + Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); SecretKeySpec secret_key = new SecretKeySpec(appSecret.getBytes(), "HmacSHA256"); sha256_HMAC.init(secret_key); @@ -134,22 +145,22 @@ public class AppDataController extends BladeController { headers.set("Haiot-timeStamp", timestamp); headers.set("Haiot-signature", hash); - // 请求地址 - String url = "http://test48xwjfile.juhaolian.cn/iot-open-device/report/alarm"; -// String url = paramService.getValue("url"); + System.out.println("url:" + url); - String content = JSON.toJSONString(alarmInformation); + String content = JSON.toJSONString(alarm); HttpEntity httpEntity = new HttpEntity<>(content, headers); // 发送post请求,并输出结果 - String response = restTemplate.postForObject(url, httpEntity, String.class); + response = restTemplate.postForObject(url, httpEntity, String.class); System.out.println("fhxx:" + response); + return R.data(response); // AlarmInformation result = restTemplate.postForObject(url, alarmInformation, AlarmInformation.class); // System.out.println(result); } catch (Exception e) { e.printStackTrace(); } + return R.data(response); } /** diff --git a/src/main/java/org/springblade/hospital/controller/CornJobController.java b/src/main/java/org/springblade/hospital/controller/CornJobController.java index de9e693..cd5fa17 100644 --- a/src/main/java/org/springblade/hospital/controller/CornJobController.java +++ b/src/main/java/org/springblade/hospital/controller/CornJobController.java @@ -29,14 +29,9 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.hospital.entity.CornJob; import org.springblade.hospital.service.ICornJobService; -import org.springblade.modules.develop.service.ICodeService; -import org.springblade.modules.system.entity.TopMenu; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.sql.Time; -import java.time.*; -import java.util.Date; /** * 接口权限控制器 @@ -68,10 +63,7 @@ public class CornJobController extends BladeController { @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入topMenu") public R save(@Valid @RequestBody CornJob cornJob) { - if (cornJob.getExecuteTime() != null) { - cornJob.setNextExecuteTime(getNextTime(cornJob.getExecuteTime())); - } - return R.status(cornJobService.save(cornJob)); + return R.status(cornJobService.add(cornJob)); } /** @@ -81,10 +73,7 @@ public class CornJobController extends BladeController { @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入topMenu") public R update(@Valid @RequestBody CornJob cornJob) { - if (cornJob.getExecuteTime() != null) { - cornJob.setNextExecuteTime(getNextTime(cornJob.getExecuteTime())); - } - return R.status(cornJobService.updateById(cornJob)); + return R.status(cornJobService.edit(cornJob)); } @@ -98,20 +87,4 @@ public class CornJobController extends BladeController { return R.status(cornJobService.deleteLogic(Func.toLongList(ids))); } - private Date getNextTime(Time executeTime) { - // 定时任务设定每天执行时间 - LocalTime localTime = executeTime.toLocalTime(); - LocalDateTime localDateTime = localTime.atDate(LocalDate.now()); - - // 当前时间 - LocalDateTime now = LocalDateTime.now(); - - if (now.isAfter(localDateTime)) { - localDateTime = localDateTime.plusDays(1); - } - ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault()); - Instant instant = zonedDateTime.toInstant(); - Date date = Date.from(instant); - return date; - } } diff --git a/src/main/java/org/springblade/hospital/entity/AlarmData.java b/src/main/java/org/springblade/hospital/entity/AlarmData.java new file mode 100644 index 0000000..5a11344 --- /dev/null +++ b/src/main/java/org/springblade/hospital/entity/AlarmData.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package org.springblade.hospital.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 报警信息 + * + * @author BladeX + */ +@Data +public class AlarmData implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 事件系统内编号(第三方报警 ID) + */ + private String alarmId; + + /** + * 事件类型, 参考数据字典 AlarmType 定义 + */ + private Integer alarmType; + + /** + * 事件说明 + */ + private String alarmMsg; + + /** + * 事件状态,1:已处理,0:未处理 。默认填 0 + */ + private Integer handleStatus; + + /** + * 事件源类型,0:设备,1:数据分析。默认填 + * 0 + */ + private Integer srcType; + + /** + * 事件源上报的三方厂商设备唯一编号 + */ + private String srcDeviceId; + + /** + * 事件上报平台 + */ + private String srcReporter; + + /** + * 长整型,事件产生时间戳,精确到毫秒 + */ + private Long startTime; + + /** + * 长整型,事件结束时间戳,精确到毫秒 + */ + private Long endTime; + + /** + * 浮点型数字,事件发生地址,纬度 + */ + private Double latitude; + + /** + * 浮点型数字,事件发生地址,经度 + */ + private Double longitude; + + /** + * 事件产生时抓拍的图片地址 + */ + private List pictureList; + + /** + * 事件产生抓拍的视频地址 + */ + private List videoList; + + /** + * 事件参数,内容取决于告警类型 + */ + private Map params; + +} diff --git a/src/main/java/org/springblade/hospital/entity/Alarms.java b/src/main/java/org/springblade/hospital/entity/Alarms.java new file mode 100644 index 0000000..893e066 --- /dev/null +++ b/src/main/java/org/springblade/hospital/entity/Alarms.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package org.springblade.hospital.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * 报警信息 + * + * @author BladeX + */ +@Data +public class Alarms implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 所属区域编号 + */ + private String regionId; + + /** + * 设备唯一编号 + */ + private List alarmList; + +} diff --git a/src/main/java/org/springblade/hospital/hik/alarm/AlarmDataParse.java b/src/main/java/org/springblade/hospital/hik/alarm/AlarmDataParse.java index dbf5a48..8fc55bd 100644 --- a/src/main/java/org/springblade/hospital/hik/alarm/AlarmDataParse.java +++ b/src/main/java/org/springblade/hospital/hik/alarm/AlarmDataParse.java @@ -376,15 +376,15 @@ public class AlarmDataParse { } String url = "http://152.136.119.150:81/alarmInformation/hikRemote"; HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); Map map = new HashMap<>(); map.put("id_", String.valueOf(Integer.sum(strCIDalarm.wDefenceNo, 1))); map.put("type_", 2); map.put("dataType_", 1); - map.put("pntType_", 5); - map.put("devType_", 2); map.put("chann_", 4); + map.put("devType_", 2); + map.put("pntType_", 5); map.put("pntTypeValue_", 6); String content = JSON.toJSONString(map); diff --git a/src/main/java/org/springblade/hospital/service/ICornJobService.java b/src/main/java/org/springblade/hospital/service/ICornJobService.java index 0288ffc..972dd38 100644 --- a/src/main/java/org/springblade/hospital/service/ICornJobService.java +++ b/src/main/java/org/springblade/hospital/service/ICornJobService.java @@ -26,4 +26,7 @@ import org.springblade.hospital.entity.CornJob; */ public interface ICornJobService extends BaseService { + boolean add(CornJob cornJob); + + boolean edit(CornJob cornJob); } diff --git a/src/main/java/org/springblade/hospital/service/impl/AppDataServiceImpl.java b/src/main/java/org/springblade/hospital/service/impl/AppDataServiceImpl.java index 210a783..c571fa6 100644 --- a/src/main/java/org/springblade/hospital/service/impl/AppDataServiceImpl.java +++ b/src/main/java/org/springblade/hospital/service/impl/AppDataServiceImpl.java @@ -67,7 +67,7 @@ public class AppDataServiceImpl extends BaseServiceImpl SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd/"); String uploadUrl = format.format(new Date()); try { - if (!appData.getType().equals(3)) { + if (appData.getType() == 1 || appData.getType() == 2) { String url = ""; for (MultipartFile file : resultList) { // 文件上传到指定地址 @@ -80,7 +80,9 @@ public class AppDataServiceImpl extends BaseServiceImpl url += attach.getId() + ","; links.add(s); } - appData.setUrl(url.substring(0, url.length() - 1)); + if (StringUtils.isNotBlank(url)) { + appData.setUrl(url.substring(0, url.length() - 1)); + } } // 数据入库 appData.setEscalationTime(new Date()); diff --git a/src/main/java/org/springblade/hospital/service/impl/CornJobServiceImpl.java b/src/main/java/org/springblade/hospital/service/impl/CornJobServiceImpl.java index b91dfcd..5055e6b 100644 --- a/src/main/java/org/springblade/hospital/service/impl/CornJobServiceImpl.java +++ b/src/main/java/org/springblade/hospital/service/impl/CornJobServiceImpl.java @@ -16,6 +16,9 @@ */ package org.springblade.hospital.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.hospital.entity.BfcfLog; import org.springblade.hospital.entity.CornJob; @@ -25,12 +28,66 @@ import org.springblade.hospital.service.IBfcfLogService; import org.springblade.hospital.service.ICornJobService; import org.springframework.stereotype.Service; +import java.sql.Time; +import java.time.*; +import java.util.Date; + /** * 服务实现类 - * * @author BladeX */ @Service public class CornJobServiceImpl extends BaseServiceImpl implements ICornJobService { + @Override + public boolean add(CornJob cornJob) { + // 重复校验 + check(cornJob.getId(), cornJob.getType(), cornJob.getDeviceId()); + + if (cornJob.getExecuteTime() != null) { + cornJob.setNextExecuteTime(getNextTime(cornJob.getExecuteTime())); + } + return this.save(cornJob); + } + + @Override + public boolean edit(CornJob cornJob) { + // 重复校验 + check(cornJob.getId(), cornJob.getType(), cornJob.getDeviceId()); + + if (cornJob.getExecuteTime() != null) { + cornJob.setNextExecuteTime(getNextTime(cornJob.getExecuteTime())); + } + return this.updateById(cornJob); + } + + private Date getNextTime(Time executeTime) { + // 定时任务设定每天执行时间 + LocalTime localTime = executeTime.toLocalTime(); + LocalDateTime localDateTime = localTime.atDate(LocalDate.now()); + + // 当前时间 + LocalDateTime now = LocalDateTime.now(); + + if (now.isAfter(localDateTime)) { + localDateTime = localDateTime.plusDays(1); + } + ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault()); + Instant instant = zonedDateTime.toInstant(); + Date date = Date.from(instant); + return date; + } + + private void check(Long id, int type, String deviceId) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(CornJob::getType, type).eq(CornJob::getDeviceId, deviceId); + if (id != null) { + wrapper.ne(CornJob::getId, id); + } + long count = this.count(wrapper); + if (count > 0) { + throw new ServiceException("数据重复!"); + } + } + } diff --git a/src/main/java/org/springblade/hospital/utils/CornJobUtil.java b/src/main/java/org/springblade/hospital/utils/CornJobUtil.java index 6903a8c..b47296e 100644 --- a/src/main/java/org/springblade/hospital/utils/CornJobUtil.java +++ b/src/main/java/org/springblade/hospital/utils/CornJobUtil.java @@ -31,7 +31,7 @@ public class CornJobUtil { @Scheduled(initialDelay = 5000, fixedRate = 60000) public void updateStatus() { System.out.println("定时任务执行了1"); -// externalUtils.updateStatus(); + externalUtils.updateStatus(); } /** @@ -41,32 +41,33 @@ public class CornJobUtil { @Scheduled(initialDelay = 5000, fixedRate = 180000) public void task() { System.out.println("定时任务执行了2"); -// List jobs = cornJobService.list(Wrappers.lambdaQuery().eq(CornJob::getStatus, 1)); -// if (CollectionUtils.isNotEmpty(jobs)) { -// List jobList = new ArrayList<>(); -// for (CornJob job : jobs) { -// Date nextExecuteTime = job.getNextExecuteTime(); -// if (new Date().compareTo(nextExecuteTime) < 0) { -// continue; -// } -// // 布防 -// if (job.getType() == 1) { -// Alarm.fqbf(Integer.parseInt(job.getDeviceId()) - 1); -// } -// // 撤防 -// else if (job.getType() == 2) { -// Alarm.fqcf(Integer.parseInt(job.getDeviceId()) - 1); -// } -// -// // 修改下次执行之间 -// Calendar calendar = new GregorianCalendar(); -// calendar.setTime(nextExecuteTime); -// // 把日期往后增加一天,整数 往后推,负数往前移动 -// calendar.add(Calendar.DATE, 1); -// job.setNextExecuteTime(calendar.getTime()); -// jobList.add(job); -// } -// cornJobService.updateBatchById(jobList); -// } + List jobs = cornJobService.list(Wrappers.lambdaQuery().eq(CornJob::getStatus, 1)); + if (CollectionUtils.isNotEmpty(jobs)) { + List jobList = new ArrayList<>(); + for (CornJob job : jobs) { + Date nextExecuteTime = job.getNextExecuteTime(); + if (new Date().compareTo(nextExecuteTime) < 0) { + continue; + } + System.out.println("-----------------===================="); + // 布防 + if (job.getType() == 1) { + Alarm.fqbf(Integer.parseInt(job.getDeviceId()) - 1); + } + // 撤防 + else if (job.getType() == 2) { + Alarm.fqcf(Integer.parseInt(job.getDeviceId()) - 1); + } + + // 修改下次执行之间 + Calendar calendar = new GregorianCalendar(); + calendar.setTime(nextExecuteTime); + // 把日期往后增加一天,整数 往后推,负数往前移动 + calendar.add(Calendar.DATE, 1); + job.setNextExecuteTime(calendar.getTime()); + jobList.add(job); + } + cornJobService.updateBatchById(jobList); + } } } diff --git a/src/main/java/org/springblade/hospital/utils/ExternalUtils.java b/src/main/java/org/springblade/hospital/utils/ExternalUtils.java index 1772734..cdb5e7d 100644 --- a/src/main/java/org/springblade/hospital/utils/ExternalUtils.java +++ b/src/main/java/org/springblade/hospital/utils/ExternalUtils.java @@ -161,13 +161,14 @@ public class ExternalUtils { } if (fqStatus == state) { - updateById(id, byBypassStatus); +// updateById(id, byBypassStatus); + test(id, byBypassStatus); continue; } // 海信iot - updateById(id, byBypassStatus); - +// updateById(id, byBypassStatus); + test(id, byBypassStatus); // 物联网平台 bizDevice(Integer.parseInt(String.valueOf(map.get("id"))), fqStatus); } @@ -234,4 +235,28 @@ public class ExternalUtils { ResponseEntity exchange = restTemplate.exchange(url, HttpMethod.PUT, httpEntity, String.class); return JSONObject.parseObject(exchange.getBody(), Map.class); } + + /** + * 和iot联调测试专用接口 + * @param id + * @param byBypassStatus + */ + public void test(String id, byte byBypassStatus) { + String url = "http://152.136.119.150:81/alarmInformation/hikRemote"; + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + + Map map = new HashMap<>(); + map.put("id_", id); + map.put("devType_", 2); + map.put("pntType_", 8); + map.put("pntTypeValue_", byBypassStatus); + String content = JSON.toJSONString(map); + + HttpEntity httpEntity = new HttpEntity<>(content, headers); + + // 发送post请求,并输出结果 + R r = restTemplate.postForObject(url, httpEntity, R.class); + System.out.println("调用远程服务器接口成功!!:" + r); + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d0bf31d..3f393c5 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -225,6 +225,7 @@ blade: skip-url: - /blade-test/** - /** + - /api/appData/putFile #授权认证配置 auth: - method: ALL