From 94714af765326bc0567a336952b0811667b7be92 Mon Sep 17 00:00:00 2001 From: lyfO_o <764716047@qq.com> Date: 星期三, 27 十月 2021 16:59:27 +0800 Subject: [PATCH] 货柜预警接口:alarm 字典:alarm_type 01 主电掉电,备电工作 显示:名称+地点+柜号+内容 --- src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java index 0d496f9..12cd5b6 100644 --- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java @@ -1288,6 +1288,7 @@ } } + //货柜预警接口 @Override @Transactional(propagation = Propagation.REQUIRED) public void alarm(JSONObject jsonObject) throws ApiException { @@ -1315,7 +1316,7 @@ String containerCode = dataJson.getString("containerCode"); //check containerCode是否存在 - SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerDao + SysLaboratoryContainer LaboratoryContainer = sysLaboratoryContainerDao .getSysLaboratoryContainerByContainerCode(containerCode); if (Objects.isNull(sysLaboratoryContainer) == true) { SysWarehouseContainer container = sysWarehouseContainerDao @@ -1354,6 +1355,77 @@ } sysAlarmDao.insertSysAlarm(sysAlarm); + + try { + if (enable && "01".equals(warningId)) { + SysLaboratory sysLaboratory = sysLaboratoryService.getSysLaboratory(LaboratoryContainer.getLaboratoryId()); + String project = sysLaboratory.getProject(); + //2.根据Lab的课题组判断人员 + List<Map> personsInCharge = null; + if (StringUtils.isBlank(project)) { + //没有课题组就是实验室部门下的负责人 + personsInCharge = sysLaboratoryContainer.getContainerPersonInCharge(containerCode); + } else { + //有课题组就是 所有课题组下的人员负责人 + personsInCharge = sysLaboratoryService.getPersonInChargeByProjects(project); + } + + Map param = new HashMap(); + param.put("groupId", "securityManager"); + List<BaseMeta> managers = baseMetaDao.getBaseMetaList(param); + StringBuffer phones = new StringBuffer(); + + //实验室负责人手机号 + if (personsInCharge != null && personsInCharge.size() > 0) { + personsInCharge.forEach(person -> { + Object phone = person.get("phone"); + if (phone != null && !"".equals(phone)) { + phones.append(phone); + phones.append(","); + } + + }); + } + //所及负责人手机号 + if (managers != null && managers.size() > 0) { + managers.forEach(manager -> { + String phone = manager.getMetaValue(); + if (phone != null && !"".equals(phone)) { + phones.append(phone); + phones.append(","); + } + }); + } + if (phones.length() > 0) { + phones.deleteCharAt(phones.length() - 1); + + } + + Map location = sysLaboratoryContainer.selectLocationByContainerCode(containerCode); + String messageFormat = "名称:%s,具体地点:%s,柜号:%s,"; + String content = String.format(messageFormat, location.get("name"),location.get("location"), containerCode); + + String suffix = String.format("?head=%s&signature=%s&content=%s&telnumber=%s", head, signature, content + baseMetaList.get(0).getMetaValue(), phones.toString().replace(" ", "")); + CloseableHttpClient client = HttpClients.createDefault(); + HttpPost post = new HttpPost(url + suffix); + post.setHeader("Content-Type", "application/json;charset=UTF-8"); + CloseableHttpResponse response = client.execute(post); + String resData = EntityUtils.toString(response.getEntity(), "UTF-8"); + client.close(); + JSONObject res = JSONObject.parseObject(resData); + if ("200".equals(res.getString("code")) && phones.length() > 0) { + String memo = String.format("短信已发送[%s]", phones); + } + logger.info(resData); + } + } catch (Exception e) { + e.printStackTrace(); + logger.warn(e); + } + //增加发送短信接口 key:01 value:主电掉电,备电工作 + + + // // Integer warningPoint = dataJson.getInteger("warningPoint"); // if(warningPoint == null){ -- Gitblit v1.9.2