Newspaper 2 rokov pred
rodič
commit
e16ee0f2d6

+ 2 - 2
huimv-env-common/src/main/java/com/huimv/env/common/config/WeChatMessage.java

@@ -27,7 +27,7 @@ public class WeChatMessage {
 //    private String templateId;
     private static  final  String  appId= "wx707fcfd7d09e02eb";
     private static  final  String  secret= "cf69d556bbc962fa60a59b0fece3fa95";
-    private static  final  String  templateId= "f932c54f1cbd427b10218a0d1cfb88bf";
+    private static  final  String  templateId= "w95K45G9-2xGocleqrtGoHwEGF6ocqSu8EbDBxCQSR0";
 
     public void sendMsg(String deviceCode,String warningContent, Date uploadDate,String location,String openId){
         //1:获取token(接口调用凭证)
@@ -62,7 +62,7 @@ public class WeChatMessage {
         //报警类型
         data.put("thing2", formatParam(warningContent));
         //报警时间
-        data.put("thing3", formatParam(uploadDate.toString()));
+        data.put("time3", formatParam(uploadDate.toString()));
         //报警地点
         data.put("thing5", formatParam(location));
         paramMap.put("data", data);

+ 16 - 5
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnvWarningServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.env.common.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.env.common.config.WeChatMessage;
 import com.huimv.env.common.entity.EnvDevice;
@@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -47,11 +49,18 @@ public class EnvWarningServiceImpl extends ServiceImpl<EnvWarningMapper, EnvWarn
         envWarning.setWarningContent(envDeviceRecentlyData.getChipName()+"传感器异常");
         envWarning.setWarningType(8);
         envWarning.setWarningAct(1);
+        EnvDevice device = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", envDevice.getDeviceSortCode()));
+        List<SysAccountMultilevel> userList = sysAccountMultilevelMapper.selectList(new QueryWrapper<SysAccountMultilevel>().eq("last_farm_id", envDevice.getFarmId()));
+        for (SysAccountMultilevel sysAccountMultilevel : userList) {
+            sysAccountMultilevel.setSubscribe(0);
+            sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
+            weChatMessage.sendMsg(envDevice.getDeviceSortCode(),envDeviceRecentlyData.getChipName()+"传感器异常",date,device.getBuildLocation(),sysAccountMultilevel.getWechatId());
+        }
         this.save(envWarning);
     }
 
     @Override
-    @Transactional
+//    @Transactional
     public void saveWarnings(EnvDevice envDevice, Date uploadDate, String ordeNumber, String actType) {
         EnvWarning envWarning = new EnvWarning();
         envWarning.setDeviceCode(envDevice.getDeviceSortCode());
@@ -62,10 +71,12 @@ public class EnvWarningServiceImpl extends ServiceImpl<EnvWarningMapper, EnvWarn
         envWarning.setWarningType(Integer.parseInt(ordeNumber));
         envWarning.setWarningAct(Integer.parseInt(actType));
         EnvDevice device = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().eq("device_sort_code", envDevice.getDeviceSortCode()));
-        SysAccountMultilevel user = sysAccountMultilevelMapper.selectOne(new QueryWrapper<SysAccountMultilevel>().eq("last_farm_id", envDevice.getFarmId()));
-        user.setSubscribe(0);
-        sysAccountMultilevelMapper.updateById(user);
-        weChatMessage.sendMsg(envDevice.getDeviceSortCode(),getWarning(ordeNumber,actType),uploadDate,device.getBuildLocation(),user.getWechatId());
+        List<SysAccountMultilevel> userList = sysAccountMultilevelMapper.selectList(new QueryWrapper<SysAccountMultilevel>().eq("last_farm_id", envDevice.getFarmId()));
+        for (SysAccountMultilevel sysAccountMultilevel : userList) {
+            sysAccountMultilevel.setSubscribe(0);
+            sysAccountMultilevelMapper.updateById(sysAccountMultilevel);
+            weChatMessage.sendMsg(envDevice.getDeviceSortCode(),getWarning(ordeNumber,actType),uploadDate,device.getBuildLocation(),sysAccountMultilevel.getWechatId());
+        }
         this.save(envWarning);
     }
 

+ 1 - 1
huimv-env-device/src/main/java/com/huimv/env/device/HuimvDeviceApplication.java

@@ -9,7 +9,7 @@ import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.ComponentScans;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
-@ComponentScans({@ComponentScan("com.huimv.env.common.utils"), @ComponentScan("com.huimv.env.common.service")})
+@ComponentScans({@ComponentScan("com.huimv.env.common.utils"), @ComponentScan("com.huimv.env.common.service"),@ComponentScan("com.huimv.env.common.config")})
 @EntityScan(value = "com.huimv.env.common.entity")
 @MapperScan("com.huimv.env.common.mapper")
 //@EnableJpaRepositories(basePackages = "com.huimv.env.common.dao.repo")

+ 0 - 76
huimv-env-device/src/main/java/com/huimv/env/device/config/WeChatMessage.java

@@ -1,76 +0,0 @@
-package com.huimv.env.device.config;
-
-
-import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import me.chanjar.weixin.common.service.WxService;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Component;
-
-import java.util.Date;
-import java.util.HashMap;
-
-@Component
-public class WeChatMessage {
-    @Value("${wx.appId}")
-    private String appId;
-
-    @Value("${wx.secret}")
-    private String secret;
-
-    @Value("${wx.templateId}")
-    private String templateId;
-
-    private String openid;
-
-    public void sendMsg(String deviceCode, Date uploadDate,String location){
-        //1:获取token(接口调用凭证)
-        String token = queryToken();
-        //2:发送订阅消息
-        send(token,deviceCode,uploadDate,location);
-    }
-
-    // 1: 获取 access_token  (2h过期)
-    public String queryToken(){
-        String tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential";
-        tokenUrl = tokenUrl + "&appid=" + appId + "&secret=" + secret;
-        String result = HttpUtil.get(tokenUrl);
-        JSONObject jsonObject = JSONUtil.parseObj(result);
-        String token = jsonObject.get("access_token").toString();
-        return token;
-    }
-
-    public void send(String token,String deviceCode, Date uploadDate,String location){
-        String msgUrl="https://api.weixin.qq.com/cgi-bin/message/subscribe/send";
-        msgUrl = msgUrl + "?access_token=" + token;
-        // 设置模板参数
-        HashMap<String, Object> paramMap = new HashMap<>();
-        paramMap.put("touser", openid);                 // 接收方
-        paramMap.put("template_id", templateId);        // 模板id
-        paramMap.put("page","pages/self/self");         // 消息中要跳转的页面
-        // 设置data 模板内容
-        HashMap<String, Object> data = new HashMap<>();
-        //报警设备
-        data.put("thing1", formatParam(deviceCode));
-        //报警类型
-        data.put("thing2", formatParam("断电报警"));
-        //报警时间
-        data.put("thing3", formatParam(uploadDate.toString()));
-        //报警地点
-        data.put("thing5", formatParam(location));
-        paramMap.put("data", data);
-        // 转json字符串
-        String jsonObject = JSONUtil.toJsonStr(paramMap);
-        String result= HttpUtil.post(msgUrl, jsonObject);
-        System.out.println(result);
-    }
-
-    public HashMap<String, Object> formatParam(String value){
-        HashMap<String, Object> data = new HashMap<>();
-        data.put("value", value);
-        return data;
-    }
-
-}