From 6356dff6dabcaee38ccd48e3d2673a31f87491e3 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 27 十一月 2025 18:22:51 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/views/business/deviceBroadcast.vue                                                        |  101 +++++++++++--
 server/system_gateway/src/main/resources/bootstrap.yml                                              |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java |   50 ++++++-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java              |    1 
 /dev/null                                                                                           |  110 ---------------
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java          |    7 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java         |    7 
 admin/src/components/business/OperaDeviceBroadcastWindow.vue                                        |   61 ++++++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java         |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java              |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java               |    6 
 admin/src/api/business/device.js                                                                    |   20 ++
 admin/.env.development                                                                              |    4 
 13 files changed, 229 insertions(+), 147 deletions(-)

diff --git a/admin/.env.development b/admin/.env.development
index 0d060e0..5916de9 100644
--- a/admin/.env.development
+++ b/admin/.env.development
@@ -3,9 +3,9 @@
 
 # VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
 
-VUE_APP_API_URL  = 'http://192.168.1.45:10010'
+VUE_APP_API_URL  = 'http://localhost:10010'
 
-# VUE_APP_API_URL  = 'http://192.168.0.7/system_gateway'
+#VUE_APP_API_URL  = 'http://192.168.0.7/system_gateway'
 
 # VUE_APP_API_URL  = 'http://localhost:10010'
 
diff --git a/admin/src/api/business/device.js b/admin/src/api/business/device.js
index 7259c4a..d5274bb 100644
--- a/admin/src/api/business/device.js
+++ b/admin/src/api/business/device.js
@@ -25,6 +25,9 @@
 export function updateById (data) {
   return request.post('/visitsAdmin/cloudService/business/device/updateById', data)
 }
