Przeglądaj źródła

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

请输入用户名 3 lat temu
rodzic
commit
d9f03e9ef6

+ 2 - 1
.gitignore

@@ -39,4 +39,5 @@ build/
 .gitconfig
 .mymetadata
 Thumbs.db
-logs
+logs
+.DS_Store

+ 8 - 4
src/main/java/com/care/bms/service/BmsEventOrderService.java

@@ -191,8 +191,10 @@ public class BmsEventOrderService {
                 resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
                 resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
                 QueryWrapper<CareEventOrderHandleHis> queryWrapper2 = new QueryWrapper<>();
-                queryWrapper2.lambda().eq(CareEventOrderHandleHis::getOrderId, item.getId()).eq(CareEventOrderHandleHis::getLogType, LogTypeEnum.DEV_EVENT.getValue());
-                resVO.setWarnCount(careEventOrderHandleHisService.count(queryWrapper2));
+                queryWrapper2.select("distinct org_id,station_id,house_id,order_id,log_type,order_type,log_object_id,log_object_name,log_result," +
+                        "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id").lambda().eq(CareEventOrderHandleHis::getOrderId, item.getId()).eq(CareEventOrderHandleHis::getLogType, LogTypeEnum.DEV_EVENT.getValue());
+                List tmpList = careEventOrderHandleHisService.list(queryWrapper2);
+                resVO.setWarnCount(CollUtil.isNotEmpty(tmpList)?tmpList.size():0);
                 list.add(resVO);
             });
             results.setRecords(list);
@@ -209,7 +211,8 @@ public class BmsEventOrderService {
     public List<OrderHandleHisVO> listHisWarn(Long orderId) {
         CareEventOrder order = this.careEventOrderService.getById(orderId);
         QueryWrapper<CareEventOrderHandleHis> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(CareEventOrderHandleHis::getOrderId, order.getId()).eq(CareEventOrderHandleHis::getLogType, LogTypeEnum.DEV_EVENT.getValue()).orderByDesc(CareEventOrderHandleHis::getCreateTime);
+        queryWrapper.select("distinct org_id,station_id,house_id,order_id,log_type,order_type,log_object_id,log_object_name,log_result," +
+                "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id").lambda().eq(CareEventOrderHandleHis::getOrderId, order.getId()).eq(CareEventOrderHandleHis::getLogType, LogTypeEnum.DEV_EVENT.getValue()).orderByDesc(CareEventOrderHandleHis::getCreateTime);
         List<CareEventOrderHandleHis> list = careEventOrderHandleHisService.list(queryWrapper);
         List<OrderHandleHisVO> listHisWarn = new ArrayList<>();
         if (CollUtil.isNotEmpty(list)) {
@@ -435,7 +438,8 @@ public class BmsEventOrderService {
     public List<OrderHandleHisVO> queryOrderHandleHis(Long orderId) {
         List<OrderHandleHisVO> result = Lists.newArrayList();
         QueryWrapper<CareEventOrderHandleHis> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(CareEventOrderHandleHis::getOrderId, orderId)
+        queryWrapper.select("distinct org_id,station_id,house_id,order_id,log_type,order_type,log_object_id,log_object_name,log_result," +
+                "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id").lambda().eq(CareEventOrderHandleHis::getOrderId, orderId)
                 .orderByDesc(CareEventOrderHandleHis::getCreateTime);
         List<CareEventOrderHandleHis> datas = this.careEventOrderHandleHisService.list(queryWrapper);
         if (CollUtil.isNotEmpty(datas)) {

+ 3 - 1
src/main/java/com/care/bms/service/BmsSysUserService.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.care.common.entity.*;
 
+import com.care.common.enums.DeviceActiveStatusEnum;
+import com.care.common.enums.OlderLiveTypeEnum;
 import com.care.common.enums.UserRoleEnum;
 import com.care.common.exception.BDException;
 import com.care.common.service.*;
@@ -191,7 +193,7 @@ public class BmsSysUserService{
                             deviceVO.setHouseAddr(careHouse.getAddr());
                         }
                     }
-
+                    deviceVO.setActiveStatusName(DeviceActiveStatusEnum.getCodeToName(deviceVO.getActiveStatus()));
 
                     hasDeviceVOList.add(deviceVO);
                 });

+ 2 - 0
src/main/java/com/care/client/controller/PassportController.java

@@ -1,5 +1,6 @@
 package com.care.client.controller;
 
+import cn.hutool.core.date.DateUtil;
 import com.care.client.service.PassportService;
 import com.care.client.vo.MemberInitParams;
 import com.care.common.entity.CareMemberInfo;
@@ -89,6 +90,7 @@ public class PassportController {
             CareMemberInfo careMemberInfo = new CareMemberInfo();
             careMemberInfo.setPhone(phone);
             careMemberInfo.setPassword(DigestUtils.md5Hex(password));
+            careMemberInfo.setCreateTime(DateUtil.date());
             boolean flag = careMemberInfoService.save(careMemberInfo);
             if (flag) {
                 return Result.success();

+ 2 - 1
src/main/java/com/care/client/service/PinanbaoService.java

@@ -282,7 +282,8 @@ public class PinanbaoService {
     private  List<OrderHandleHisVO> queryOrderHandleHis(Long orderId){
         List<OrderHandleHisVO> orderHandleHisVOList = Lists.newArrayList();
         QueryWrapper<CareEventOrderHandleHis> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(CareEventOrderHandleHis::getOrderId,orderId)
+        queryWrapper.select("distinct org_id,station_id,house_id,order_id,log_type,order_type,log_object_id,log_object_name,log_result," +
+                "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id").lambda().eq(CareEventOrderHandleHis::getOrderId,orderId)
                 .orderByDesc(CareEventOrderHandleHis::getCreateTime);
         List<CareEventOrderHandleHis> datas = this.careEventOrderHandleHisService.list(queryWrapper);
         if (CollUtil.isNotEmpty(datas)){

+ 14 - 0
src/main/java/com/care/common/service/impl/CareEventOrderServiceImpl.java

@@ -13,6 +13,7 @@ import com.care.common.enums.*;
 import com.care.common.mapper.CareEventOrderMapper;
 import com.care.common.service.*;
 import com.care.common.vo.order.EventStaVO;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.compress.utils.Lists;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -28,6 +29,7 @@ import java.util.List;
  * @since 2021-05-21 00:08:29
  */
 @Service
+@Slf4j
 public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper, CareEventOrder> implements CareEventOrderService {
 
     @Resource
@@ -184,6 +186,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                             his2.setCreateTime(DateUtil.date());
                             his2.setRelationTypeDesc(item.getRelationTypeDesc());
                             this.careEventOrderHandleHisService.save(his2);
+                        }else{
+                            log.error(" 事件短信通知失败 : 工单ID:{}, 联系人:{}",order.getId(),item);
                         }
                     });
                 }
@@ -209,6 +213,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                             his2.setCreateTime(DateUtil.date());
                             his2.setRelationTypeDesc("管家");
                             this.careEventOrderHandleHisService.save(his2);
+                        }else{
+                            log.error(" 事件短信通知失败 : 工单ID:{}, 联系人:{}",order.getId(),item);
                         }
                     });
                 }
@@ -255,6 +261,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                             his2.setCreateTime(DateUtil.date());
                             his2.setRelationTypeDesc(item.getRelationTypeDesc());
                             this.careEventOrderHandleHisService.save(his2);
+                        }else{
+                            log.error(" 事件语音通知失败 : 工单ID:{}, 联系人:{}",order.getId(),item);
                         }
                     });
                 }
