From c4aa721a61edb5ff4502d621897c266b98ef3d1c Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期五, 24 二月 2023 11:18:58 +0800 Subject: [PATCH] 按报警点位统计,按区域统计 --- ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java | 126 +++++++++++++++++------------------------ 1 files changed, 53 insertions(+), 73 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java index e0c1a53..015b95e 100644 --- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java @@ -80,21 +80,21 @@ @Override @Transactional(rollbackFor = Exception.class) - public String sendMessage(Message message) { + public void sendMessage(Message message) { - if (!StringUtils.equals(message.getChannelCode(),ChannelCode.SMS)){ - Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() - .eq(Message::getTargetTo, message.getTargetTo()) - .eq(Message::getTargetFrom, message.getTargetFrom()) - .eq(Message::getBody, message.getBody()) - .eq(Message::getHead, message.getHead())); - if (savedMessage != null) { - messageMapper.deleteById(savedMessage); - } + Message savedMessage = messageMapper.selectOne(new LambdaQueryWrapper<Message>() + .eq(Message::getTargetTo, message.getTargetTo()) + .eq(Message::getTargetFrom, message.getTargetFrom()) + .eq(Message::getBody, message.getBody()) + .eq(Message::getStatus, 1) + .eq(Message::getHead, message.getHead())); + if (savedMessage != null) { + messageMapper.deleteById(savedMessage); } + ArrayList<Long> ids = new ArrayList<>(); message.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername()); - if (message.getId()==null) { + if (message.getId() == null) { for (String receive : message.getTargetTo().split(",")) { Message sendMessage = new Message(); BeanUtils.copyProperties(message, sendMessage); @@ -102,6 +102,10 @@ sendMessage.setSendTime(new Date()); sendMessage.setTargetTo(receive); sendMessage.setSendTime(new Date()); + sendMessage.setPhoneNumber(umsAdminMapper.selectById(receive).getMobile()); + if (ChannelCode.INNER.equals(message.getChannelCode())){ + sendMessage.setIsView(0); + } this.save(sendMessage); ids.add(sendMessage.getId()); } @@ -120,75 +124,64 @@ default: throw new ApiException("鏈尮閰嶅埌璇ョ被鍨�"); } - return "send message success!"; } @SneakyThrows - private void sendSMS(Message message, List<Long> mesIds) { - String context = "銆�" + message.getHead() + "銆�" + message.getBody(); - String addSerial = ""; - SendReq sendReq = new SendReq(); - sendReq.setEcName(ecName); - sendReq.setApId(apId); - sendReq.setSign(sign); - sendReq.setContext(context); + @Transactional(rollbackFor = Exception.class) + void sendSMS(Message message, List<Long> mesIds) { String[] ids = message.getTargetTo().split(","); String[] mobiles = new String[ids.length]; for (int i = 0; i < ids.length; i++) { mobiles[i] = umsAdminMapper.selectById(ids[i]).getMobile(); } - sendReq.setMobiles(StringUtils.join(mobiles, ",")); - sendReq.setAddSerial(addSerial); - - StringBuffer mac = new StringBuffer(); - mac.append(ecName); - mac.append(apId); - mac.append(sendReq.getMobiles()); - mac.append(context); - mac.append(sign); - mac.append(addSerial); - sendReq.setMac(MD5Util.md5Encrypt32Lower(mac.toString())); - - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.setContentType(MediaType.APPLICATION_JSON); - - ObjectMapper objectMapper = new ObjectMapper(); - - HttpEntity<String> stringHttpEntity = new HttpEntity<>(Base64Utils.encodeToString(objectMapper.writeValueAsBytes(mac)), httpHeaders); - - SendRes sendRes = objectMapper.readValue(restTemplate.postForEntity(url, stringHttpEntity, String.class).getBody(), SendRes.class); - Message sendedMessage = new Message(); - if (sendRes.getRspcod().equals("success")) { - for (Long id : mesIds) { - sendedMessage.setStatus(2); - sendedMessage.setRespondResult("鍙戦�佹垚鍔�"); - sendedMessage.setId(id); - sendedMessage.setUpdateTime(new Date()); - sendedMessage.setSendTime(new Date()); - messageMapper.updateById(sendedMessage); + message.setPhoneNumber(StringUtils.join(mobiles, ",")); + Integer messageStatus = sendMessages(message); + Message messaged = new Message(); + for (Long id : mesIds) { + if (messageStatus == 2) { + messaged.setStatus(2); + messaged.setRespondResult("鍙戦�佹垚鍔�"); } - } else { - for (Long id : mesIds) { - sendedMessage.setStatus(3); - sendedMessage.setRespondResult("鍙戦�佸け璐�"); - sendedMessage.setSendTime(new Date()); - sendedMessage.setId(id); - sendedMessage.setUpdateTime(new Date()); - messageMapper.updateById(sendedMessage); + if (messageStatus == 3) { + messaged.setStatus(3); + messaged.setRespondResult("鍙戦�佸け璐�"); } + messaged.setId(id); + messaged.setUpdateTime(new Date()); + messaged.setSendTime(new Date()); + messageMapper.updateById(messaged); } } @Override @SneakyThrows - public String sendMessageByPhone(Message message) { + @Transactional(rollbackFor = Exception.class) + public void sendMessageByPhone(Message message) { Message sendMessage = new Message(); BeanUtils.copyProperties(message, sendMessage); sendMessage.setCreateTime(new Date()); sendMessage.setSendTime(new Date()); sendMessage.setSendTime(new Date()); + sendMessage.setTargetFrom(umsAdminMapper.selectById(message.getCreateUser()).getUsername()); this.save(sendMessage); + Integer messageStatus = sendMessages(message); + Message messaged = new Message(); + if (messageStatus == 2) { + messaged.setStatus(2); + messaged.setRespondResult("鍙戦�佹垚鍔�"); + } + if (messageStatus == 3) { + messaged.setStatus(3); + messaged.setRespondResult("鍙戦�佸け璐�"); + } + messaged.setId(sendMessage.getId()); + messaged.setUpdateTime(new Date()); + messaged.setSendTime(new Date()); + messageMapper.updateById(messaged); + } + @SneakyThrows + private Integer sendMessages(Message message) { String context = "銆�" + message.getHead() + "銆�" + message.getBody(); String addSerial = ""; SendReq sendReq = new SendReq(); @@ -216,23 +209,10 @@ HttpEntity<String> stringHttpEntity = new HttpEntity<>(Base64Utils.encodeToString(objectMapper.writeValueAsBytes(mac)), httpHeaders); SendRes sendRes = objectMapper.readValue(restTemplate.postForEntity(url, stringHttpEntity, String.class).getBody(), SendRes.class); - Message sendedMessage = new Message(); if (sendRes.getRspcod().equals("success")) { - sendedMessage.setStatus(2); - sendedMessage.setRespondResult("鍙戦�佹垚鍔�"); - sendedMessage.setId(sendMessage.getId()); - sendedMessage.setUpdateTime(new Date()); - sendedMessage.setSendTime(new Date()); - messageMapper.updateById(sendedMessage); - return "send message success!"; + return 2; } else { - sendedMessage.setStatus(3); - sendedMessage.setRespondResult("鍙戦�佸け璐�"); - sendedMessage.setSendTime(new Date()); - sendedMessage.setId(sendedMessage.getId()); - sendedMessage.setUpdateTime(new Date()); - messageMapper.updateById(sendedMessage); - return "send message fail!"; + return 3; } } -- Gitblit v1.8.0