Przeglądaj źródła

Merge branch 'master' of http://124.70.58.209:3000/care/care-server into master

orgycat 3 lat temu
rodzic
commit
071d4d6267

+ 86 - 29
src/main/java/com/care/bms/service/BmsEventOrderService.java

@@ -817,28 +817,46 @@ public class BmsEventOrderService {
         if (house == null){
             return;
         }
-        sendWXToMember(order, house, content);
+        sendXiaoxiToMember(order, house, content);
+        sendXiaoxiToLianxirenList(order, house, content);
+    }
+    private void sendXiaoxiToMember(CareEventOrder order,CareHouse house, String content){
+        if (order.getMemberId() == null || order.getMemberId() == 0L) {
+            return;
+        }
+        CareMemberInfo careMemberInfo = this.careMemberInfoService.getById(order.getMemberId());
+        if (careMemberInfo == null) {
+            return;
+        }
         Object switchSms = redisUtil.get(RedisKeyConstant.SWITCH_SMS);
         if (switchSms != null) {
-            sendSmsToMember(order, house, content);
-            sendSmsToLianxirenList(order, house, content);
+            sendSmsToMember(order, house,careMemberInfo, content);
         }
+        //发送微信通知消息
+        sendWXToMember(order, house,careMemberInfo, content);
+
     }
+    private void sendXiaoxiToLianxirenList(CareEventOrder order,CareHouse house, String content){
+        List<OrderContactorVO> orderContactorVOList = queryContactList(order.getId());
+        if (CollUtil.isEmpty(orderContactorVOList)) {
+            return;
+        }
+        Object switchSms = redisUtil.get(RedisKeyConstant.SWITCH_SMS);
+        if (switchSms != null) {
+            sendSmsToLianxirenList(order, house, orderContactorVOList,content);
+        }
+        //发送微信通知消息
+        sendWXToLianxiren(order, house,orderContactorVOList, content);
 
+    }
     /**
      * 给用户发送工单完成短信
      *
      * @param order
      * @return
      */