@@ -283,6 +291,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                             his2.setCreateTime(DateUtil.date());
                             his2.setRelationTypeDesc("管家");
                             this.careEventOrderHandleHisService.save(his2);
+                        }else{
+                            log.error(" 事件语音短信通知失败 : 工单ID:{}, 联系人:{}",order.getId(),item);
                         }
                     });
                 }
@@ -447,6 +457,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                             his2.setCreateTime(DateUtil.date());
                             his2.setRelationTypeDesc(item.getRelationTypeDesc());
                             this.careEventOrderHandleHisService.save(his2);
+                        }else{
+                            log.error(" 事件取消短信通知失败 : 工单ID:{}, 联系人:{}",order.getId(),item);
                         }
                     });
                 }
@@ -472,6 +484,8 @@ public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper,
                             his2.setCreateTime(DateUtil.date());
                             his2.setRelationTypeDesc("管家");
                             this.careEventOrderHandleHisService.save(his2);
+                        }else {
+                            log.error(" 事件取消短信通知失败 : 工单ID:{}, 管家:{}",order.getId(),item);
                         }
                     });
                 }

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

@@ -39,7 +39,7 @@ public class SmsUtil {
 
             SmsClient client = new SmsClient(cred, region, clientProfile);
             if (phoneNumber.startsWith("+86")){
-                phoneNumber = phoneNumber.replace("+86","");
+                //phoneNumber = phoneNumber.replace("+86","");
             }else{
                 phoneNumber = "+86"+phoneNumber;
             }

+ 54 - 1
src/main/java/com/care/common/util/VoiceUtil.java

@@ -1,4 +1,5 @@
 package com.care.common.util;
+import cn.hutool.json.JSONUtil;
 import com.tencentcloudapi.common.Credential;
 import com.tencentcloudapi.common.exception.TencentCloudSDKException;
 
@@ -62,7 +63,7 @@ public class VoiceUtil {
             clientProfile.setHttpProfile(httpProfile);
             /* 实例化要请求产品(以vms为例)的client对象
              * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
-            VmsClient client = new VmsClient(cred, region, clientProfile);
+            VmsClient client = new VmsClient(cred, region);
             /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
              * 您可以直接查询SDK源码确定接口有哪些属性可以设置
              * 属性可能是基本类型,也可能引用了另一个数据结构
@@ -84,6 +85,11 @@ public class VoiceUtil {
 
             /* 被叫手机号码,采用 e.164 标准,格式为+[国家或地区码][用户号码]
              * 例如:+8613711112222,其中前面有一个+号,86为国家码,13711112222为手机号 */
+            if (phoneNumber.startsWith("+86")){
+                //phoneNumber = phoneNumber.replace("+86","");
+            }else{
+                phoneNumber = "+86"+phoneNumber;
+            }
             req.setCalledNumber(phoneNumber);
 
             // 在 [语音控制台] 添加应用后生成的实际SdkAppid,示例如1400006666
@@ -113,6 +119,53 @@ public class VoiceUtil {
         }
     }
     public static void main(String[] args) {
+        String endpoint ="vms.tencentcloudapi.com";
+        String region="ap-beijing";
+        String secretId="AKIDkKfkbCX0HJ4YkgMlunPkpdBSVHo43mEQ";
+        String secretKey="wb08zZrRkmY3IGyPZS4PUIp66pHUQ6Vd";
+        String voiceSdkAppId="1400591555";
+        String templateId="1182623";
+        String phoneNumber="18010375763";
+        String[] templateParam = {"yyyy年MM月dd日HH时mm分ss秒","久滞","双华时代"};
+        SendStatus sendStatus = VoiceUtil.sendTtsVoice( endpoint,
+                 region,
+                 secretId,
+                 secretKey,
+                 voiceSdkAppId,
+                 templateId,
+                 phoneNumber,
+                templateParam);
+        System.out.println(JSONUtil.toJsonStr(sendStatus));
+
+
+        try{
+            // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
+            // 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
+            Credential cred = new Credential(secretId, secretKey);
+            // 实例化一个http选项,可选的,没有特殊需求可以跳过
+            HttpProfile httpProfile = new HttpProfile();
+            httpProfile.setEndpoint("vms.tencentcloudapi.com");
+            // 实例化一个client选项,可选的,没有特殊需求可以跳过
+            ClientProfile clientProfile = new ClientProfile();
+            clientProfile.setHttpProfile(httpProfile);
+            // 实例化要请求产品的client对象,clientProfile是可选的
+            VmsClient client = new VmsClient(cred, "ap-beijing", clientProfile);
+            // 实例化一个请求对象,每个接口都会对应一个request对象
+            SendTtsVoiceRequest req = new SendTtsVoiceRequest();
+            req.setTemplateId("1182623");
 
+            String[] templateParamSet1 = {"1", "2", "3"};
+            req.setTemplateParamSet(templateParamSet1);
+
+            req.setCalledNumber("+8618010375763");
+            req.setPlayTimes(1L);
+            req.setVoiceSdkAppid("1400591555");
+            // 返回的resp是一个SendTtsVoiceResponse的实例,与请求对象对应
+            SendTtsVoiceResponse resp = client.SendTtsVoice(req);
+            // 输出json格式的字符串回包
+            System.out.println(SendTtsVoiceResponse.toJsonString(resp));
+        } catch (TencentCloudSDKException e) {
+            System.out.println(e.toString());
+        }
     }
 }

