liukangdong
2024-09-30 dc47b7074e738339181563ec5f25cddd46cd22fa
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已添加2个文件
已修改15个文件
392 ■■■■ 文件已修改
admin/src/api/business/platformBroadcastLog.js 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaDeviceLedWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/platformBroadcastLog.vue 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBroadcastLogCloudController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBroadcastLogServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/platformBroadcastLog.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
import request from '../../utils/request'
// æŸ¥è¯¢
export function fetchList (data) {
  return request.post('/visitsAdmin/cloudService/business/platformBroadcastLog/page', data, {
    trim: true
  })
}
// èŽ·å–é—¨ç¦é›†åˆ-提供给门禁组
export function getList (data) {
  return request.post('/visitsAdmin/cloudService/business/platformBroadcastLog/getList', data)
}
export function getDeviceRoleList (data) {
  return request.post('/visitsAdmin/cloudService/business/platformBroadcastLogRole/list', data)
}
// ä¿®æ”¹
export function updateById (data) {
  return request.post('/visitsAdmin/cloudService/business/platformBroadcastLog/updateById', data)
}
admin/src/components/business/OperaDeviceLedWindow.vue
@@ -9,7 +9,7 @@
            <el-form-item label="显示内容" prop="title">
                <el-input v-model="form.title" placeholder="请输入LED屏显示内容" v-trim/>
            </el-form-item>
            <el-form-item label="播放速度" prop="title">
            <el-form-item label="播放速度" prop="speed">
                <el-input type="number" v-model="form.speed" placeholder="请输入播放速度(大于0数字)" v-trim/>
            </el-form-item>
        </el-form>
admin/src/views/business/platformBroadcastLog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,154 @@
<template>
    <TableLayout :permissions="['business:platformbroadcastlog:query']">
        <!-- æœç´¢è¡¨å• -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="" prop="name">
                <el-input v-model="searchForm.name" placeholder="请输入标题" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="" prop="content">
                <el-input v-model="searchForm.content" placeholder="请输入内容" @keypress.enter.native="search"></el-input>
            </el-form-item>
            <el-form-item label="" prop="personType">
                <el-select v-model="searchForm.deviceType" placeholder="请选择设备类型">
                    <el-option label="广播" value="0"></el-option>
                    <el-option label="LED" value="1"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="" prop="eventType">
                <el-select v-model="searchForm.hkStatus" placeholder="请选择下发状态">
                    <el-option label="待下发" value="0"></el-option>
                    <el-option label="下发中" value="1"></el-option>
                    <el-option label="下发成功" value="2"></el-option>
                    <el-option label="下发失败" value="3"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="起止时间" prop="eventType">
                <el-date-picker
                    @change="seleTime"
                    v-model="time"
                    type="datetimerange"
                    format="yyyy-MM-dd HH:mm:ss"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    range-separator="至"
                    start-placeholder="开始时间"
                    end-placeholder="结束时间">
                </el-date-picker>
            </el-form-item>
            <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
                <el-radio-button label="0">当天</el-radio-button>
                <el-radio-button label="1">近7天</el-radio-button>
                <el-radio-button label="2">近30天</el-radio-button>
            </el-radio-group>
            <section>
                <el-button type="primary" @click="search">搜索</el-button>
                <el-button @click="reset">重置</el-button>
            </section>
        </el-form>
        <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
        <template v-slot:table-wrap>
            <ul class="toolbar" v-permissions="['business:platformbroadcastlog:exportExcel']">
<!--
                <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:platformbroadcastlog:exportExcel']" @click="exportExcel">导出</el-button></li>
-->
            </ul>
            <el-table
                v-loading="isWorking.search"
                :data="tableData.list"
                stripe
            >
                <el-table-column prop="deviceType" label="设备类型" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.deviceType == 0">广播</span>
                        <span v-if="row.deviceType == 1">LED</span>
                    </template>
                </el-table-column>
                <el-table-column prop="hkStatus" label="下发状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.hkStatus == 0" style="color: #0c6ce3">待下发</span>
                        <span v-if="row.hkStatus == 1" style="color: #0c6ce3">下发中</span>
                        <span v-if="row.hkStatus == 2" style="color: green">下发成功</span>
                        <span v-if="row.hkStatus == 3" style="color: red">下发失败</span>
                    </template>
                </el-table-column>
                <el-table-column prop="name" label="标题" min-width="100px"></el-table-column>
                <el-table-column prop="info" label="内容" min-width="100px"></el-table-column>
                <el-table-column prop="ids" label="设备编码" min-width="100px"></el-table-column>
                <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="创建时间" min-width="100px"></el-table-column>
            </el-table>
            <pagination
                @size-change="handleSizeChange"
                @current-change="handlePageChange"
                :pagination="tableData.pagination"
            >
            </pagination>
        </template>
    </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import { timeForMat } from '@/utils/util'
