|
@@ -305,6 +305,7 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
|
|
|
Long mercId = deviceEventMsg.getMercId();
|
|
|
LocalDateTime createTime = deviceEventMsg.getCreateTime();
|
|
|
String msg = deviceEventMsg.getMsg();
|
|
|
+ String code = deviceEventMsg.getCode();
|
|
|
Long configId = MsgConfigId.DEVICE_EXCEPTION.getId();
|
|
|
MsgConfigDto.Vo msgConfig = R.feignCheckData(msgSendApiService.getMsgConfig(new MsgConfigDto.Vo().setId(configId)));
|
|
|
List<MsgConfigTestDto.BizParam> bizParams = R.feignCheckData(msgSendApiService.getBizParamByMsgConfig(new MsgConfigTestDto.MsgConfig().setConfigId(configId)));
|
|
@@ -318,9 +319,34 @@ public class DeviceMqttConsumerImpl implements DeviceMqttConsumer {
|
|
|
} else {
|
|
|
deviceName = deviceName + "(" + deviceId + ")";
|
|
|
}
|
|
|
- //TODO 获取售后及售后创建的角色用户
|
|
|
+ // 获取售后及售后创建的角色用户
|
|
|
UserInfoDto.SaleBackUsersVO saleBackUsersVO = R.feignCheckData(userInfoService.getSaleBackUsers());
|
|
|
List<String> mpOpenIds = saleBackUsersVO.getMpOpenIds();
|
|
|
+ //开门超时事件增加商户推送 ERR0020
|
|
|
+ if ("ERR0020".equals(code)) {
|
|
|
+ MercDto.Vo merc = R.feignCheckData(mercFeignService.obj(new MercDto.ListDTO().setId(mercId)));
|
|
|
+ Long userInfoId = merc.getUserInfoId();
|
|
|
+ List<Long> userInfoIdList = new ArrayList<>();
|
|
|
+ userInfoIdList.add(userInfoId);
|
|
|
+ List<MercUserDeviceDto.Vo> mercUserDevices = R.feignCheckData(mercFeignService.mercDeviceUsers(
|
|
|
+ new MercUserDeviceDto.Vo().setMercId(mercId).setDeviceId(deviceId)));
|
|
|
+ if (CollUtil.isNotEmpty(mercUserDevices)) {
|
|
|
+ mercUserDevices.forEach(mud -> {
|
|
|
+ Long deviceIdUser = mud.getDeviceId();
|
|
|
+ if (deviceId == deviceIdUser) {
|
|
|
+ userInfoIdList.add(mud.getUserId());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ List<UserInfoDto.Vo> userInfoList = R.feignCheckData(userInfoService.list(new UserInfoDto.SelectListDto().setUserIds(userInfoIdList)));
|
|
|
+ if (CollUtil.isNotEmpty(userInfoList)) {
|
|
|
+ Set<String> mercMpOpenIds = userInfoList.stream().filter(u -> ObjectUtil.isNotEmpty(u.getMpOpenid()))
|
|
|
+ .map(UserInfoDto.Vo::getMpOpenid)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ mpOpenIds.addAll(mercMpOpenIds);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (CollUtil.isNotEmpty(mpOpenIds)) {
|
|
|
Set<String> mpIds = new HashSet<>(mpOpenIds);
|
|
|
for (MsgConfigTestDto.BizData b : bizDataList) {
|