From 1bff330017b9fd91ee4a0b93b7484b82cb92ccf4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 08 十二月 2025 13:48:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java |   93 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 85 insertions(+), 8 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index b8c1545..8f017ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -1,12 +1,20 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.CustomBroadcastRequest;
 import com.doumee.core.haikang.model.param.request.TransparentChannelSingleRequest;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.HttpsUtil;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
+import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -49,14 +57,24 @@
 
 
     @Override
-    public Integer create(Device device) {
-        deviceMapper.insert(device);
-        return device.getId();
+    public Integer create(Device model) {
+        model.setCreator(model.getLoginUserInfo().getId()+"");
+        model.setEdirot(model.getCreator());
+        model.setIsdeleted(Constants.ZERO);
+        model.setEditDate(new Date());
+        model.setCreateDate(model.getEditDate());
+        deviceMapper.insert(model);
+        return model.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        deviceMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo userInfo) {
+        Device update = new Device();
+        update.setEdirot(userInfo.getId()+"");
+        update.setEditDate(new Date());
+        update.setIsdeleted(Constants.ONE);
+        update.setId(id);
+        deviceMapper.updateById(update);
     }
 
     @Override
@@ -66,15 +84,19 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        deviceMapper.deleteBatchIds(ids);
+        for(Integer id :ids){
+            deleteById(id,userInfo);
+        }
     }
 
     @Override
     public void updateById(Device device) {
+        device.setEdirot(device.getLoginUserInfo().getId()+"");
+        device.setEditDate(new Date());
         deviceMapper.updateById(device);
     }
 
@@ -232,6 +254,62 @@
     }
 
     @Override
+    public void setBroadcaseBobao(Device model){
+        List<String> ids = new ArrayList<>();
+        ids.add(model.getHkId());
+        CustomBroadcastRequest request = new CustomBroadcastRequest();
+        request.setAudioPointIndexCode(ids);
+        request.setPlayDuration(15);//鍗曚綅绉�
+        request.setBroadCastMode("tts");
+        request.setPriority(1);
+        request.setState(1);//鎾斁/鍋滄鏍囪瘑 1-鎾斁锛�0-鍋滄
+        request.setPlayTtsContent(model.getSendInfo());
+        BaseResponse response =  HKService.customBroadcast(request);
+        if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+          throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"鍙戦�佸け璐ワ細"+ JSONObject.toJSONString(response));
+        }
+    }
+    @Override
+    public String setBroadcaseBobaoHttp(Device param){
+        Device model = deviceMapper.selectById(param.getId());
+        if(model ==null && Constants.equalsInteger(param.getType(),Constants.FOUR)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        String input = "";
+
+        //閲嶆柊涓嬪彂璁″垝
+        JSONObject jsonObject = new JSONObject();
+
+      /*  {
+            "command": "start",
+                "TTSContent": "鍐�G70122,姣涢噸48.68鍚紝绉伴噸缁撴潫锛岃涓嬬",
+                "audioLevel": 6,
+                "audioOutID": [
+                        1
+              ],
+            "audioVolume": 100,
+                "voiceType": "female",
+                "TTSLanguageType": "chinese"
+        }*/
+        jsonObject.put("command","start");
+        jsonObject.put("TTSContent",param.getSendInfo());
+        jsonObject.put("audioLevel",6);
+        jsonObject.put("audioVolume",100);
+        jsonObject.put("TTSLanguageType","chinese");
+        jsonObject.put("voiceType","female");
+        jsonObject.put("pace",50);
+        JSONArray a = new JSONArray();
+        a.add(1);
+        jsonObject.put("audioOutID",a);
+        String params =jsonObject.toJSONString();
+        log.error("========娴峰悍骞挎挱鎾斁鍏ュ弬鍐呭 : " + params);
+        String result = HttpsUtil.doPutHk(model.getIp(),Integer.parseInt(StringUtils.defaultString(model.getPort(),"80")),model.getDoorId(), model.getDoorName()
+                ,"/ISAPI/AccessControl/EventCardLinkageCfg/TTSAudio?format=json",params);
+
+        log.error("========娴峰悍骞挎挱鎾斁杩斿洖鍐呭 : " + result);
+        return result;
+    }
+    @Override
     public void setLedContent(TransparentChannelSingleRequest model) {
         Device device = findById(model.getDeviceId());
         if(device == null
@@ -287,7 +365,6 @@
             }catch (Exception e){
                 log.error( "瀵逛笉璧凤紝灞忓箷鍐呭璁剧疆寮傚父"+ device.getName());
             }
-
         }
         log.error( "灞忓箷鍐呭璁剧疆=======================缁撴潫========" );
     }

--
Gitblit v1.9.3