export default {
  name: 'DeviceEvent',
  extends: BaseTable,
  components: { TableLayout, Pagination },
  data () {
    return {
      // æœç´¢
      searchForm: {
        name: '',
        info: '',
        deviceType: '',
        hkStatus: '',
        startTime: '',
        endTime: '',
        radio: 0
      },
      time: []
    }
  },
  created () {
    this.config({
      module: 'LED广播播放记录',
      api: '/business/platformBroadcastLog',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.changeRadio('0')
  },
  methods: {
    changeRadio (e) {
      if (e === '0') {
        this.searchForm.startTime = timeForMat(0)[0]
        this.searchForm.endTime = timeForMat(0)[1]
        this.time = timeForMat(0)
      } else if (e === '1') {
        this.searchForm.startTime = timeForMat(6)[0]
        this.searchForm.endTime = timeForMat(6)[1]
        this.time = timeForMat(6)
      } else if (e === '2') {
        this.searchForm.startTime = timeForMat(29)[0]
        this.searchForm.endTime = timeForMat(29)[1]
        this.time = timeForMat(29)
      }
      this.search()
    },
    seleTime (e) {
      this.searchForm.startTime = e[0]
      this.searchForm.endTime = e[1]
      this.searchForm.radio = null
      this.search()
    },
    reset () {
      this.$refs.searchForm.resetFields()
      this.time = []
      this.searchForm.radio = '0'
      this.changeRadio('0')
      this.search()
    }
  }
}
</script>
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java
@@ -25,6 +25,8 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
@@ -32,6 +34,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -43,6 +46,7 @@
 */
@Api(tags = "海康数据同步接口")
@RestController
@Slf4j
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/hksync")
public class HkSyncCloudController extends BaseController {
@@ -186,6 +190,31 @@
        String result = hkSyncPushService.dealPlatformCarsEvent(param,response);
        return ApiResponse.success(result);
    }
    @ApiOperation("【海康test】月台车辆状态事件订阅推送对接处理接口")
    @PostMapping("/push/platform/carstatusTest")
    @LoginNoRequired
    public ApiResponse pushPlatformCarStatus(HttpServletRequest request, HttpServletResponse response ){
        doPringParam(request,"【海康test】月台车辆状态事件订阅推送对接处理接口:\n");
         return ApiResponse.success(null);
    }
    public   void doPringParam(HttpServletRequest request,String name) {
        try {
            StringBuilder data =new StringBuilder();
            String line;
            BufferedReader reader =request.getReader();
            while(null !=(line = reader.readLine())) {
                data.append(line);
            }
            if(StringUtils.isNotBlank( data.toString())){
                log.info(name+"=================参数:"+ data.toString());
            }else {
                log.info(name+"=================:参数为空");
            }
        }catch (Exception e){
            log.info(name+"================= å‚数异常:"+e.getMessage());
        }
    }
    @PreventRepeat
    @ApiOperation("【海康】取消订阅事件")
    @PostMapping("/cancelEventSub")
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBroadcastLogCloudController.java
@@ -1,6 +1,7 @@
package com.doumee.cloud.admin;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
@@ -11,7 +12,6 @@
import com.doumee.service.business.PlatformBroadcastLogService;
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;
@@ -34,14 +34,14 @@
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:platformbroadcastlog:create")
    @CloudRequiredPermission("business:platformbroadcastlog:create")
    public ApiResponse create(@RequestBody PlatformBroadcastLog platformBroadcastLog) {
        return ApiResponse.success(platformBroadcastLogService.create(platformBroadcastLog));
    }
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:platformbroadcastlog:delete")
    @CloudRequiredPermission("business:platformbroadcastlog:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        platformBroadcastLogService.deleteById(id);
        return ApiResponse.success(null);
@@ -49,7 +49,7 @@
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("business:platformbroadcastlog:delete")
    @CloudRequiredPermission("business:platformbroadcastlog:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
@@ -62,7 +62,7 @@
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @RequiresPermissions("business:platformbroadcastlog:update")
    @CloudRequiredPermission("business:platformbroadcastlog:update")
    public ApiResponse updateById(@RequestBody PlatformBroadcastLog platformBroadcastLog) {
        platformBroadcastLogService.updateById(platformBroadcastLog);
        return ApiResponse.success(null);
@@ -70,21 +70,21 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:platformbroadcastlog:query")
    @CloudRequiredPermission("business:platformbroadcastlog:query")
    public ApiResponse<PageData<PlatformBroadcastLog>> findPage (@RequestBody PageWrap<PlatformBroadcastLog> pageWrap) {
        return ApiResponse.success(platformBroadcastLogService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:platformbroadcastlog:exportExcel")
    @CloudRequiredPermission("business:platformbroadcastlog:exportExcel")
    public void exportExcel (@RequestBody PageWrap<PlatformBroadcastLog> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(PlatformBroadcastLog.class).export(platformBroadcastLogService.findPage(pageWrap).getRecords(), "月台_LED和广播提醒下发记录", response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:platformbroadcastlog:query")
    @CloudRequiredPermission("business:platformbroadcastlog:query")
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(platformBroadcastLogService.findById(id));
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/WmsPushCloudTestController.java
@@ -70,7 +70,7 @@
        return new WmsBaseResponse();
    }
    private void doPringParam(HttpServletRequest request,String name) {
    public static void doPringParam(HttpServletRequest request,String name) {
        try {
            StringBuilder data =new StringBuilder();
            String line;
server/visits/dmvisit_admin/src/main/java/com/doumee/service/impl/HkSyncEventServiceImpl.java
@@ -116,7 +116,7 @@
        param.setEventDest(path+"/platform/workstatus");
        param.setEventTypes(new Integer[]{HKConstants.EventTypes.PLATFORM_WORKSTATUS.getKey()});
        HKService.cancelEventSub(param);//先取消
        HKService.eventSub(param);//月台工作状态事件
//        HKService.eventSub(param);//月台工作状态事件
        param.setEventDest(path+"/platform/carstatus");
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -27,11 +27,12 @@
    public static final String ARTEMIS_PATH = "/artemis";
    /**
     * å¿«æ·èœå•跳转页面参数
     * 1、综合安防:zhaf
     * 2、物业后勤:wyhq
     * 3、行政办公:xzbg
     * 4、运营中心:yyzx
     å•点登录模块菜单标识:
     1、安防中心:afzx
     2、消控中心:xkzx
     3、能管中心:ngzx
     4、驾驶舱:jsc
     5、考勤管理:kqgl
     *
     * 1、安防中心:afzx
     * 2、消控中心:xkzx
@@ -39,12 +40,10 @@
     */
    public interface MenuPageId{
        String afzx = "afzx";//安防中心
        String zhaf = "zhaf";//消控中心
        String xkzx = "xkzx";//消控中心
        String ngzx = "ngzx";//能管中心
        String wyhq = "wyhq";//物业后勤
        String xkzx = "xkzx";//综合安防
        String xzbg = "xzbg";//行政办公
        String yyzx = "yyzx";//运营中心
        String jsc = "jsc";//物业后勤
        String kqgl = "kqgl";//考勤管理
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsDataRequest.java
@@ -1,12 +1,16 @@
package com.doumee.core.haikang.model.param.request.event.parks;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
@Data
public class EventPlatformCarsDataRequest {
    private  EventPlatformCarsStatusInfoRequest  HPVehicleStatus;//
     @JSONField(name="HPVehicleStatus")
     @JsonProperty(value = "HPVehicleStatus")
    private  EventPlatformCarsStatusInfoRequest  hPVehicleStatus;//
    private  EventPlatformAttrInfoRequest targetAttrs;//
   private String dataType;//HPVehicleStatus
        private String sendTime;//2017-04-22T15:39:01.000+08:00
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/parks/EventPlatformCarsStatusInfoRequest.java
@@ -1,18 +1,26 @@
package com.doumee.core.haikang.model.param.request.event.parks;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class EventPlatformCarsStatusInfoRequest {
    private String HPNo;// 1,车道号
    @JSONField(name="HPNo")
    @JsonProperty(value = "HPNo")
    private String hPNo;// 1,车道号
    private Integer plateScore;//: 80车牌评分
    private String motionStatus;//'leave',运动状态  enter#进入,leave#离开
    private String plateNo;//'A12345',车牌号
    private String vehicleDoorStatus;//'open',车门状态  open-开门,close-关门
    private String stockStatus;//'rear',车头车尾状态  Â front#车头,rear#车尾
    private EventImageInfoRequest BackgroundImage;//月台背景大图
    private EventImageInfoRequest PlatePicture;//车牌图
    @JSONField(name="BackgroundImage")
    @JsonProperty(value = "BackgroundImage")
    private EventImageInfoRequest backgroundImage;//月台背景大图
    @JSONField(name="PlatePicture")
    @JsonProperty(value = "PlatePicture")
    private EventImageInfoRequest platePicture;//车牌图
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1069,13 +1069,15 @@
     * @return
     */
    public  static  String   getMenuUrl(Integer type,String token){
        String menuId = HKConstants.MenuPageId.zhaf;
        String menuId = HKConstants.MenuPageId.afzx;
        if(Constants.equalsInteger(type,Constants.ONE)){
            menuId = HKConstants.MenuPageId.wyhq;
            menuId = HKConstants.MenuPageId.xkzx;
        }else  if(Constants.equalsInteger(type,Constants.TWO)){
            menuId = HKConstants.MenuPageId.xzbg;
            menuId = HKConstants.MenuPageId.ngzx;
        }else  if(Constants.equalsInteger(type,Constants.THREE)){
            menuId = HKConstants.MenuPageId.yyzx;
            menuId = HKConstants.MenuPageId.jsc;
        }else  if(Constants.equalsInteger(type,Constants.FOUR)){
            menuId = HKConstants.MenuPageId.kqgl;
        }
        log.info("【海康获取工作台菜单免密登陆调整地址】================开始====menuId:"+menuId+"==token:"+token);
        try {
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -100,4 +101,12 @@
    @ExcelColumn(name="类型 0广播 1LED")
    private Integer deviceType;
    @ApiModelProperty(value = "开始时间")
    @TableField(exist = false)
    private Date startDate;
    @ApiModelProperty(value = "结束时间")
    @TableField(exist = false)
    private Date endDate;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -278,7 +278,8 @@
        log.setHkDate(new Date());
        log.setDeviceType(Constants.ONE);
        log.setObjType(Constants.ONE);
        log.setHkId(device.getHkId());
        log.setIds(device.getNo());
        log.setRemark(device.getName());
        if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
            log.setHkInfo("请求失败:"+JSONObject.toJSONString(response));
            log.setHkStatus(Constants.THREE);
@@ -294,5 +295,4 @@
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,屏幕内容设置失败"+(response!=null?response.getMsg():""));
        }
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBroadcastLogServiceImpl.java
@@ -4,6 +4,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PlatformBroadcastLogMapper;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.dao.business.model.PlatformBroadcastLog;
import com.doumee.service.business.PlatformBroadcastLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -98,28 +99,27 @@
                .ge(pageWrap.getModel().getEditDate() != null, PlatformBroadcastLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
                .le(pageWrap.getModel().getEditDate() != null, PlatformBroadcastLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformBroadcastLog::getIsdeleted, pageWrap.getModel().getIsdeleted())
                .eq(pageWrap.getModel().getName() != null, PlatformBroadcastLog::getName, pageWrap.getModel().getName())
                .eq(pageWrap.getModel().getRemark() != null, PlatformBroadcastLog::getRemark, pageWrap.getModel().getRemark())
                .like(pageWrap.getModel().getName() != null, PlatformBroadcastLog::getName, pageWrap.getModel().getName())
                .like(pageWrap.getModel().getRemark() != null, PlatformBroadcastLog::getRemark, pageWrap.getModel().getRemark())
                .eq(pageWrap.getModel().getObjId() != null, PlatformBroadcastLog::getObjId, pageWrap.getModel().getObjId())
                .eq(pageWrap.getModel().getObjType() != null, PlatformBroadcastLog::getObjType, pageWrap.getModel().getObjType())
                .eq(pageWrap.getModel().getNum() != null, PlatformBroadcastLog::getNum, pageWrap.getModel().getNum())
                .eq(pageWrap.getModel().getIds() != null, PlatformBroadcastLog::getIds, pageWrap.getModel().getIds())
                .eq(pageWrap.getModel().getInfo() != null, PlatformBroadcastLog::getInfo, pageWrap.getModel().getInfo())
                .like(pageWrap.getModel().getInfo() != null, PlatformBroadcastLog::getInfo, pageWrap.getModel().getInfo())
                .eq(pageWrap.getModel().getHkId() != null, PlatformBroadcastLog::getHkId, pageWrap.getModel().getHkId())
                .eq(pageWrap.getModel().getHkStatus() != null, PlatformBroadcastLog::getHkStatus, pageWrap.getModel().getHkStatus())
                .ge(pageWrap.getModel().getHkDate() != null, PlatformBroadcastLog::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate()))
                .le(pageWrap.getModel().getHkDate() != null, PlatformBroadcastLog::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate()))
                .eq(pageWrap.getModel().getHkInfo() != null, PlatformBroadcastLog::getHkInfo, pageWrap.getModel().getHkInfo())
                .eq(pageWrap.getModel().getBizType() != null, PlatformBroadcastLog::getBizType, pageWrap.getModel().getBizType())
                .eq(pageWrap.getModel().getDeviceType() != null, PlatformBroadcastLog::getDeviceType, pageWrap.getModel().getDeviceType())
        ;
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
                .eq(pageWrap.getModel().getDeviceType() != null, PlatformBroadcastLog::getDeviceType, pageWrap.getModel().getDeviceType());
            if (pageWrap.getModel().getStartDate() != null) {
                queryWrapper.lambda().ge(PlatformBroadcastLog::getCreateDate, pageWrap.getModel().getStartDate());
            }
        }
            if (pageWrap.getModel().getEndDate() != null) {
                queryWrapper.lambda().le(PlatformBroadcastLog::getCreateDate, pageWrap.getModel().getEndDate());
            }
            queryWrapper.lambda().orderByDesc(PlatformBroadcastLog::getCreateDate);
        return PageData.from(platformBroadcastLogMapper.selectPage(page, queryWrapper));
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -1507,37 +1507,43 @@
    @Override
    public List<PlatformDataListResponse> platformWorkingDataList(PlatformDataListRequest param){
        List<PlatformDataListResponse> platformDataListResponseList = new ArrayList<>();
        List<Platform> platformList = platformJoinMapper.selectList(
                new MPJLambdaWrapper<Platform>().eq(Platform::getIsdeleted,Constants.ZERO)
                .eq(Platform::getStatus,Constants.ZERO)
        );
        for (Platform platform:platformList) {
            PlatformDataListResponse platformDataListResponse  = new PlatformDataListResponse();
            platformDataListResponse.setId(platform.getId());
            platformDataListResponse.setHkId(platform.getHkId());
            platformDataListResponse.setName(platform.getName());
            platformDataListResponse.setWorkStatus(Constants.ZERO);
            //查询当前作业车辆
            PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
                    .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                    .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
                    .orderByDesc(PlatformJob::getWorkTime)
                    .last(" limit 1")
        try {
            List<Platform> platformList = platformJoinMapper.selectList(
                    new MPJLambdaWrapper<Platform>().eq(Platform::getIsdeleted,Constants.ZERO)
                            .eq(Platform::getStatus,Constants.ZERO)
            );
            if(Objects.nonNull(platformJob)){
                platformDataListResponse.setCarCode(platformJob.getCarCodeFront());
                platformDataListResponse.setWorkType(
                        Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
                                ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
                        ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE
            for (Platform platform:platformList) {
                PlatformDataListResponse platformDataListResponse  = new PlatformDataListResponse();
                platformDataListResponse.setId(platform.getId());
                platformDataListResponse.setHkId(platform.getHkId());
                platformDataListResponse.setName(platform.getName());
                platformDataListResponse.setWorkStatus(Constants.ZERO);
                //查询当前作业车辆
                PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
                        .orderByDesc(PlatformJob::getWorkTime)
                        .last(" limit 1")
                );
                platformDataListResponse.setWorkStatus(Constants.ONE);
                //查询作业时长
                platformDataListResponse.setWorkTime(
                        this.getWorkTime(platformJob)
                );
                if(Objects.nonNull(platformJob)){
                    platformDataListResponse.setCarCode(platformJob.getCarCodeFront());
                    platformDataListResponse.setWorkType(
                            Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
                                    ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
                                    ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE
                    );
                    platformDataListResponse.setWorkStatus(Constants.ONE);
                    //查询作业时长
                    platformDataListResponse.setWorkTime(
                            this.getWorkTime(platformJob)
                    );
                }
            }
        }catch (Exception e){
            System.out.println("===============================报错啦:\n");
            e.printStackTrace();
        }
        return platformDataListResponseList;
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPlatformsServiceImpl.java
@@ -35,7 +35,6 @@
 */
@Service
public class HkSyncPlatformsServiceImpl extends HkSyncBaseServiceImpl {
    @Autowired
    private PlatformMapper platformMapper;
    @Autowired
@@ -257,7 +256,6 @@
            }
        }
        return  true;
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -135,7 +135,7 @@
                //再插入最新的在厂人员
                retentionMapper.insert(retentionList);
            }
            log.error("【海康门禁事件推送】========成功=======");
            log.info("【海康门禁事件推送】========成功=======");
        }catch (Exception e) {
            log.error("【海康门禁事件推送】========失败=======:\n" + e.getMessage());
        }finally {
@@ -325,7 +325,7 @@
                //再插入最新的在厂人员
                retentionMapper.insert(retentionList);
            }
            log.error("【海康访客事件推送】========成功=======");
            log.info("【海康访客事件推送】========成功=======");
        }catch (Exception e){
            log.error("【海康访客事件推送】========失败=======:\n"+e.getMessage());
@@ -379,7 +379,7 @@
                //再插入最新的在厂人员
                retentionMapper.insert(retentionList);
            }
            log.error("【海康访客事件推送】========成功=======");
            log.info("【海康访客事件推送】========成功=======");
        }catch (Exception e){
            log.error("【海康访客事件推送】========失败=======:\n"+e.getMessage());
        }
@@ -674,7 +674,7 @@
                //再插入最新的在厂人员
                retentionMapper.insert(retentionList);
            }
            log.error("【海康停车场事件推送】========成功=======");
            log.info("【海康停车场事件推送】========成功=======");
        }catch (Exception e){
            log.error("【海康停车场事件推送】========失败=======:\n"+e.getMessage());
@@ -735,7 +735,6 @@
            event.setReleaseResult(request.getData().getInResult().getRlsResult().getReleaseResult());
            event.setReleaseResultEx(request.getData().getInResult().getRlsResult().getReleaseResultEx());
        }
        if(request.getData().getPicUrl()!=null){
            //车辆和和车牌照片
            event.setVehiclePicUrl(getHkImgUrl(request.getData().getPicUrl().getVehiclePicUrl()));
@@ -770,9 +769,7 @@
                delRetentionList.add(event.getPlateNos());
            }
        }
        return event;
    }
    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
@@ -783,7 +780,6 @@
        retention.setType(Constants.THREE);
//        retention.setDeviceName(request.getSrcName());
//        retention.setDeviceIndex(request.getSrcIndex());
        return retention;
    }
@@ -843,7 +839,7 @@
                    }
            }
            result = "成功";
            log.error("【海康月台工作状态事件推送】========成功=======");
            log.info("【海康月台工作状态事件推送】========成功=======");
        }catch (Exception e) {
            result = "失败"+e.getMessage();
            log.error("【海康月台工作状态事件推送】========失败=======:\n" + e.getMessage());
@@ -941,7 +937,7 @@
                platformEventMapper.insert(eventList);
            }
            result = "成功";
            log.error("【海康月台车辆状态事件推送】========成功=======");
            log.info("【海康月台车辆状态事件推送】========成功=======");
        }catch (Exception e) {
            result = "失败"+e.getMessage();
            log.error("【海康月台车辆状态事件推送】========失败=======:\n" + e.getMessage());
@@ -1062,6 +1058,7 @@
        content = content.replace("${param2}",model.getCarCodeFront());
        List<String> broadcastList = new ArrayList<>();
        List<String> ledList = new ArrayList<>();
        String bNames = "";
        List<PlatformBroadcastLog> logList = new ArrayList<>();
        for(PlatformDevice device : deviceList){
            if(StringUtils.isNotBlank(device.getHkId())){
@@ -1075,6 +1072,7 @@
                log.setHkDate(new Date());
                log.setObjType(Constants.ONE);
                log.setIds(device.getHkNo());
                log.setRemark(device.getName());
                log.setInfo(content);
                log.setNum(Constants.ONE);
                BaseResponse response = dealLedContentBiz(device.getHkNo(),content,speed,1);
@@ -1091,6 +1089,7 @@
                ledList.add(device.getHkId());
            }else  if(Constants.equalsInteger(device.getType(),Constants.ZERO)){
                //如果是广播点
                bNames += device.getName()+";";
                broadcastList.add(device.getHkId());
            }
        }
@@ -1104,6 +1103,7 @@
            log.setHkDate(new Date());
            log.setObjType(Constants.ONE);
            log.setInfo(content1);
            log.setRemark(bNames);
            log.setNum(Constants.ONE);
            log.setIds(String.join(",",broadcastList));
            CustomBroadcastRequest request = new CustomBroadcastRequest();