谭斌 пре 2 година
родитељ
комит
93828c710a

+ 18 - 0
device-api-service/src/main/java/com/xy/consumer/device/push/msg/DevicePushMsgConsumer.java

@@ -5,16 +5,19 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.map.MapUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.xy.consumer.MqttConsumer;
 import com.xy.dto.MsgConfigTestDto;
 import com.xy.entity.DeviceEventMsg;
 import com.xy.entity.DeviceInfo;
+import com.xy.entity.SysCodeConfigureRedis;
 import com.xy.enums.ChannelType;
 import com.xy.service.DeviceInfoServiceImpl;
 import com.xy.service.MsgSendApiService;
 import com.xy.utils.R;
+import com.xy.utils.SysCodeConfigureUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -49,6 +52,8 @@ public class DevicePushMsgConsumer implements MqttConsumer {
             Long mercId = deviceEventMsg.getMercId();
             LocalDateTime createTime = deviceEventMsg.getCreateTime();
             String msg = deviceEventMsg.getMsg();
+            SysCodeConfigureRedis sysCodeConfigureRedis = SysCodeConfigureUtils.get(deviceEventMsg.getCode());
+
             Long configId = 12L;
             List<MsgConfigTestDto.BizParam> bizParams = R.feignCheckData(msgSendApiService.getBizParamByMsgConfig(new MsgConfigTestDto.MsgConfig().setConfigId(configId)));
             if (CollUtil.isNotEmpty(bizParams)) {
@@ -71,7 +76,16 @@ public class DevicePushMsgConsumer implements MqttConsumer {
                         } else {
                             deviceName = deviceName + "(" + deviceId + ")";
                         }
+
                         //微信公众号
+                        //扩展参数
+                        MsgConfigTestDto.BizExtraParam bizExtraParam = new MsgConfigTestDto.BizExtraParam();
+                        if (ObjectUtil.isNotEmpty(sysCodeConfigureRedis)) {
+                            String propose = sysCodeConfigureRedis.getPropose();
+                            if (StrUtil.isNotEmpty(propose) && propose.contains("http")) {
+                                bizExtraParam.setUrl(propose);
+                            }
+                        }
                         Map<String, Object> params = MapUtil.newHashMap();
                         params.put("keyword1", deviceName);
                         params.put("keyword2", msg);
@@ -81,11 +95,15 @@ public class DevicePushMsgConsumer implements MqttConsumer {
                         receivers.add("oIJ5O5n_7sxDusGJNsr_LScXvX5c");
                         b.setReceivers(receivers);
                         b.setTemplateParams(params);
+                        b.setExtraParam(bizExtraParam);
+
                     }
                 });
+
                 msgSendApiService.sendByMsgConfig(new MsgConfigTestDto.SendByMsgConfig().setConfigId(configId).setBizDataList(bizDataList));
             }
         }
         return true;
     }
+
 }