+ 8 - 1
src/main/java/com/care/installation/service/RoomService.java

@@ -3,6 +3,7 @@ package com.care.installation.service;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.care.common.cache.RedisUtil;
@@ -435,7 +436,13 @@ public class RoomService {
                  mqttConnectorPoolService.addOne(careDevice);
                  //上线
                  careDevice.setStatus(DeviceStatusEnum.ONLINE.getValue());
-                 careDeviceService.updateById(careDevice);
+                 careDevice.setActiveTime(DateUtil.date());
+                 UpdateWrapper<CareDevice> updateWrapper = new UpdateWrapper<>();
+                 updateWrapper.lambda().eq(CareDevice::getId,careDevice.getId())
+                         .set(CareDevice::getStatus,careDevice.getStatus())
+                 .set(CareDevice::getActiveTime, careDevice.getActiveTime());
+                 careDeviceService.update(updateWrapper);
+                 //careDeviceService.updateById(careDevice);
 
                  //去除publish的客户端监听
                  mqttConnectorInstallPoolService.removeInstallOne(careDevice);

+ 2 - 1
src/main/java/com/care/keeper/service/KeeperOrderApiService.java

@@ -404,7 +404,8 @@ public class KeeperOrderApiService {
     public List<OrderHandleHisVO> queryOrderHandleHis(Long orderId){
         List<OrderHandleHisVO> result = Lists.newArrayList();
         QueryWrapper<CareEventOrderHandleHis> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(CareEventOrderHandleHis::getOrderId,orderId)
+        queryWrapper.select("distinct org_id,station_id,house_id,order_id,log_type,order_type,log_object_id,log_object_name,log_result," +
+                "op_user_role,op_user_id,op_user_name,create_time,relation_type_desc,call_result_id").lambda().eq(CareEventOrderHandleHis::getOrderId,orderId)
                 .orderByDesc(CareEventOrderHandleHis::getCreateTime);
         List<CareEventOrderHandleHis> datas = this.careEventOrderHandleHisService.list(queryWrapper);
         if (CollUtil.isNotEmpty(datas)){