-    private void sendSmsToMember(CareEventOrder order,CareHouse house, String content) {
-        if (order.getMemberId() == null || order.getMemberId() == 0L) {
-            return;
-        }
-        CareMemberInfo careMemberInfo = this.careMemberInfoService.getById(order.getMemberId());
-        if (careMemberInfo == null) {
-            return;
-        }
+    private void sendSmsToMember(CareEventOrder order,CareHouse house,  CareMemberInfo careMemberInfo,String content) {
+
         String[] params = {house.getName(), OrderTypeEnum.getCodeToName(order.getOrderType())};
         boolean smsResult = smsSendService.sendSmsToLianxirenOrMember(SmsTemplateTypeEnum.ORDER_COMPLETE, careMemberInfo.getPhone(), params);
         if (smsResult) {
@@ -854,7 +872,6 @@ public class BmsEventOrderService {
             }else if (StrUtil.isNotEmpty(careMemberInfo.getNickname())){
                 name = careMemberInfo.getNickname();
             }
-
             log.setLogObjectName(name);
             log.setLogResult(content+"短信通知");
             log.setOpUserRole(UserRoleEnum.SEAT.getValue());
@@ -869,14 +886,7 @@ public class BmsEventOrderService {
      * @param order
      * @return
      */
-    private void sendWXToMember(CareEventOrder order,CareHouse house, String content) {
-        if (order.getMemberId() == null || order.getMemberId() == 0L) {
-            return;
-        }
-        CareMemberInfo careMemberInfo = this.careMemberInfoService.getById(order.getMemberId());
-        if (careMemberInfo == null) {
-            return;
-        }
+    private void sendWXToMember(CareEventOrder order,CareHouse house, CareMemberInfo careMemberInfo, String content) {
         if (StrUtil.isNotEmpty(careMemberInfo.getOpenId())){
             Map<String, TemplateDataDTO> data = new HashMap<>();
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -884,9 +894,8 @@ public class BmsEventOrderService {
             data.put("keyword1", new TemplateDataDTO(OrderTypeEnum.getCodeToName(order.getOrderType())+"报警已处理完成", "#000000"));
             data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(new Date()), "#000000"));
             data.put("keyword3", new TemplateDataDTO(house.getAddr(), "#000000"));
-            // data.put("remark", new TemplateDataDTO("请尽快联系您的被监护人, 确认现场情况", "#ff5200"));
-            boolean smsResult = this.wxNoticSendService.sendWhenHappen(careMemberInfo.getOpenId(),data);
-            log.info("发送WX消息模板: openId: " + careMemberInfo.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
+            boolean smsResult = this.wxNoticSendService.sendByWxXCXOpenId(careMemberInfo.getOpenId(),data);
+            log.info("给用户发送WX消息模板: openId: " + careMemberInfo.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
             if (smsResult) {
                 CareEventOrderHandleHis log = new CareEventOrderHandleHis();
                 log.setOrgId(order.getOrgId());
@@ -910,18 +919,66 @@ public class BmsEventOrderService {
             }
         }
     }
+    /**
+     * 给用户发送工单完成短信
+     *
+     * @param order
+     * @return
+     */
+    private void sendWXToLianxiren(CareEventOrder order, CareHouse house, List<OrderContactorVO> orderContactorVOList, String content) {
+        if (CollUtil.isEmpty(orderContactorVOList)) {
+            return;
+        }
+        try{
+            for(OrderContactorVO orderContactorVO : orderContactorVOList) {
+                CareHouseContact careHouseContact = this.careHouseContactService.getById(orderContactorVO.getContactId());
+                if (careHouseContact == null) {
+                    continue;
+                }
+                if (StrUtil.isNotEmpty(careHouseContact.getOpenId())){
+                    Map<String, TemplateDataDTO> data = new HashMap<>();
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    data.put("first", new TemplateDataDTO("安全事件处理完成", "#ff5200"));
+                    data.put("keyword1", new TemplateDataDTO(OrderTypeEnum.getCodeToName(order.getOrderType())+"报警已处理完成", "#000000"));
+                    data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(new Date()), "#000000"));
+                    data.put("keyword3", new TemplateDataDTO(house.getAddr(), "#000000"));
+                    boolean smsResult = this.wxNoticSendService.sendByWxGZHOpenId(careHouseContact.getOpenId(),data);
+                    log.info("事件完成时给联系人发送WX消息模板: openId: " + careHouseContact.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
+                    if (smsResult) {
+                        CareEventOrderHandleHis log = new CareEventOrderHandleHis();
+                        log.setOrgId(order.getOrgId());
+                        log.setStationId(order.getStationId());
+                        log.setOrderId(order.getId());
+                        log.setLogType(LogTypeEnum.WX.getValue());
+                        log.setLogObjectId(orderContactorVO.getContactId());
+                        String name = careHouseContact.getContactName();
+                        if (StrUtil.isNotEmpty(careHouseContact.getContactName())){
+                            name = careHouseContact.getContactPhone();
+                        }
+                        log.setLogObjectName(name);
+                        log.setLogResult(content+"微信通知");
+                        log.setOpUserRole(UserRoleEnum.SYSTEM.getValue());
+                        log.setCreateTime(DateUtil.date());
+                        log.setRelationTypeDesc(StrUtil.isEmpty(orderContactorVO.getRelationTypeDesc())?"联系人":orderContactorVO.getRelationTypeDesc());
+                        this.careEventOrderHandleHisService.save(log);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("工单完成时,给联系人发送微信消息失败:工单ID:{}",order.getId(),e);
+        }
+
+    }
     /**
      * 给所有联系人发送工单完成短信
      *
      * @param order
      * @return
      */
-    private void sendSmsToLianxirenList(CareEventOrder order, CareHouse house, String content) {
-        List<OrderContactorVO> orderContactorVOList = queryContactList(order.getId());
+    private void sendSmsToLianxirenList(CareEventOrder order, CareHouse house, List<OrderContactorVO> orderContactorVOList, String content) {
         if (CollUtil.isEmpty(orderContactorVOList)) {
           return;
         }
-
         for(OrderContactorVO orderContactorVO : orderContactorVOList) {
             CareHouseContact careHouseContact = this.careHouseContactService.getById(orderContactorVO.getContactId());
             if (careHouseContact == null) {
@@ -937,11 +994,11 @@ public class BmsEventOrderService {
                 log.setOrderId(order.getId());
                 log.setLogType(LogTypeEnum.SMS.getValue());
                 log.setLogObjectId(order.getMemberId());
-                log.setLogObjectName(orderContactorVO.getContactName());
+                log.setLogObjectName(StrUtil.isEmpty(orderContactorVO.getContactName())?orderContactorVO.getContactPhone():orderContactorVO.getContactName());
                 log.setLogResult(content+"短信通知");
-                log.setOpUserRole(UserRoleEnum.SEAT.getValue());
+                log.setOpUserRole(UserRoleEnum.SYSTEM.getValue());
                 log.setCreateTime(DateUtil.date());
-                log.setRelationTypeDesc("联系人");
+                log.setRelationTypeDesc(StrUtil.isEmpty(orderContactorVO.getRelationTypeDesc())?"联系人":orderContactorVO.getRelationTypeDesc());
                 this.careEventOrderHandleHisService.save(log);
             }
         }

+ 4 - 0
src/main/java/com/care/common/entity/CareEventOrderHandleHis.java

@@ -60,6 +60,10 @@ public class CareEventOrderHandleHis implements Serializable {
     @TableField("ORDER_TYPE")
     private String orderType;
 
+    @ApiModelProperty("工单分类: 21:跌倒 22:久滞 23坠床 31主动呼叫")
+    @TableField("log_object_type")
+    private String logObjectType;
+
     @ApiModelProperty("操作对象")
     @TableField("LOG_OBJECT_ID")
     private Long logObjectId;

+ 6 - 10
src/main/java/com/care/common/service/WxNoticSendService.java

@@ -14,17 +14,13 @@ import java.util.Map;
 public interface WxNoticSendService {
 
     /**
-     * 事件发生给紧急联系人等发送语音提示
+     * 事件发生给紧急联系人等发送语音提示 使用微信小程序openId
+     *
      * @param phone
-     * @param params
+     * @param data
      * @return
      */
-    boolean sendWhenHappen(String phone, Map<String, TemplateDataDTO> data);
-    /**
-     * 事件取消给紧急联系人等发送语音提示
-     * @param phone
-     * @param params
-     * @return
-     */
-    boolean sendWhenCancel(String phone, Map<String, TemplateDataDTO> data);
+    boolean sendByWxXCXOpenId(String phone, Map<String, TemplateDataDTO> data);
+
+    boolean sendByWxGZHOpenId(String openId,  Map<String, TemplateDataDTO> data);
 }

+ 120 - 5
src/main/java/com/care/common/service/impl/CareEventOrderServiceImpl.java

@@ -16,6 +16,7 @@ import com.care.common.mapper.CareEventOrderMapper;
 import com.care.common.service.*;
 import com.care.common.vo.MySendStatus;
 import com.care.common.vo.order.EventStaVO;
+import com.care.common.vo.order.OrderContactorVO;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.stereotype.Service;
@@ -155,12 +156,68 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
         this.careEventOrderHandleHisService.save(his);
         List<CareEventOrderChamb> chambList =  addChamberlainToOrder(order);
         List<CareEventOrderContactStatus> contacts = addContactToOrderContact(order);
+
         sendSms(order,chambList,contacts);
         sendVoice(order,chambList,contacts);
         sendWXToMember(order);
+        sendXiaoxiToContacts(order,contacts);
         return true;
     }
 
+    private void sendXiaoxiToChamb(){
+
+    }
+    private void sendXiaoxiToContacts(CareEventOrder order,List<CareEventOrderContactStatus> contacts){
+        if (CollUtil.isEmpty(contacts)) {
+            return;
+        }
+        Object switchSms = redisUtil.get(RedisKeyConstant.SWITCH_SMS);
+        if (switchSms != null) {
+        }
+        //发送微信通知消息
+        sendWXToContacts(order,contacts);
+    }
+    private void sendWXToContacts(CareEventOrder order,List<CareEventOrderContactStatus> contacts){
+        try{
+            for(CareEventOrderContactStatus orderContactorVO : contacts) {
+                CareHouseContact careHouseContact = this.careHouseContactService.getById(orderContactorVO.getContactId());
+                if (careHouseContact == null) {
+                    continue;
+                }
+                if (StrUtil.isNotEmpty(careHouseContact.getOpenId())){
+                    Map<String, TemplateDataDTO> data = new HashMap<>();
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    data.put("first", new TemplateDataDTO("新安全事件", "#ff5200"));
+                    data.put("keyword1", new TemplateDataDTO(OrderTypeEnum.getCodeToName(order.getOrderType())+"报警", "#000000"));
+                    data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(order.getCreateTime()), "#000000"));
+                    data.put("keyword3", new TemplateDataDTO(order.getHouseName(), "#000000"));
+                    data.put("remark", new TemplateDataDTO("请尽快联系您的被监护人, 确认现场情况", "#ff5200"));
+                    boolean smsResult = this.wxNoticSendService.sendByWxGZHOpenId(careHouseContact.getOpenId(),data);
+                    log.info("新事件,给联系人发送WX消息模板: openId: " + careHouseContact.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
+                    if (smsResult) {
+                        CareEventOrderHandleHis log = new CareEventOrderHandleHis();
+                        log.setOrgId(order.getOrgId());
+                        log.setStationId(order.getStationId());
+                        log.setOrderId(order.getId());
+                        log.setLogType(LogTypeEnum.WX.getValue());
+                        log.setLogObjectId(orderContactorVO.getContactId());
+                        String name = careHouseContact.getContactName();
+                        if (StrUtil.isNotEmpty(careHouseContact.getContactName())){
+                            name = careHouseContact.getContactPhone();
+                        }
+                        log.setLogObjectName(name);
+                        log.setLogResult("微信通知");
+                        log.setOpUserRole(UserRoleEnum.SYSTEM.getValue());
+                        log.setCreateTime(DateUtil.date());
+                        log.setRelationTypeDesc(StrUtil.isEmpty(orderContactorVO.getRelationTypeDesc())?"联系人":orderContactorVO.getRelationTypeDesc());
+                        this.careEventOrderHandleHisService.save(log);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("新事件,给联系人发送微信消息失败:工单ID:{}",order.getId(),e);
+        }
+    }
     private void sendWXToMember(CareEventOrder order) {
         try{
             if (order.getMemberId() == null || order.getMemberId() == 0L) {
@@ -179,8 +236,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                 data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(order.getCreateTime()), "#000000"));
                 data.put("keyword3", new TemplateDataDTO(house.getAddr(), "#000000"));
                 data.put("remark", new TemplateDataDTO("请尽快联系您的被监护人, 确认现场情况", "#ff5200"));
-                boolean smsResult = this.wxNoticSendService.sendWhenHappen(careMemberInfo.getOpenId(),data);
-                log.info("新事件,发送WX消息模板: openId: " + careMemberInfo.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
+                boolean smsResult = this.wxNoticSendService.sendByWxXCXOpenId(careMemberInfo.getOpenId(),data);
+                log.info("新事件,给用户发送WX消息模板: openId: " + careMemberInfo.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
                 if (smsResult) {
                     CareEventOrderHandleHis log = new CareEventOrderHandleHis();
                     log.setOrgId(order.getOrgId());
@@ -206,7 +263,6 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
         }catch (Exception e){
             log.error("发送微信通知失败:"+ order.getId(),e);
         }
-
     }
     /**
      * 发送短信
@@ -492,9 +548,68 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
         this.saveHisOrder(order, orderDb,true);
         cancelEventSMSNotice(order);
         cancelEventWXNotice(order);
-        //cancelEventVoiceNotic(order);
+        cancelEventSendXiaoxiToContact(order);
         return true;
     }
+    //事件取消时,给联系人发送消息
+
+    private void cancelEventSendXiaoxiToContact(CareEventOrder order){
+        QueryWrapper<CareEventOrderContactStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareEventOrderContactStatus::getOrderId, order.getId()).orderByAsc(CareEventOrderContactStatus::getContactLevel);
+        List<CareEventOrderContactStatus> contacts = this.careEventOrderContactStatusService.list(queryWrapper);
+        if (CollUtil.isEmpty(contacts)) {
+            return;
+        }
+        Object switchSms = redisUtil.get(RedisKeyConstant.SWITCH_SMS);
+        if (switchSms != null) {
+        }
+        //发送微信通知消息
+        cancelEventsendWXToContacts(order,contacts);
+    }
+    private void cancelEventsendWXToContacts(CareEventOrder order,List<CareEventOrderContactStatus> contacts){
+        try{
+            for(CareEventOrderContactStatus orderContactorVO : contacts) {
+                CareHouseContact careHouseContact = this.careHouseContactService.getById(orderContactorVO.getContactId());
+                if (careHouseContact == null) {
+                    continue;
+                }
+                if (StrUtil.isNotEmpty(careHouseContact.getOpenId())){
+                    Map<String, TemplateDataDTO> data = new HashMap<>();
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    data.put("first", new TemplateDataDTO("安全事件取消", "#ff5200"));
+                    data.put("keyword1", new TemplateDataDTO(OrderTypeEnum.getCodeToName(order.getOrderType())+"报警取消", "#000000"));
+                    data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(new Date()), "#000000"));
+                    data.put("keyword3", new TemplateDataDTO(order.getHouseName(), "#000000"));
+                    //data.put("remark", new TemplateDataDTO("请尽快联系您的被监护人, 确认现场情况", "#ff5200"));
+                    boolean smsResult = this.wxNoticSendService.sendByWxGZHOpenId(careHouseContact.getOpenId(),data);
+                    log.info("取消事件,给用户发送WX消息模板: openId: " + careHouseContact.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
+                    if (smsResult) {
+                        CareEventOrderHandleHis log = new CareEventOrderHandleHis();
+                        log.setOrgId(order.getOrgId());
+                        log.setStationId(order.getStationId());
+                        log.setOrderId(order.getId());
+                        log.setLogType(LogTypeEnum.WX.getValue());
+                        log.setLogObjectId(order.getMemberId());
+                        String name = careHouseContact.getContactName();
+                        if (StrUtil.isNotEmpty(careHouseContact.getContactName())) {
+                            name = careHouseContact.getContactPhone();
+                        }
+
+                        log.setLogObjectName(name);
+                        log.setLogResult("事件取消微信通知");
+                        log.setOpUserRole(UserRoleEnum.SYSTEM.getValue());
+                        log.setCreateTime(DateUtil.date());
+                        log.setRelationTypeDesc(StrUtil.isEmpty(orderContactorVO.getRelationTypeDesc()) ? "联系人" : orderContactorVO.getRelationTypeDesc());
+                        this.careEventOrderHandleHisService.save(log);
+                    }
+                }
+            }
+        }catch (Exception e){
+            log.error("取消事件,给用户发送WX消息模板:工单ID:{}",order.getId(),e);
+        }
+
+    }
+
     private void cancelEventWXNotice(CareEventOrder order) {
         try{
             if (order.getMemberId() == null || order.getMemberId() == 0L) {
@@ -513,7 +628,7 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                 data.put("keyword2", new TemplateDataDTO(simpleDateFormat.format(new Date()), "#000000"));
                 data.put("keyword3", new TemplateDataDTO(house.getAddr(), "#000000"));
                 //data.put("remark", new TemplateDataDTO("请尽快联系您的被监护人, 确认现场情况", "#ff5200"));
-                boolean smsResult = this.wxNoticSendService.sendWhenHappen(careMemberInfo.getOpenId(),data);
+                boolean smsResult = this.wxNoticSendService.sendByWxXCXOpenId(careMemberInfo.getOpenId(),data);
                 log.info("取消事件,发送WX消息模板: openId: " + careMemberInfo.getOpenId() + ", ORDER: " + order.getId() + " 状态: " + smsResult);
                 if (smsResult) {
                     CareEventOrderHandleHis log = new CareEventOrderHandleHis();

+ 6 - 4
src/main/java/com/care/common/service/impl/WxNoticSendServiceImpl.java

@@ -36,13 +36,15 @@ public class WxNoticSendServiceImpl implements WxNoticSendService {
     private WxTemplateService wxTemplateService;
 
     @Override
-    public boolean sendWhenHappen(String openId,  Map<String, TemplateDataDTO> data) {
+    public boolean sendByWxXCXOpenId(String openId,  Map<String, TemplateDataDTO> data) {
         boolean flag = wxTemplateService.sendTemplateMsg(openId, templateId, toAppId, toUrl, data);
-        log.info("发送WX消息模板: openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
+        log.info("发送WX消息模板(使用小程序的OPENID): openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
         return flag;
     }
     @Override
-    public boolean sendWhenCancel(String phone, Map<String, TemplateDataDTO> data) {
-       return false;
+    public boolean sendByWxGZHOpenId(String openId,  Map<String, TemplateDataDTO> data){
+        boolean flag = wxTemplateService.sendTemplateMsgOriginal(openId, templateId, null, null, data);
+        log.info("发送WX消息模板(使用公众号的OPENID): openId: " + openId + ", templateId: " + templateId + " 状态: " + flag);
+        return flag;
     }
 }

+ 5 - 2
src/main/java/com/care/common/util/SmsUtil.java

@@ -1,5 +1,6 @@
 package com.care.common.util;
 
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.tencentcloudapi.common.Credential;
 import com.tencentcloudapi.common.exception.TencentCloudSDKException;
@@ -30,7 +31,9 @@ public class SmsUtil {
                                        String[] templateParam){
         SendStatus sendStatus = null;
         try{
-
+            if (StrUtil.isEmpty(phoneNumber)){
+                return  sendStatus;
+            }
             Credential cred = new Credential(secretId, secretKey);
 
             HttpProfile httpProfile = new HttpProfile();
@@ -60,7 +63,7 @@ public class SmsUtil {
             log.info("短信发送:{},{}",phoneNumber,JSONUtil.toJsonStr(resp));
             sendStatus = resp.getSendStatusSet()[0];
         } catch (TencentCloudSDKException e) {
-            log.info("短信发送失败:{},{}",phoneNumber,e);
+            log.error("短信发送失败:{},{}",phoneNumber,e);
         }
         return sendStatus;
     }

+ 3 - 1
src/main/java/com/care/common/util/WxTemplateUtil.java

@@ -120,7 +120,9 @@ public class WxTemplateUtil {
         WxAccessTokenVO wxAccessTokenVO = null;
 
         String requestUrl = ACCESS_TOKEN_URL.replace("APPID", appId).replace("APPSECRET", appSecret);
+        log.error("获取token的URL:"+ requestUrl);
         JSONObject jsonObject = httpRequest(requestUrl, "GET", null);
+        log.error("获取token返回的对象:"+ jsonObject.toString());
         // 如果请求成功
         if (null != jsonObject) {
             if (StringUtils.isNotBlank(jsonObject.getStr("errmsg"))) {
@@ -136,7 +138,7 @@ public class WxTemplateUtil {
             } catch (Exception e) {
                 wxAccessTokenVO = null;
                 // 获取token失败
-                System.out.println("获取token失败");
+                log.error("WxTemplateUtil获取token失败",e);
             }
         }
         return wxAccessTokenVO;

+ 7 - 1
src/main/java/com/care/mqtt/service/MqttHearbeatService.java

@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 
@@ -64,7 +65,12 @@ public class MqttHearbeatService {
                         if(!DeviceStatusEnum.OFFLINE.getValue().equals(careDevice.getStatus())){
                             log.info("设备在线离线轮训:id={},code={},设置为离线",careDevice.getId(),careDevice.getDevCode());
                             UpdateWrapper<CareDevice> deviceUpdateWrapper = new UpdateWrapper<>();
-                            deviceUpdateWrapper.lambda().set(CareDevice::getStatus,DeviceStatusEnum.OFFLINE.getValue()).eq(CareDevice::getId,careDevice.getId());
+                            deviceUpdateWrapper.lambda().set(CareDevice::getStatus,DeviceStatusEnum.OFFLINE.getValue())
+                                    .set(CareDevice::getMoveStatus,DeviceMoveStateEnum.NONE.getValue())
+                                    .set(CareDevice::getInbedStatus,DeviceInbedStateEnum.OUTBED.getValue())
+                                    .set(CareDevice::getModifyTime,new Date())
+                                    .eq(CareDevice::getId,careDevice.getId())
+                            ;
                             this.careDeviceService.update(deviceUpdateWrapper);
                         }
                     }

+ 3 - 3
src/main/java/com/care/mqtt/service/MqttMsgService.java

@@ -134,7 +134,7 @@ public class MqttMsgService {
             }
 
             if (careDevice.getHouseId() == null) {
-                logger.error("设备没有配置房屋地址");
+               // logger.error("设备没有配置房屋地址");
                 return;
             }
 
@@ -301,7 +301,7 @@ public class MqttMsgService {
             if (result) {
                 CareEventOrder order = getNewOrder(careDevice);
                 if (order == null) {
-                    logger.error("设备没有配置房屋地址");
+                    //logger.error("设备没有配置房屋地址");
                     return;
                 }
                 order.setCreateTime(date);
@@ -434,7 +434,7 @@ public class MqttMsgService {
   public CareEventOrder getNewOrder(CareDevice careDevice) {
       CareHouse careHouse = careHouseService.getById(careDevice.getHouseId());
       if (careHouse == null){
-          logger.error("设备没有配置房屋地址");
+         // logger.error("设备没有配置房屋地址");
           return null;
       }
       CareEventOrder order = new CareEventOrder();