From 32362f86aff6b987963343821d7775224c564fc4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 20 一月 2022 21:56:39 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java |   98 ++++++++++++++++++++++++++++++++
 java110-utils/src/main/java/com/java110/utils/util/ImageUtils.java                    |   24 ++++++++
 2 files changed, 121 insertions(+), 1 deletions(-)

diff --git a/java110-utils/src/main/java/com/java110/utils/util/ImageUtils.java b/java110-utils/src/main/java/com/java110/utils/util/ImageUtils.java
index dd1f33a..b5d33d5 100755
--- a/java110-utils/src/main/java/com/java110/utils/util/ImageUtils.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/ImageUtils.java
@@ -15,6 +15,8 @@
  */
 package com.java110.utils.util;
 
+import org.apache.commons.codec.digest.DigestUtils;
+
 import javax.imageio.ImageIO;
 import javax.swing.*;
 import java.awt.*;
@@ -51,6 +53,28 @@
 
     }
 
+    public static String getMd5ByImgUrl(String url) {
+        String suffix = url.substring(url.lastIndexOf(".") + 1);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        try {
+            URL urls = new URL(url);
+
+            Image image = Toolkit.getDefaultToolkit().getImage(urls);
+            BufferedImage biOut = toBufferedImage(image);
+            ImageIO.write(biOut, suffix, baos);
+           return DigestUtils.md5Hex(baos.toByteArray());
+        } catch (Exception e) {
+            return "";
+        }finally {
+            try {
+                baos.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+
+    }
+
     public static BufferedImage toBufferedImage(Image image) {
         if (image instanceof BufferedImage) {
             return (BufferedImage) image;
diff --git a/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java b/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java
index 2585c58..9eb484b 100755
--- a/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java
+++ b/service-job/src/main/java/com/java110/job/adapt/Repair/MachineDistributeLeaflets.java
@@ -2,8 +2,11 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.factory.CommunitySettingFactory;
 import com.java110.core.factory.WechatFactory;
+import com.java110.core.log.LoggerFactory;
 import com.java110.dto.community.CommunityDto;
+import com.java110.dto.file.FileRelDto;
 import com.java110.dto.owner.OwnerAppUserDto;
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
@@ -15,6 +18,7 @@
 import com.java110.entity.wechat.Content;
 import com.java110.entity.wechat.Data;
 import com.java110.entity.wechat.PropertyFeeTemplateMessage;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.intf.community.IRepairInnerServiceSMO;
 import com.java110.intf.community.IRepairUserInnerServiceSMO;
@@ -25,10 +29,11 @@
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.utils.cache.MappingCache;
+import com.java110.utils.util.ImageUtils;
 import com.java110.utils.util.StringUtil;
 import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
@@ -73,6 +78,9 @@
 
     @Autowired
     private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMO;
+
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
 
     //妯℃澘淇℃伅鎺ㄩ�佸湴鍧�
     private static String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";
@@ -130,10 +138,13 @@
                 paramIn.put("staffId", staffId);
                 paramIn.put("repairObjId", repairObjId);
                 paramIn.put("preStaffId", preStaffId);
+                paramIn.put("repairId", repairId);
                 //缁欑淮淇笀鍌呮帹閫佷俊鎭�
                 sendMsg(paramIn, communityDtos.get(0));
                 //娲惧崟鎴愬姛缁欎笟涓绘帹閫佷俊鎭�
                 publishMsg(paramIn, communityDtos.get(0));
+                //涓轰紒涓氬井淇$兢鍙戞秷鎭�
+                sendMsgToWechatGroup(paramIn, communityDtos.get(0));
             } else if (repairState.equals("1100") && (repairWay.equals("100") || repairWay.equals("300"))) {
                 String staffId = "";
                 if (repairUserDtos.size() > 1) {
@@ -310,6 +321,91 @@
         }
     }
 
+
+    private void sendMsgToWechatGroup(JSONObject paramIn, CommunityDto communityDto) {
+
+        //鏌ヨ鍏紬鍙烽厤缃�
+        String url = CommunitySettingFactory.getRemark(communityDto.getCommunityId(), "WECHAT_SEND_REPAIR_URL");
+        if (StringUtil.isEmpty(url)) {
+            return;
+        }
+
+        JSONObject rebootParam = new JSONObject();
+        rebootParam.put("msgtype", "markdown");
+        JSONObject rebootMarkdown = new JSONObject();
+        rebootParam.put("markdown", rebootMarkdown);
+
+
+        //鑾峰彇鍏蜂綋浣嶇疆
+        String address = "";
+        if (communityDto.getName().equals(paramIn.getString("repairObjName"))) {
+            address = paramIn.getString("repairObjName");
+        } else {
+            address = communityDto.getName() + paramIn.getString("repairObjName");
+        }
+
+        //鏍规嵁 userId 鏌ヨ鍒皁penId
+        UserDto userDto = new UserDto();
+        userDto.setUserId(paramIn.getString("staffId"));
+        List<UserDto> userDtos = userInnerServiceSMO.getUsers(userDto);
+        String staffName = "";
+        if (userDtos != null && userDtos.size() > 0) {
+            staffName = userDtos.get(0).getName();
+        }
+        String content = staffName + " 鎮ㄦ湁鏂扮殑缁翠慨浠诲姟锛岀淮淇俊鎭涓嬶細\n";
+
+        content += ("> 鏍囬锛�<font color=\"comment\">" + paramIn.getString("repairName") + "</font> \n");
+        content += ("> 鐢佃瘽锛�<font color=\"comment\">" + paramIn.getString("tel") + "</font> \n");
+        content += ("> 鏃堕棿锛�<font color=\"comment\">" + paramIn.getString("time") + "</font> \n");
+        content += ("> 鍐呭锛�<font color=\"comment\">" + paramIn.getString("context") + "</font> \n");
+        content += ("> 浣嶇疆锛�<font color=\"comment\">" + address + "</font> \n");
+        content += ("> 鍗曞彿锛�<font color=\"comment\">" + paramIn.getString("repairId") + "</font> \n");
+
+        rebootMarkdown.put("content", content);
+        logger.info("鍙戦�佹秷鎭唴瀹�:{}", content);
+        ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, rebootParam.toJSONString(), String.class);
+        logger.info("浼佷笟寰俊杩斿洖鍐呭:{}", responseEntity);
+
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return;
+        }
+
+        String imgUrl = MappingCache.getValue("IMG_PATH");
+        imgUrl += (!StringUtil.isEmpty(imgUrl) && imgUrl.endsWith("/") ? "" : "/");
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(paramIn.getString("repairId"));
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+
+        if (fileRelDtos == null || fileRelDtos.size() < 1) {
+            return;
+        }
+
+        rebootParam = JSONObject.parseObject(" {\n" +
+                "            \"msgtype\":\"image\",\n" +
+                "            \"image\":{\n" +
+                "              }\n" +
+                "        }");
+
+
+        JSONObject image = rebootParam.getJSONObject("image");
+
+        String imageUrl = "";
+        for (FileRelDto tmpFileRelDto : fileRelDtos) {
+
+            if (!tmpFileRelDto.getRelTypeCd().equals(FileRelDto.REL_TYPE_CD_REPAIR)) {  //缁翠慨鍥剧墖
+                continue;
+            }
+            imageUrl = imgUrl + tmpFileRelDto.getFileRealName();
+            image.put("base64", ImageUtils.getBase64ByImgUrl(imageUrl));
+            image.put("md5", ImageUtils.getMd5ByImgUrl(imageUrl));
+            responseEntity = outRestTemplate.postForEntity(url, rebootParam.toJSONString(), String.class);
+            logger.debug("杩斿洖淇℃伅锛�"+responseEntity);
+        }
+
+    }
+
+
     /**
      * 娲惧崟(鎶㈠崟)鎴愬姛鍚庣粰涓氫富鎺ㄩ�佷俊鎭�
      *

--
Gitblit v1.8.0