+export function create (data) {
+  return request.post('/visitsAdmin/cloudService/business/device/create', data)
+}
 
 // 淇敼鏄惁闂ㄧ鍏ュ彛
 export function updateEntranceById (data) {
@@ -34,3 +37,20 @@
 export function setLedContent (data) {
   return request.post('/visitsAdmin/cloudService/business/hksync/setLedContent', data)
 }
+export function sendBobao (data) {
+  return request.post('/visitsAdmin/cloudService/business/hksync/sendBobao', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+  return request.get(`/visitsAdmin/cloudService/business/device/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+  return request.get('/visitsAdmin/cloudService/business/device/delete/batch', {
+    params: {
+      ids
+    }
+  })
+}
diff --git a/admin/src/components/business/OperaDeviceBroadcastWindow.vue b/admin/src/components/business/OperaDeviceBroadcastWindow.vue
new file mode 100644
index 0000000..5f6ae87
--- /dev/null
+++ b/admin/src/components/business/OperaDeviceBroadcastWindow.vue
@@ -0,0 +1,61 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <el-form :model="form" ref="form" :rules="rules">
+          <el-form-item label="璁惧鍚嶇О" prop="name">
+            <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" v-trim/>
+          </el-form-item>
+          <el-form-item label="璁惧鍞竴鐮�" prop="hkId">
+            <el-input v-model="form.hkId" placeholder="璇疯緭鍏ヨ澶囧敮涓�鐮�" v-trim/>
+          </el-form-item>
+          <el-form-item label="璁惧搴忓垪鍙�" prop="no">
+            <el-input v-model="form.no" placeholder="璇疯緭鍏ュ簭鍒楀彿" v-trim/>
+          </el-form-item>
+          <el-form-item label="鎵�鍦ㄤ綅缃�" prop="regionPathName">
+            <el-input v-model="form.regionPathName" placeholder="璇疯緭鍏ユ墍鍦ㄤ綅缃�" v-trim/>
+          </el-form-item>
+        </el-form>
+    </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+export default {
+  name: 'OperaDeviceBroadcastWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        hkId: '',
+        name: '',
+        regionPathName: '',
+        no: '',
+        type: 4
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        name: [
+          { required: true, message: '璇疯緭鍏ヨ澶囧悕绉�' }
+        ],
+        hkId: [
+          { required: true, message: '璇疯緭鍏ヨ澶囧敮涓�鐮�' }
+        ]
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/device',
+      'field.id': 'id'
+    })
+  }
+}
+</script>
diff --git a/admin/src/views/business/deviceBroadcast.vue b/admin/src/views/business/deviceBroadcast.vue
index 4731caa..9e54ee3 100644
--- a/admin/src/views/business/deviceBroadcast.vue
+++ b/admin/src/views/business/deviceBroadcast.vue
@@ -12,22 +12,37 @@
         </el-form>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
-            <ul class="toolbar">
-                <li><el-button type="primary" @click="synchronousData">鍚屾</el-button></li>
-            </ul>
+          <ul class="toolbar" v-permissions="['business:device:create', 'business:device:delete']">
+            <li><el-button type="primary" :loading="isWorking.delete" @click="synchronousData">鍚屾</el-button></li>
+            <li><el-button type="primary" @click="$refs.operaDeviceWindow.open('鏂板缓骞挎挱')" icon="el-icon-plus" v-permissions="['business:device:create']">鏂板缓</el-button></li>
+            <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:device:delete']">鍒犻櫎</el-button></li>
+          </ul>
             <el-table
                 :height="tableHeightNew"
                 v-loading="isWorking.search"
                 :data="tableData.list"
                 stripe
             >
+              <el-table-column type="selection" width="55"></el-table-column>
               <el-table-column label="搴忓彿"  width="55" fixed><template slot-scope="scope" >{{scope.$index+1}}</template></el-table-column>
                 <el-table-column prop="name" label="鍚嶇О"></el-table-column>
-                <el-table-column prop="hkId" label="鍞竴鏍囪瘑" min-width="200"></el-table-column>
-                <el-table-column prop="channelInfo" label="绫诲瀷"></el-table-column>
-                <el-table-column prop="channelNo" label="璁惧鍙�"></el-table-column>
-                <el-table-column prop="regionName" label="鍖哄煙缂栫爜"></el-table-column>
-                <el-table-column prop="hkDate" label="鍚屾鏃堕棿"></el-table-column>
+                <el-table-column prop="hkId" label="鍞竴鏍囪瘑"  ></el-table-column>
+                <el-table-column prop="no" label="搴忓垪鍙�"  ></el-table-column>
+                <el-table-column prop="regionPathName" label="鎵�鍦ㄤ綅缃�"></el-table-column>
+                <el-table-column prop="editDate" label="鏈�杩戞洿鏂版椂闂�"></el-table-column>
+                <el-table-column
+                    v-if="containPermissions(['business:devicerole:update', 'business:devicerole:delete'])"
+                    label="鎿嶄綔"
+                    align="center"
+                    min-width="120"
+                    fixed="right"
+                >
+                  <template slot-scope="{row}">
+                    <el-button type="text" @click="$refs.operaDeviceWindow.open('缂栬緫骞挎挱', row)" icon="el-icon-edit" v-permissions="['business:device:update']">缂栬緫</el-button>
+                    <el-button type="text" @click="send(row)" icon="el-icon-edit"  v-permissions="['business:device:update']">鍙戦�佹挱鎶�</el-button>
+                    <el-button type="text" class="red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:device:delete']">鍒犻櫎</el-button>
+                  </template>
+                </el-table-column>
             </el-table>
             <pagination
                 @size-change="handleSizeChange"
@@ -36,8 +51,26 @@
             >
             </pagination>
         </template>
+      <el-dialog
+          :visible.sync="visibleSend"
+          style="z-index: 100000"
+          append-to-body
+          width="50%"
+          height="50%"
+          :title="'鍙戦�佹挱鎶�-'+ form.name"
+      >
+        <el-form :model="form" ref="form" >
+          <el-form-item label="鎾姤鍐呭" prop="name" required>
+            <el-input v-model="form.sendInfo" type="textarea" placeholder="璇疯緭鍏ユ挱鎶ュ唴瀹�" v-trim/>
+          </el-form-item>
+        </el-form>
+        <template  v-slot:footer  >
+          <el-button @click="sendBobao()" type="primary" :loading="isWorkSending">纭</el-button>
+          <el-button @click="sendClose()">杩斿洖</el-button>
+        </template>
+      </el-dialog>
         <!-- 鏂板缓/淇敼 -->
-    <OperaDeviceWindow ref="operaDeviceWindow" @success="handlePageChange"/>
+    <OperaDeviceBroadcastWindow ref="operaDeviceWindow" @success="handlePageChange"/>
     </TableLayout>
 </template>
 
@@ -45,12 +78,11 @@
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
-import OperaDeviceWindow from '@/components/business/OperaDeviceWindow'
-import { syncDevices, updateEntranceById } from '@/api/business/device'
+import OperaDeviceBroadcastWindow from '@/components/business/OperaDeviceBroadcastWindow'
 export default {
   name: 'Device',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaDeviceWindow },
+  components: { TableLayout, Pagination, OperaDeviceBroadcastWindow },
   data () {
     return {
       // 鎼滅储
@@ -61,6 +93,14 @@
         online: '',
         type: 4
       },
+      isWorkSending: false,
+      form: {
+        sendInfo: '',
+        id: '',
+        hkId: '',
+        name: ''
+      },
+      visibleSend: false,
       options: []
     }
   },
@@ -74,17 +114,40 @@
     this.search()
   },
   methods: {
-    changeManufature(e, row) {
-      updateEntranceById({
-        id: row.id,
-        isEntrance: e
-      })
+    sendBobao () {
+      if(!this.form.sendInfo){
+        return
+      }
+      this.$dialog.actionConfirm('纭杩涜骞挎挱鎾姤鍚楋紵','鎿嶄綔纭鎻愰啋')
+        .then(() => {
+          this.isWorkSending = true
+          this.api.sendBobao(this.form)
+            .then(res => {
+              this.$tip.apiSuccess(res || '鎾姤璇锋眰鎴愬姛')
+              this.sendClose()
+            })
+            .catch(e => {
+            })
+            .finally(() => {
+              this.isWorkSending = false
+            })
+        })
+        .catch(() => {})
     },
-    synchronousData () {
+    send (row) {
+      this.visibleSend = true
+      this.form = { sendInfo: '', id: row.id, hkId: row.hkId, name: row.name }
+    },
+    sendClose () {
+      this.visibleSend = false
+      this.isWorkSending = false
+      this.form = { sendInfo: '', id: '', hkId: '', name: '' }
+    },
+     synchronousData () {
       this.$dialog.actionConfirm('鎿嶄綔纭鎻愰啋', '鎮ㄧ‘璁ゅ悓姝ュ叏閮ㄤ俊鎭悧锛�')
         .then(() => {
           this.isWorking.delete = true
-          syncDevices({type: 3})
+          syncDevices({type: 4})
             .then(res => {
               this.$tip.apiSuccess(res || '鍚屾鎴愬姛')
               this.search()
diff --git a/server/system_gateway/src/main/resources/bootstrap.yml b/server/system_gateway/src/main/resources/bootstrap.yml
index 3d2cb09..02ca26f 100644
--- a/server/system_gateway/src/main/resources/bootstrap.yml
+++ b/server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: pro
+    active: dev
   application:
     name: system_gateway
   # 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceController.java
deleted file mode 100644
index 237c964..0000000
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/DeviceController.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.doumee.api.business;
-
-import com.doumee.core.annotation.excel.ExcelExporter;
-import com.doumee.core.annotation.pr.PreventRepeat;
-import com.doumee.service.business.third.model.ApiResponse;
-import com.doumee.service.business.third.model.PageWrap;
-import com.doumee.service.business.third.model.PageData;
-import com.doumee.core.utils.Constants;
-import com.doumee.dao.business.model.Device;
-import com.doumee.service.business.DeviceService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;    
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import com.doumee.api.BaseController;
-/**
- * @author 姹熻箘韫�
- * @date 2023/11/30 15:33
- */
-@Api(tags = "璁惧淇℃伅琛�")
-@RestController
-@RequestMapping("/business/device")
-public class DeviceController extends BaseController {
-
-    @Autowired
-    private DeviceService deviceService;
-
-    @PreventRepeat
-    @ApiOperation("鏂板缓")
-    @PostMapping("/create")
-    @RequiresPermissions("business:device:create")
-    public ApiResponse create(@RequestBody Device device) {
-        return ApiResponse.success(deviceService.create(device));
-    }
-
-    @ApiOperation("鏍规嵁ID鍒犻櫎")
-    @GetMapping("/delete/{id}")
-    @RequiresPermissions("business:device:delete")
-    public ApiResponse deleteById(@PathVariable Integer id) {
-        deviceService.deleteById(id);
-        return ApiResponse.success(null);
-    }
-    @ApiOperation("淇敼鏄惁闂ㄧ鍏ュ彛")
-    @PostMapping("/updateEntranceById")
-    @RequiresPermissions("business:company:update")
-    public ApiResponse updateStatusById(@RequestBody Device param) {
-        Device d = new Device();
-        d.setId(param.getId());
-        d.setEditDate(new Date());
-        d.setIsEntrance(Constants.formatIntegerNum(param.getIsEntrance()));
-        deviceService.updateById(d);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鎵归噺鍒犻櫎")
-    @GetMapping("/delete/batch")
-    @RequiresPermissions("business:device:delete")
-    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
-        String [] idArray = ids.split(",");
-        List<Integer> idList = new ArrayList<>();
-        for (String id : idArray) {
-            idList.add(Integer.valueOf(id));
-        }
-        deviceService.deleteByIdInBatch(idList);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鏍规嵁ID淇敼")
-    @PostMapping("/updateById")
-    @RequiresPermissions("business:device:update")
-    public ApiResponse updateById(@RequestBody Device device) {
-        deviceService.updateById(device);
-        return ApiResponse.success(null);
-    }
-
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    @PostMapping("/page")
-    @RequiresPermissions("business:device:query")
-    public ApiResponse<PageData<Device>> findPage (@RequestBody PageWrap<Device> pageWrap) {
-        return ApiResponse.success(deviceService.findPage(pageWrap));
-    }
-
-    @ApiOperation("瀵煎嚭Excel")
-    @PostMapping("/exportExcel")
-    @RequiresPermissions("business:device:exportExcel")
-    public void exportExcel (@RequestBody PageWrap<Device> pageWrap, HttpServletResponse response) {
-        ExcelExporter.build(Device.class).export(deviceService.findPage(pageWrap).getRecords(), "璁惧淇℃伅琛�", response);
-    }
-
-    @ApiOperation("鏍规嵁ID鏌ヨ")
-    @GetMapping("/{id}")
-    @RequiresPermissions("business:device:query")
-    public ApiResponse findById(@PathVariable Integer id) {
-        return ApiResponse.success(deviceService.findById(id));
-    }
-
-    @ApiOperation("鑾峰彇闂ㄧ闆嗗悎-鎻愪緵缁欓棬绂佺粍")
-    @PostMapping("/getList")
-    @RequiresPermissions("business:device:query")
-    public ApiResponse findList(@RequestBody Device device) {
-        return ApiResponse.success(deviceService.findIdAndNameList(device));
-    }
-}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java
index 1930129..a65ace5 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/DeviceCloudController.java
@@ -36,6 +36,7 @@
     @PostMapping("/create")
     @CloudRequiredPermission("business:device:create")
     public ApiResponse create(@RequestBody Device device,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        device.setLoginUserInfo(this.getLoginUser(token));
         return ApiResponse.success(deviceService.create(device));
     }
 
@@ -43,7 +44,7 @@
     @GetMapping("/delete/{id}")
     @CloudRequiredPermission("business:device:delete")
     public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        deviceService.deleteById(id);
+        deviceService.deleteById(id,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
     @ApiOperation("淇敼鏄惁闂ㄧ鍏ュ彛")
@@ -67,7 +68,7 @@
         for (String id : idArray) {
             idList.add(Integer.valueOf(id));
         }
-        deviceService.deleteByIdInBatch(idList);
+        deviceService.deleteByIdInBatch(idList,this.getLoginUser(token));
         return ApiResponse.success(null);
     }
 
@@ -75,6 +76,8 @@
     @PostMapping("/updateById")
     @CloudRequiredPermission("business:device:update")
     public ApiResponse updateById(@RequestBody Device device,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+
+        device.setLoginUserInfo(this.getLoginUser(token));
         deviceService.updateById(device);
         return ApiResponse.success(null);
     }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
index 5ca947a..37a5584 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -354,5 +354,11 @@
         deviceService.setLedContent(body);
         return ApiResponse.success(null);
     }
+    @ApiOperation("銆愭捣搴枫�戝箍鎾挱鎶�")
+    @PostMapping("/sendBobao")
+    public ApiResponse<List<Map<String,Object>>> setBroadcaseBobao(@RequestBody Device body  , HttpServletResponse response) {
+        deviceService.setBroadcaseBobao(body);
+        return ApiResponse.success(null);
+    }
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index d6d1024..4dcda60 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -467,7 +467,6 @@
 		return result;
 	}
 
-
 	public static String startDoPostStringArtemis(String[] pathStr,Map<String, String> querys,Map<String, String> header,String body){
 		Map<String, String> path = getPath(pathStr[0]);
 		header.put("tagId","frs");
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java
index d051ff7..b95469d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Device.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.service.business.third.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
@@ -155,8 +156,9 @@
     private String doorName;
 
 
-
-
+    @ApiModelProperty(value = "鎾姤鍐呭")
+    @TableField(exist = false)
+    private String sendInfo;
 
 
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
index 77f4b74..52671f0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
@@ -59,7 +59,6 @@
     @ApiModelProperty(value = "瀵煎叆澶囨敞")
     private String importInfo;
 
-
     @ApiModelProperty(value = "涓嬪彂浜哄憳", example = "1")
     private Integer sendUserId;
     @ApiModelProperty(value = "涓嬪彂娆℃暟", example = "1")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
index b447ed3..840dbda 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/DeviceService.java
@@ -1,6 +1,7 @@
 package com.doumee.service.business;
 
 import com.doumee.core.haikang.model.param.request.TransparentChannelSingleRequest;
+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.dao.business.model.Device;
@@ -26,7 +27,7 @@
      *
      * @param id 涓婚敭
      */
-    void deleteById(Integer id);
+    void deleteById(Integer id, LoginUserInfo userInfo);
 
     /**
      * 鍒犻櫎
@@ -40,7 +41,7 @@
      *
      * @param ids 涓婚敭闆�
      */
-    void deleteByIdInBatch(List<Integer> ids);
+    void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo);
 
     /**
      * 涓婚敭鏇存柊
@@ -105,4 +106,6 @@
 
     void setLedContent(TransparentChannelSingleRequest body);
     void allLedDefualtContent();
+
+    void setBroadcaseBobao(Device body);
 }
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..86fa98a 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,18 @@
 package com.doumee.service.business.impl;
 
+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.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 +55,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 +82,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 +252,22 @@
     }
 
     @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 void setLedContent(TransparentChannelSingleRequest model) {
         Device device = findById(model.getDeviceId());
         if(device == null

--
Gitblit v1.9.3