From 7ca61e4280150ddcead8a49d58ed154f4581f8c9 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 28 六月 2024 10:17:22 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformMapper.java                           |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformDeviceService.java                |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformShowParam.java                  |   66 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformQueueMapper.java                      |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java                     |   82 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBroadcastLogServiceImpl.java |  131 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java          |  181 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformQueue.java                      |  102 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java        |  131 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java               |   91 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformInterfaceLog.java               |   91 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java       |  134 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformLogService.java                   |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformShowParamService.java             |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java                |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java                  |   79 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java                        |  268 +++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsDetailCloudController.java            |   91 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformShowParamMapper.java                  |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java                     |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsDetailServiceImpl.java    |  124 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformService.java                      |   97 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java                |   91 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsDetailMapper.java                  |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformShowParamServiceImpl.java    |  121 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBroadcastLogMapper.java               |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformDeviceServiceImpl.java       |  125 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformQueueService.java                 |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBroadcastLogService.java          |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java                        |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformInterfaceLogMapper.java               |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformGroupMapper.java                      |   12 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBroadcastLogCloudController.java         |   91 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBooksMapper.java                      |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java        |  121 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformGroupService.java                 |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java               |  103 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java                      |  104 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java                        |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsDetailService.java             |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java                           |  132 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java                     |  112 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java                   |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java                 |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java             |  138 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java                      |   66 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java                     |   12 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java                        |   98 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformQueueServiceImpl.java        |  130 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java |  128 +
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java               |   91 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java          |   97 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformLogServiceImpl.java          |  129 +
 53 files changed, 4,659 insertions(+), 0 deletions(-)

diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
new file mode 100644
index 0000000..dd1490d
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBooksCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.PlatformBooks;
+import com.doumee.service.business.PlatformBooksService;
+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.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Api(tags = "鏈堝彴鍏ュ洯棰勭害淇℃伅琛�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platformBooks")
+public class PlatformBooksCloudController extends BaseController {
+
+    @Autowired
+    private PlatformBooksService platformBooksService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:platformbooks:create")
+    public ApiResponse create(@RequestBody PlatformBooks platformBooks) {
+        return ApiResponse.success(platformBooksService.create(platformBooks));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:platformbooks:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        platformBooksService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:platformbooks: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));
+        }
+        platformBooksService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:platformbooks:update")
+    public ApiResponse updateById(@RequestBody PlatformBooks platformBooks) {
+        platformBooksService.updateById(platformBooks);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:platformbooks:query")
+    public ApiResponse<PageData<PlatformBooks>> findPage (@RequestBody PageWrap<PlatformBooks> pageWrap) {
+        return ApiResponse.success(platformBooksService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:platformbooks:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<PlatformBooks> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(PlatformBooks.class).export(platformBooksService.findPage(pageWrap).getRecords(), "鏈堝彴鍏ュ洯棰勭害淇℃伅琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:platformbooks:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(platformBooksService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBroadcastLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBroadcastLogCloudController.java
new file mode 100644
index 0000000..0b7d416
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformBroadcastLogCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.PlatformBroadcastLog;
+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;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Api(tags = "鏈堝彴_LED鍜屽箍鎾彁閱掍笅鍙戣褰�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platformBroadcastLog")
+public class PlatformBroadcastLogCloudController extends BaseController {
+
+    @Autowired
+    private PlatformBroadcastLogService platformBroadcastLogService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:platformbroadcastlog:create")
+    public ApiResponse create(@RequestBody PlatformBroadcastLog platformBroadcastLog) {
+        return ApiResponse.success(platformBroadcastLogService.create(platformBroadcastLog));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:platformbroadcastlog:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        platformBroadcastLogService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:platformbroadcastlog: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));
+        }
+        platformBroadcastLogService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:platformbroadcastlog:update")
+    public ApiResponse updateById(@RequestBody PlatformBroadcastLog platformBroadcastLog) {
+        platformBroadcastLogService.updateById(platformBroadcastLog);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("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")
+    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")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(platformBroadcastLogService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java
new file mode 100644
index 0000000..4104693
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformDeviceCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.PlatformDevice;
+import com.doumee.service.business.PlatformDeviceService;
+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.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Api(tags = "鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platformDevice")
+public class PlatformDeviceCloudController extends BaseController {
+
+    @Autowired
+    private PlatformDeviceService platformDeviceService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:platformdevice:create")
+    public ApiResponse create(@RequestBody PlatformDevice platformDevice) {
+        return ApiResponse.success(platformDeviceService.create(platformDevice));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:platformdevice:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        platformDeviceService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:platformdevice: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));
+        }
+        platformDeviceService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:platformdevice:update")
+    public ApiResponse updateById(@RequestBody PlatformDevice platformDevice) {
+        platformDeviceService.updateById(platformDevice);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:platformdevice:query")
+    public ApiResponse<PageData<PlatformDevice>> findPage (@RequestBody PageWrap<PlatformDevice> pageWrap) {
+        return ApiResponse.success(platformDeviceService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:platformdevice:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<PlatformDevice> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(PlatformDevice.class).export(platformDeviceService.findPage(pageWrap).getRecords(), "鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:platformdevice:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(platformDeviceService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsDetailCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsDetailCloudController.java
new file mode 100644
index 0000000..c38e3f1
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsDetailCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+import com.doumee.service.business.PlatformWmsDetailService;
+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.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Api(tags = "鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platformWmsDetail")
+public class PlatformWmsDetailCloudController extends BaseController {
+
+    @Autowired
+    private PlatformWmsDetailService platformWmsDetailService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:platformwmsdetail:create")
+    public ApiResponse create(@RequestBody PlatformWmsDetail platformWmsDetail) {
+        return ApiResponse.success(platformWmsDetailService.create(platformWmsDetail));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:platformwmsdetail:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        platformWmsDetailService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:platformwmsdetail: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));
+        }
+        platformWmsDetailService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:platformwmsdetail:update")
+    public ApiResponse updateById(@RequestBody PlatformWmsDetail platformWmsDetail) {
+        platformWmsDetailService.updateById(platformWmsDetail);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:platformwmsdetail:query")
+    public ApiResponse<PageData<PlatformWmsDetail>> findPage (@RequestBody PageWrap<PlatformWmsDetail> pageWrap) {
+        return ApiResponse.success(platformWmsDetailService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:platformwmsdetail:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<PlatformWmsDetail> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(PlatformWmsDetail.class).export(platformWmsDetailService.findPage(pageWrap).getRecords(), "鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:platformwmsdetail:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(platformWmsDetailService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java
new file mode 100644
index 0000000..03d84cf
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsJobCloudController.java
@@ -0,0 +1,91 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.PlatformWmsJob;
+import com.doumee.service.business.PlatformWmsJobService;
+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.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Api(tags = "鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platformWmsJob")
+public class PlatformWmsJobCloudController extends BaseController {
+
+    @Autowired
+    private PlatformWmsJobService platformWmsJobService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:platformwmsjob:create")
+    public ApiResponse create(@RequestBody PlatformWmsJob platformWmsJob) {
+        return ApiResponse.success(platformWmsJobService.create(platformWmsJob));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:platformwmsjob:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        platformWmsJobService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:platformwmsjob: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));
+        }
+        platformWmsJobService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:platformwmsjob:update")
+    public ApiResponse updateById(@RequestBody PlatformWmsJob platformWmsJob) {
+        platformWmsJobService.updateById(platformWmsJob);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:platformwmsjob:query")
+    public ApiResponse<PageData<PlatformWmsJob>> findPage (@RequestBody PageWrap<PlatformWmsJob> pageWrap) {
+        return ApiResponse.success(platformWmsJobService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:platformwmsjob:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<PlatformWmsJob> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(PlatformWmsJob.class).export(platformWmsJobService.findPage(pageWrap).getRecords(), "鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:platformwmsjob:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(platformWmsJobService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBooksMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBooksMapper.java
new file mode 100644
index 0000000..fb13a8d
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBooksMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformBooks;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformBooksMapper extends BaseMapper<PlatformBooks> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBroadcastLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBroadcastLogMapper.java
new file mode 100644
index 0000000..537e807
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformBroadcastLogMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformBroadcastLog;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformBroadcastLogMapper extends BaseMapper<PlatformBroadcastLog> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java
new file mode 100644
index 0000000..3465f3b
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformDeviceMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformDevice;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformDeviceMapper extends BaseMapper<PlatformDevice> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformGroupMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformGroupMapper.java
new file mode 100644
index 0000000..435323f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformGroupMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformGroup;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformGroupMapper extends BaseMapper<PlatformGroup> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformInterfaceLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformInterfaceLogMapper.java
new file mode 100644
index 0000000..bf6780b
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformInterfaceLogMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformInterfaceLog;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformInterfaceLogMapper extends BaseMapper<PlatformInterfaceLog> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java
new file mode 100644
index 0000000..de2d0dc
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformJobMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformJob;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformJobMapper extends BaseMapper<PlatformJob> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
new file mode 100644
index 0000000..9f9a195
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformLogMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformLog;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformLogMapper extends BaseMapper<PlatformLog> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformMapper.java
new file mode 100644
index 0000000..eb6c8c2
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.Platform;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformMapper extends BaseMapper<Platform> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformQueueMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformQueueMapper.java
new file mode 100644
index 0000000..9790510
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformQueueMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformQueue;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformQueueMapper extends BaseMapper<PlatformQueue> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformShowParamMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformShowParamMapper.java
new file mode 100644
index 0000000..064bdf9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformShowParamMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformShowParam;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformShowParamMapper extends BaseMapper<PlatformShowParam> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsDetailMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsDetailMapper.java
new file mode 100644
index 0000000..719fdbc
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsDetailMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformWmsDetailMapper extends BaseMapper<PlatformWmsDetail> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
new file mode 100644
index 0000000..e809183
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/PlatformWmsJobMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.PlatformWmsJob;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformWmsJobMapper extends BaseMapper<PlatformWmsJob> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
new file mode 100644
index 0000000..96da8e3
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
@@ -0,0 +1,132 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鏈堝彴淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴淇℃伅琛�")
+@TableName("`platform`")
+public class Platform {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+    private Integer status;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+    @ApiModelProperty(value = "鎵�灞炴湀鍙板垎閽熺紪鐮侊紙g鍏宠仈platform_group)", example = "1")
+    @ExcelColumn(name="鎵�灞炴湀鍙板垎閽熺紪鐮侊紙g鍏宠仈platform_group)")
+    private Integer groupId;
+
+    @ApiModelProperty(value = "宸ヤ綔寮�濮嬫椂闂�")
+    @ExcelColumn(name="宸ヤ綔寮�濮嬫椂闂�")
+    private String startTime;
+
+    @ApiModelProperty(value = "宸ヤ綔缁撴潫鏃堕棿")
+    @ExcelColumn(name="宸ヤ綔缁撴潫鏃堕棿")
+    private String endTime;
+
+    @ApiModelProperty(value = "鍚屾椂浣滀笟鏁伴噺", example = "1")
+    @ExcelColumn(name="鍚屾椂浣滀笟鏁伴噺")
+    private Integer workingNum;
+
+    @ApiModelProperty(value = "绛夊緟鏁欏ソ鏃堕棿(绉掞級", example = "1")
+    @ExcelColumn(name="绛夊緟鏁欏ソ鏃堕棿(绉掞級")
+    private Integer wariCallTime;
+
+    @ApiModelProperty(value = "鍋滅暀瓒呮椂鎶ヨ鏃堕棿(绉掞級", example = "1")
+    @ExcelColumn(name="鍋滅暀瓒呮椂鎶ヨ鏃堕棿(绉掞級")
+    private Integer alermTime;
+
+    @ApiModelProperty(value = "鏈�鍚庝簨浠舵帹閫佹椂闂�")
+    @ExcelColumn(name="鏈�鍚庝簨浠舵帹閫佹椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date lastEventTime;
+
+    @ApiModelProperty(value = "鐩戞帶鐐瑰悕绉帮紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    @ExcelColumn(name="鐩戞帶鐐瑰悕绉帮紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    private String deviceNames;
+
+    @ApiModelProperty(value = "鏈堝彴灞忓箷鍚嶇О锛屽涓敤鑻辨枃閫楀彿闅斿紑")
+    @ExcelColumn(name="鏈堝彴灞忓箷鍚嶇О锛屽涓敤鑻辨枃閫楀彿闅斿紑")
+    private String screenName;
+
+    @ApiModelProperty(value = "娴峰悍鏍囪瘑")
+    @ExcelColumn(name="娴峰悍鏍囪瘑")
+    private String hkId;
+
+    @ApiModelProperty(value = "鍏宠仈鎵跨鍏徃")
+    @ExcelColumn(name="鍏宠仈鎵跨鍏徃")
+    private String companys;
+
+    @ApiModelProperty(value = "X鍧愭爣", example = "1")
+    @ExcelColumn(name="X鍧愭爣")
+    private BigDecimal xpos;
+
+    @ApiModelProperty(value = "Y鍧愭爣", example = "1")
+    @ExcelColumn(name="Y鍧愭爣")
+    private BigDecimal ypos;
+
+    @ApiModelProperty(value = "瀹藉害", example = "1")
+    @ExcelColumn(name="瀹藉害")
+    private BigDecimal width;
+
+    @ApiModelProperty(value = "楂樺害", example = "1")
+    @ExcelColumn(name="楂樺害")
+    private BigDecimal height;
+
+    @ApiModelProperty(value = "瑙掑害", example = "1")
+    @ExcelColumn(name="瑙掑害")
+    private BigDecimal angle;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
new file mode 100644
index 0000000..4e04d39
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBooks.java
@@ -0,0 +1,104 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鏈堝彴鍏ュ洯棰勭害淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴鍏ュ洯棰勭害淇℃伅琛�")
+@TableName("`platform_books`")
+public class PlatformBooks {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0寰呭鎵� 1瀹℃壒涓� 2瀹℃壒閫氳繃 3瀹℃壒涓嶉�氳繃", example = "1")
+    @ExcelColumn(name="鐘舵�� 0寰呭鎵� 1瀹℃壒涓� 2瀹℃壒閫氳繃 3瀹℃壒涓嶉�氳繃")
+    private Integer status;
+
+    @ApiModelProperty(value = "鍚堝悓鍙�")
+    @ExcelColumn(name="鍚堝悓鍙�")
+    private String contractNum;
+
+    @ApiModelProperty(value = "棰勮鍒板満鏃堕棿")
+    @ExcelColumn(name="棰勮鍒板満鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date arriveDate;
+
+    @ApiModelProperty(value = "鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫", example = "1")
+    @ExcelColumn(name="鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫")
+    private Integer inType;
+
+    @ApiModelProperty(value = "鎬昏繍杈撻噺", example = "1")
+    @ExcelColumn(name="鎬昏繍杈撻噺")
+    private BigDecimal totalNum;
+
+    @ApiModelProperty(value = "鍓嶈溅鐗屽彿")
+    @ExcelColumn(name="鍓嶈溅鐗屽彿")
+    private String carCodeFront;
+
+    @ApiModelProperty(value = "鍚庤溅鐗屽彿")
+    @ExcelColumn(name="鍚庤溅鐗屽彿")
+    private String carCodeBack;
+
+    @ApiModelProperty(value = "鍙告満缂栫爜", example = "1")
+    @ExcelColumn(name="鍙告満缂栫爜")
+    private Integer driverId;
+
+    @ApiModelProperty(value = "鍙告満濮撳悕")
+    @ExcelColumn(name="鍙告満濮撳悕")
+    private String driverName;
+
+    @ApiModelProperty(value = "杞︾墝鍙�")
+    @ExcelColumn(name="杞︾墝鍙�")
+    private String plateNum;
+
+    @ApiModelProperty(value = "鍙告満鎵嬫満鍙�")
+    @ExcelColumn(name="鍙告満鎵嬫満鍙�")
+    private String drivierPhone;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java
new file mode 100644
index 0000000..54ab04c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformBroadcastLog.java
@@ -0,0 +1,103 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_LED鍜屽箍鎾彁閱掍笅鍙戣褰�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_LED鍜屽箍鎾彁閱掍笅鍙戣褰�")
+@TableName("`platform_broadcast_log`")
+public class PlatformBroadcastLog {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
+    private String objId;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0鏈堝彴浣滀笟", example = "1")
+    @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鏈堝彴浣滀笟")
+    private Integer objType;
+
+    @ApiModelProperty(value = "鎻愰啋娆℃暟", example = "1")
+    @ExcelColumn(name="鎻愰啋娆℃暟")
+    private Integer num;
+
+    @ApiModelProperty(value = "璁惧缂栫爜")
+    @ExcelColumn(name="璁惧缂栫爜")
+    private String ids;
+
+    @ApiModelProperty(value = "鎻愰啋鍐呭")
+    @ExcelColumn(name="鎻愰啋鍐呭")
+    private String info;
+
+    @ApiModelProperty(value = "娴峰悍缂栫爜")
+    @ExcelColumn(name="娴峰悍缂栫爜")
+    private String hkId;
+
+    @ApiModelProperty(value = "鎻愰啋涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触", example = "1")
+    @ExcelColumn(name="鎻愰啋涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触")
+    private Integer hkStatus;
+
+    @ApiModelProperty(value = "鎻愰啋涓嬪彂鏃堕棿")
+    @ExcelColumn(name="鎻愰啋涓嬪彂鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date hkDate;
+
+    @ApiModelProperty(value = "鎻愰啋涓嬪彂澶囨敞")
+    @ExcelColumn(name="鎻愰啋涓嬪彂澶囨敞")
+    private String hkInfo;
+
+    @ApiModelProperty(value = "涓氬姟绫诲瀷 0鏈堝彴鎺掗槦鍙彿", example = "1")
+    @ExcelColumn(name="涓氬姟绫诲瀷 0鏈堝彴鎺掗槦鍙彿")
+    private Integer bizType;
+
+    @ApiModelProperty(value = "绫诲瀷 0骞挎挱 1LED", example = "1")
+    @ExcelColumn(name="绫诲瀷 0骞挎挱 1LED")
+    private Integer deviceType;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java
new file mode 100644
index 0000000..0f5927c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformDevice.java
@@ -0,0 +1,82 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃")
+@TableName("`platform_device`")
+public class PlatformDevice {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鏈堝彴缂栫爜锛堝叧鑱攑latforms)", example = "1")
+    @ExcelColumn(name="鏈堝彴缂栫爜锛堝叧鑱攑latforms)")
+    private Integer platformId;
+
+    @ApiModelProperty(value = "璁惧娴峰悍鏍囪瘑")
+    @ExcelColumn(name="璁惧娴峰悍鏍囪瘑")
+    private String hkId;
+
+    @ApiModelProperty(value = "璁惧缂栫爜锛堝叧鑱攄evice)")
+    @ExcelColumn(name="璁惧缂栫爜锛堝叧鑱攄evice)")
+    private String deviceId;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+    @ApiModelProperty(value = "璁惧绫诲瀷 0LED 1鐩戞帶鐐� 2骞挎挱", example = "1")
+    @ExcelColumn(name="璁惧绫诲瀷 0LED 1鐩戞帶鐐� 2骞挎挱")
+    private Integer type;
+
+    @ApiModelProperty(value = "璁惧鍚嶇О")
+    @ExcelColumn(name="璁惧鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "璁惧鐘舵�� 0鍦ㄧ嚎 1绂荤嚎", example = "1")
+    @ExcelColumn(name="璁惧鐘舵�� 0鍦ㄧ嚎 1绂荤嚎")
+    private Integer status;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java
new file mode 100644
index 0000000..8540f4f
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformGroup.java
@@ -0,0 +1,66 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_鍒嗙粍淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_鍒嗙粍淇℃伅琛�")
+@TableName("`platform_group`")
+public class PlatformGroup {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+    @ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
+    private Integer status;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformInterfaceLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformInterfaceLog.java
new file mode 100644
index 0000000..3d14fd1
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformInterfaceLog.java
@@ -0,0 +1,91 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 浣滀笟璋冨害骞冲彴鎺ュ彛浜や簰璁板綍
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("浣滀笟璋冨害骞冲彴鎺ュ彛浜や簰璁板綍")
+@TableName("`platform_interface_log`")
+public class PlatformInterfaceLog {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "绫诲瀷 0璁垮绯荤粺璋冪敤 1璁垮绯荤粺鎺ュ彈鎺ㄩ��", example = "1")
+    @ExcelColumn(name="绫诲瀷 0璁垮绯荤粺璋冪敤 1璁垮绯荤粺鎺ュ彈鎺ㄩ��")
+    private Integer type;
+
+    @ApiModelProperty(value = "鎺ュ彛鍚嶇О")
+    @ExcelColumn(name="鎺ュ彛鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "鍦板潃淇℃伅")
+    @ExcelColumn(name="鍦板潃淇℃伅")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date url;
+
+    @ApiModelProperty(value = "璇锋眰鍙傛暟")
+    @ExcelColumn(name="璇锋眰鍙傛暟")
+    private String request;
+
+    @ApiModelProperty(value = "鍝嶅簲鍙傛暟")
+    @ExcelColumn(name="鍝嶅簲鍙傛暟")
+    private String repose;
+
+    @ApiModelProperty(value = "璋冪敤缁撴灉 0鎴愬姛 1澶辫触", example = "1")
+    @ExcelColumn(name="璋冪敤缁撴灉 0鎴愬姛 1澶辫触")
+    private Integer success;
+
+    @ApiModelProperty(value = "涓夋柟骞冲彴 0WMS", example = "1")
+    @ExcelColumn(name="涓夋柟骞冲彴 0WMS")
+    private Integer plat;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷  0浣滀笟", example = "1")
+    @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷  0浣滀笟")
+    private Integer objType;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
+    private String objId;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
new file mode 100644
index 0000000..7df6ac4
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -0,0 +1,268 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鏈堝彴璋冨害浣滀笟淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴璋冨害浣滀笟淇℃伅琛�")
+@TableName("`platform_job`")
+public class PlatformJob {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "鍚嶇О")
+    @ExcelColumn(name="鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙�", example = "1")
+    @ExcelColumn(name="鐘舵�� 0寰呯‘璁� 1寰呯鍒� 2绛夊緟鍙彿 3鍏ュ洯绛夊緟 4宸插彨鍙� 5浣滀笟涓� 6浣滀笟瀹屾垚 7杞Щ涓� 8寮傚父鎸傝捣 9宸叉巿鏉冪鍥� 10宸茬鍥� 11 宸茶繃鍙�")
+    private Integer status;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+    @ApiModelProperty(value = "浣滀笟鍗曞彿")
+    @ExcelColumn(name="浣滀笟鍗曞彿")
+    private String code;
+
+    @ApiModelProperty(value = "浣滀笟鍞竴鏍囪瘑(鎵胯繍鍗曞彿锛�")
+    @ExcelColumn(name="浣滀笟鍞竴鏍囪瘑(鎵胯繍鍗曞彿锛�")
+    private String billCode;
+
+    @ApiModelProperty(value = "鍙告満缂栫爜", example = "1")
+    @ExcelColumn(name="鍙告満缂栫爜")
+    private Integer driverId;
+
+    @ApiModelProperty(value = "鍙告満濮撳悕")
+    @ExcelColumn(name="鍙告満濮撳悕")
+    private String driverName;
+
+    @ApiModelProperty(value = "杞︾墝鍙�")
+    @ExcelColumn(name="杞︾墝鍙�")
+    private String plateNum;
+
+    @ApiModelProperty(value = "鍙告満鎵嬫満鍙�")
+    @ExcelColumn(name="鍙告満鎵嬫満鍙�")
+    private String drivierPhone;
+
+    @ApiModelProperty(value = "绛惧埌鏃堕棿")
+    @ExcelColumn(name="绛惧埌鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date signDate;
+
+    @ApiModelProperty(value = "绛惧埌鏂瑰紡 0app绛惧埌 1鎵爜绛惧埌", example = "1")
+    @ExcelColumn(name="绛惧埌鏂瑰紡 0app绛惧埌 1鎵爜绛惧埌")
+    private Integer singType;
+
+    @ApiModelProperty(value = "绛惧埌璺濈(绫筹級", example = "1")
+    @ExcelColumn(name="绛惧埌璺濈(绫筹級")
+    private BigDecimal signDistance;
+
+    @ApiModelProperty(value = "浣滀笟鏈堝彴鍚嶇О闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    @ExcelColumn(name="浣滀笟鏈堝彴鍚嶇О闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    private String platformNames;
+
+    @ApiModelProperty(value = "浣滀笟鏈堝彴缂栫爜闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    @ExcelColumn(name="浣滀笟鏈堝彴缂栫爜闆嗗悎锛屽涓娇鐢ㄨ嫳鏂囬�楀彿闅斿紑")
+    private String platforms;
+
+    @ApiModelProperty(value = "鏈�杩戝垎閰嶆湀鍙扮紪鐮侊紙鍏宠仈platform)", example = "1")
+    @ExcelColumn(name="鏈�杩戝垎閰嶆湀鍙扮紪鐮侊紙鍏宠仈platform)")
+    private Integer platformId;
+
+    @ApiModelProperty(value = "閫氱煡鍏ュ洯绛夊緟鏃堕棿")
+    @ExcelColumn(name="閫氱煡鍏ュ洯绛夊緟鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date inwaitDate;
+
+    @ApiModelProperty(value = "閫氱煡鍏ュ洯绛夊緟鎿嶄綔浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="閫氱煡鍏ュ洯绛夊緟鎿嶄綔浜虹紪鐮�")
+    private Integer inwaitUserId;
+
+    @ApiModelProperty(value = "鍙彿鏃堕棿")
+    @ExcelColumn(name="鍙彿鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date callDate;
+
+    @ApiModelProperty(value = "鍙彿浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍙彿浜虹紪鐮�")
+    private Integer callUserId;
+
+    @ApiModelProperty(value = "鍙彿澶囨敞")
+    @ExcelColumn(name="鍙彿澶囨敞")
+    private String callInfo;
+
+    @ApiModelProperty(value = "寮�濮嬩綔涓氭椂闂�")
+    @ExcelColumn(name="寮�濮嬩綔涓氭椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startDate;
+
+    @ApiModelProperty(value = "浣滀笟瀹屾垚鏃堕棿锛堟渶缁堟椂闂达級")
+    @ExcelColumn(name="浣滀笟瀹屾垚鏃堕棿锛堟渶缁堟椂闂达級")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date doneDate;
+
+    @ApiModelProperty(value = "寮傚父鎸傝捣鏃堕棿")
+    @ExcelColumn(name="寮傚父鎸傝捣鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date errorDate;
+
+    @ApiModelProperty(value = "寮傚父鎸傝捣浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="寮傚父鎸傝捣浜虹紪鐮�")
+    private Integer errorUserId;
+
+    @ApiModelProperty(value = "寮傚父鎸傝捣澶囨敞")
+    @ExcelColumn(name="寮傚父鎸傝捣澶囨敞")
+    private String errorInfo;
+
+    @ApiModelProperty(value = "鏈堝彴杞氦鏃堕棿")
+    @ExcelColumn(name="鏈堝彴杞氦鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date transPlatformDate;
+
+    @ApiModelProperty(value = "鏈堝彴杞氦澶勭悊浜�", example = "1")
+    @ExcelColumn(name="鏈堝彴杞氦澶勭悊浜�")
+    private Integer transPlatformUserId;
+
+    @ApiModelProperty(value = "鏈堝彴杞氦澶囨敞")
+    @ExcelColumn(name="鏈堝彴杞氦澶囨敞")
+    private String transPlatformInfo;
+
+    @ApiModelProperty(value = "杞﹁締杩涘巶鏃堕棿")
+    @ExcelColumn(name="杞﹁締杩涘巶鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date inDate;
+
+    @ApiModelProperty(value = "杞﹁締绂诲巶鏃堕棿")
+    @ExcelColumn(name="杞﹁締绂诲巶鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date outDate;
+
+    @ApiModelProperty(value = "绂诲巶鏂瑰紡 0鑷姩绂诲巶 1鎵嬪姩绂诲満", example = "1")
+    @ExcelColumn(name="绂诲巶鏂瑰紡 0鑷姩绂诲巶 1鎵嬪姩绂诲満")
+    private Integer outType;
+
+    @ApiModelProperty(value = "杞﹁締绂诲巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触", example = "1")
+    @ExcelColumn(name="杞﹁締绂诲巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触")
+    private Integer outHkstatus;
+
+    @ApiModelProperty(value = "杞﹁締绂诲巶涓嬪彂鏃堕棿")
+    @ExcelColumn(name="杞﹁締绂诲巶涓嬪彂鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date outHkdate;
+
+    @ApiModelProperty(value = "杞﹁締绂诲巶涓嬪彂澶囨敞")
+    @ExcelColumn(name="杞﹁締绂诲巶涓嬪彂澶囨敞")
+    private String outHkinfo;
+
+    @ApiModelProperty(value = "杞﹁締杩涘巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触", example = "1")
+    @ExcelColumn(name="杞﹁締杩涘巶涓嬪彂鐘舵�� 0寰呬笅鍙� 1涓嬪彂涓� 2涓嬪彂鎴愬姛 3涓嬪彂澶辫触")
+    private Integer inHkstatus;
+
+    @ApiModelProperty(value = "杞﹁締杩涘巶涓嬪彂澶囨敞")
+    @ExcelColumn(name="杞﹁締杩涘巶涓嬪彂澶囨敞")
+    private String nHkinfo;
+
+    @ApiModelProperty(value = "杞﹁締杩涘巶涓嬪彂鏃堕棿")
+    @ExcelColumn(name="杞﹁締杩涘巶涓嬪彂鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date inHkdate;
+
+    @ApiModelProperty(value = "浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣", example = "1")
+    @ExcelColumn(name="浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣")
+    private Integer type;
+
+    @ApiModelProperty(value = "鍓嶈溅鐗屽彿")
+    @ExcelColumn(name="鍓嶈溅鐗屽彿")
+    private String carCodeFront;
+
+    @ApiModelProperty(value = "鍚庤溅鐗屽彿")
+    @ExcelColumn(name="鍚庤溅鐗屽彿")
+    private String carCodeBack;
+
+    @ApiModelProperty(value = "鍙告満鎵�灞為儴闂ㄧ紪鐮�", example = "1")
+    @ExcelColumn(name="鍙告満鎵�灞為儴闂ㄧ紪鐮�")
+    private Integer companyId;
+
+    @ApiModelProperty(value = "鍙告満鎵�灞為儴闂ㄥ悕绉拌矾寰�")
+    @ExcelColumn(name="鍙告満鎵�灞為儴闂ㄥ悕绉拌矾寰�")
+    private String companyNamePath;
+
+    @ApiModelProperty(value = "浣滃簾鏃堕棿")
+    @ExcelColumn(name="浣滃簾鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date cancelDate;
+
+    @ApiModelProperty(value = "浣滃簾澶勭悊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="浣滃簾澶勭悊浜虹紪鐮�")
+    private Integer cancelUserId;
+
+    @ApiModelProperty(value = "浣滀负澶勭悊澶囨敞")
+    @ExcelColumn(name="浣滀负澶勭悊澶囨敞")
+    private String cancelInfo;
+
+    @ApiModelProperty(value = "鍏ュ洯浜嬬敱")
+    @ExcelColumn(name="鍏ュ洯浜嬬敱")
+    private String reason;
+
+    @ApiModelProperty(value = "鍚堝悓鍙�")
+    @ExcelColumn(name="鍚堝悓鍙�")
+    private String contractNum;
+
+    @ApiModelProperty(value = "棰勮鍒板満鏃堕棿")
+    @ExcelColumn(name="棰勮鍒板満鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date arriveDate;
+
+    @ApiModelProperty(value = "鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫", example = "1")
+    @ExcelColumn(name="鍏ュ簱绫诲瀷 0鏁存墭鐩� 1浠剁儫")
+    private Integer inType;
+
+    @ApiModelProperty(value = "鎬昏繍杈撻噺", example = "1")
+    @ExcelColumn(name="鎬昏繍杈撻噺")
+    private BigDecimal totalNum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java
new file mode 100644
index 0000000..75657bb
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformLog.java
@@ -0,0 +1,98 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_浣滀笟鎿嶄綔鍘嗗彶琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_浣滀笟鎿嶄綔鍘嗗彶琛�")
+@TableName("`platform_log`")
+public class PlatformLog {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鏈堝彴浣滀笟缂栫爜锛堝叧鑱攑latform_job)", example = "1")
+    @ExcelColumn(name="鏈堝彴浣滀笟缂栫爜锛堝叧鑱攑latform_job)")
+    private Integer jobId;
+
+    @ApiModelProperty(value = "鏍囬")
+    @ExcelColumn(name="鏍囬")
+    private String title;
+
+    @ApiModelProperty(value = "绠�浠�")
+    @ExcelColumn(name="绠�浠�")
+    private String content;
+
+    @ApiModelProperty(value = "鎿嶄綔绫诲瀷 0浠诲姟鍒涘缓 1鍙告満纭浠诲姟 2鍙告満绛惧埌 3鍏ュ洯绛夊緟 4鏈堝彴鍙彿 5寮�濮嬩綔涓� 6浣滀笟瀹屾垚 7鏈堝彴杞Щ 8浠诲姟鎸傝捣 9涓嬪彂鎺堟潈绂诲洯 10绂诲洯", example = "1")
+    @ExcelColumn(name="鎿嶄綔绫诲瀷 0浠诲姟鍒涘缓 1鍙告満纭浠诲姟 2鍙告満绛惧埌 3鍏ュ洯绛夊緟 4鏈堝彴鍙彿 5寮�濮嬩綔涓� 6浣滀笟瀹屾垚 7鏈堝彴杞Щ 8浠诲姟鎸傝捣 9涓嬪彂鎺堟潈绂诲洯 10绂诲洯")
+    private Integer objType;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
+    private String objId;
+
+    @ApiModelProperty(value = "鎿嶄綔鍓嶅唴瀹�")
+    @ExcelColumn(name="鎿嶄綔鍓嶅唴瀹�")
+    private String beforeContent;
+
+    @ApiModelProperty(value = "鎿嶄綔鍚庡唴瀹�")
+    @ExcelColumn(name="鎿嶄綔鍚庡唴瀹�")
+    private String afterContent;
+
+    @ApiModelProperty(value = "鍙傛暟1")
+    @ExcelColumn(name="鍙傛暟1")
+    private String param1;
+
+    @ApiModelProperty(value = "鍙傛暟2")
+    @ExcelColumn(name="鍙傛暟2")
+    private String param2;
+
+    @ApiModelProperty(value = "鍙傛暟3")
+    @ExcelColumn(name="鍙傛暟3")
+    private String param3;
+
+    @ApiModelProperty(value = "鍙傛暟4")
+    @ExcelColumn(name="鍙傛暟4")
+    private String param4;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformQueue.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformQueue.java
new file mode 100644
index 0000000..4bee734
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformQueue.java
@@ -0,0 +1,102 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_鍙彿鎺掗槦淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_鍙彿鎺掗槦淇℃伅琛�")
+@TableName("`platform_queue`")
+public class PlatformQueue {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鏈堝彴浣滀笟缂栫爜锛堝叧鑱攑latform_job)", example = "1")
+    @ExcelColumn(name="鏈堝彴浣滀笟缂栫爜锛堝叧鑱攑latform_job)")
+    private Integer jobId;
+
+    @ApiModelProperty(value = "绠�浠�")
+    @ExcelColumn(name="绠�浠�")
+    private String content;
+
+    @ApiModelProperty(value = "鐘舵�� 0绛夊緟涓� 1鍙彿涓� 2浣滀笟涓�", example = "1")
+    @ExcelColumn(name="鐘舵�� 0绛夊緟涓� 1鍙彿涓� 2浣滀笟涓�")
+    private Integer status;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜 0鏈堝彴浣滀笟", example = "1")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜 0鏈堝彴浣滀笟")
+    private Integer objType;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜", example = "1")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜")
+    private Integer objId;
+
+    @ApiModelProperty(value = "杞︾墝鍙�")
+    @ExcelColumn(name="杞︾墝鍙�")
+    private String carCode;
+
+    @ApiModelProperty(value = "鏈堝彴缂栫爜", example = "1")
+    @ExcelColumn(name="鏈堝彴缂栫爜")
+    private Integer platformId;
+
+    @ApiModelProperty(value = "鏈堝彴鍚嶇О")
+    @ExcelColumn(name="鏈堝彴鍚嶇О")
+    private String platformName;
+
+    @ApiModelProperty(value = "鍙告満鎵嬫満鍙�")
+    @ExcelColumn(name="鍙告満鎵嬫満鍙�")
+    private String driverPhone;
+
+    @ApiModelProperty(value = "鍙告満鍚�")
+    @ExcelColumn(name="鍙告満鍚�")
+    private String driverName;
+
+    @ApiModelProperty(value = "鍙告満缂栫爜", example = "1")
+    @ExcelColumn(name="鍙告満缂栫爜")
+    private Integer driverId;
+
+    @ApiModelProperty(value = "璁㈠崟鍚堝悓鍙�")
+    @ExcelColumn(name="璁㈠崟鍚堝悓鍙�")
+    private String orderCode;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformShowParam.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformShowParam.java
new file mode 100644
index 0000000..3e3c96d
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformShowParam.java
@@ -0,0 +1,66 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_鏄剧ず閰嶇疆淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_鏄剧ず閰嶇疆淇℃伅琛�")
+@TableName("`platform_show_param`")
+public class PlatformShowParam {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鏈堝彴缂栫爜锛堝叧鑱攑latforms)", example = "1")
+    @ExcelColumn(name="鏈堝彴缂栫爜锛堝叧鑱攑latforms)")
+    private Integer platformId;
+
+    @ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎ember)", example = "1")
+    @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎ember)")
+    private Integer memberId;
+
+    @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+    @ExcelColumn(name="鎺掑簭鐮�")
+    private Integer sortnum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
new file mode 100644
index 0000000..c9de2b1
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsDetail.java
@@ -0,0 +1,79 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁�
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁�")
+@TableName("`platform_wms_detail`")
+public class PlatformWmsDetail {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "琛屾暟鎹紪鐮侊紙鍏宠仈platform_wms_job)", example = "1")
+    @ExcelColumn(name="琛屾暟鎹紪鐮侊紙鍏宠仈platform_wms_job)")
+    private Integer jobId;
+
+    @ApiModelProperty(value = "閫氱煡鍗曞彿")
+    @ExcelColumn(name="閫氱煡鍗曞彿")
+    private String iocode;
+
+    @ApiModelProperty(value = "鐗╂枡鍚嶇О")
+    @ExcelColumn(name="鐗╂枡鍚嶇О")
+    private String materialName;
+
+    @ApiModelProperty(value = "渚涘簲鍟�")
+    @ExcelColumn(name="渚涘簲鍟�")
+    private String inRepertotyCode;
+
+    @ApiModelProperty(value = "璁″垝鏀惰揣鏁伴噺", example = "1")
+    @ExcelColumn(name="璁″垝鏀惰揣鏁伴噺")
+    private BigDecimal ioQty;
+
+    @ApiModelProperty(value = "鐗╂枡杞崲鐜�")
+    @ExcelColumn(name="鐗╂枡杞崲鐜�")
+    private String rate;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
new file mode 100644
index 0000000..e07bf62
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformWmsJob.java
@@ -0,0 +1,112 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Data
+@ApiModel("鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁")
+@TableName("`platform_wms_job`")
+public class PlatformWmsJob {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "鏈堝彴浣滀笟缂栫爜锛堝叧鑱攑latform_job)", example = "1")
+    @ExcelColumn(name="鏈堝彴浣滀笟缂栫爜锛堝叧鑱攑latform_job)")
+    private Integer jobId;
+
+    @ApiModelProperty(value = "閫氱煡鍗曞彿")
+    @ExcelColumn(name="閫氱煡鍗曞彿")
+    private String iocode;
+
+    @ApiModelProperty(value = "浣滀笟绫诲瀷  0鍏ュ簱 1鍑哄簱", example = "1")
+    @ExcelColumn(name="浣滀笟绫诲瀷  0鍏ュ簱 1鍑哄簱")
+    private Integer type;
+
+    @ApiModelProperty(value = "鍙告満鐢佃瘽")
+    @ExcelColumn(name="鍙告満鐢佃瘽")
+    private String driverPhone;
+
+    @ApiModelProperty(value = "鍙告満濮撳悕")
+    @ExcelColumn(name="鍙告満濮撳悕")
+    private String driverName;
+
+    @ApiModelProperty(value = "鎵胯繍鍟�")
+    @ExcelColumn(name="鎵胯繍鍟�")
+    private String carrierName;
+
+    @ApiModelProperty(value = "鎵胯繍鍗曞彿")
+    @ExcelColumn(name="鎵胯繍鍗曞彿")
+    private String carryBillCode;
+
+    @ApiModelProperty(value = "閫氱煡鍒涘缓鏃ユ湡")
+    @ExcelColumn(name="閫氱煡鍒涘缓鏃ユ湡")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date ioCreatedate;
+
+    @ApiModelProperty(value = "鐘舵�� 0鏈鐞� 1宸插鐞� 2宸插彇娑�", example = "1")
+    @ExcelColumn(name="鐘舵�� 0鏈鐞� 1宸插鐞� 2宸插彇娑�")
+    private Integer status;
+
+    @ApiModelProperty(value = "鍙栨秷鏃堕棿")
+    @ExcelColumn(name="鍙栨秷鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date cancelDate;
+
+    @ApiModelProperty(value = "鍙栨秷澶囨敞")
+    @ExcelColumn(name="鍙栨秷澶囨敞")
+    private String cancelInfo;
+
+    @ApiModelProperty(value = "杞︾墝鍙�")
+    @ExcelColumn(name="杞︾墝鍙�")
+    private String plateNumber;
+
+    @ApiModelProperty(value = "鏀惰揣鍦�")
+    @ExcelColumn(name="鏀惰揣鍦�")
+    private String repertotyAddress;
+
+    @ApiModelProperty(value = "鍚堝悓鍙穈")
+    @ExcelColumn(name="鍚堝悓鍙穈")
+    private String contractNum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java
new file mode 100644
index 0000000..baaf67e
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBooksService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformBooks;
+import java.util.List;
+
+/**
+ * 鏈堝彴鍏ュ洯棰勭害淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformBooksService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformBooks 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformBooks platformBooks);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformBooks 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformBooks platformBooks);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformBooks 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformBooks platformBooks);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformBookss 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformBooks> platformBookss);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformBooks
+     */
+    PlatformBooks findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformBooks 瀹炰綋瀵硅薄
+     * @return PlatformBooks
+     */
+    PlatformBooks findOne(PlatformBooks platformBooks);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformBooks 瀹炰綋瀵硅薄
+     * @return List<PlatformBooks>
+     */
+    List<PlatformBooks> findList(PlatformBooks platformBooks);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformBooks>
+     */
+    PageData<PlatformBooks> findPage(PageWrap<PlatformBooks> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformBooks 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformBooks platformBooks);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBroadcastLogService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBroadcastLogService.java
new file mode 100644
index 0000000..d33ad3a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformBroadcastLogService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformBroadcastLog;
+import java.util.List;
+
+/**
+ * 鏈堝彴_LED鍜屽箍鎾彁閱掍笅鍙戣褰昐ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformBroadcastLogService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformBroadcastLog 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformBroadcastLog platformBroadcastLog);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformBroadcastLog 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformBroadcastLog platformBroadcastLog);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformBroadcastLog 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformBroadcastLog platformBroadcastLog);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformBroadcastLogs 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformBroadcastLog> platformBroadcastLogs);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformBroadcastLog
+     */
+    PlatformBroadcastLog findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformBroadcastLog 瀹炰綋瀵硅薄
+     * @return PlatformBroadcastLog
+     */
+    PlatformBroadcastLog findOne(PlatformBroadcastLog platformBroadcastLog);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformBroadcastLog 瀹炰綋瀵硅薄
+     * @return List<PlatformBroadcastLog>
+     */
+    List<PlatformBroadcastLog> findList(PlatformBroadcastLog platformBroadcastLog);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformBroadcastLog>
+     */
+    PageData<PlatformBroadcastLog> findPage(PageWrap<PlatformBroadcastLog> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformBroadcastLog 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformBroadcastLog platformBroadcastLog);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformDeviceService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformDeviceService.java
new file mode 100644
index 0000000..3b3522a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformDeviceService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformDevice;
+import java.util.List;
+
+/**
+ * 鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformDeviceService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformDevice 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformDevice platformDevice);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformDevice 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformDevice platformDevice);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformDevice 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformDevice platformDevice);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformDevices 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformDevice> platformDevices);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformDevice
+     */
+    PlatformDevice findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformDevice 瀹炰綋瀵硅薄
+     * @return PlatformDevice
+     */
+    PlatformDevice findOne(PlatformDevice platformDevice);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformDevice 瀹炰綋瀵硅薄
+     * @return List<PlatformDevice>
+     */
+    List<PlatformDevice> findList(PlatformDevice platformDevice);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformDevice>
+     */
+    PageData<PlatformDevice> findPage(PageWrap<PlatformDevice> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformDevice 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformDevice platformDevice);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformGroupService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformGroupService.java
new file mode 100644
index 0000000..386eac0
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformGroupService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformGroup;
+import java.util.List;
+
+/**
+ * 鏈堝彴_鍒嗙粍淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformGroupService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformGroup 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformGroup platformGroup);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformGroup 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformGroup platformGroup);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformGroup 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformGroup platformGroup);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformGroups 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformGroup> platformGroups);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformGroup
+     */
+    PlatformGroup findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformGroup 瀹炰綋瀵硅薄
+     * @return PlatformGroup
+     */
+    PlatformGroup findOne(PlatformGroup platformGroup);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformGroup 瀹炰綋瀵硅薄
+     * @return List<PlatformGroup>
+     */
+    List<PlatformGroup> findList(PlatformGroup platformGroup);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformGroup>
+     */
+    PageData<PlatformGroup> findPage(PageWrap<PlatformGroup> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformGroup 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformGroup platformGroup);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java
new file mode 100644
index 0000000..3aaab3a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformInterfaceLog;
+import java.util.List;
+
+/**
+ * 浣滀笟璋冨害骞冲彴鎺ュ彛浜や簰璁板綍Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformInterfaceLogService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformInterfaceLog 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformInterfaceLog platformInterfaceLog);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformInterfaceLog 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformInterfaceLog platformInterfaceLog);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformInterfaceLog 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformInterfaceLog platformInterfaceLog);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformInterfaceLogs 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformInterfaceLog> platformInterfaceLogs);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformInterfaceLog
+     */
+    PlatformInterfaceLog findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformInterfaceLog 瀹炰綋瀵硅薄
+     * @return PlatformInterfaceLog
+     */
+    PlatformInterfaceLog findOne(PlatformInterfaceLog platformInterfaceLog);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformInterfaceLog 瀹炰綋瀵硅薄
+     * @return List<PlatformInterfaceLog>
+     */
+    List<PlatformInterfaceLog> findList(PlatformInterfaceLog platformInterfaceLog);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformInterfaceLog>
+     */
+    PageData<PlatformInterfaceLog> findPage(PageWrap<PlatformInterfaceLog> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformInterfaceLog 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformInterfaceLog platformInterfaceLog);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
new file mode 100644
index 0000000..cef117e
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformJobService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformJob;
+import java.util.List;
+
+/**
+ * 鏈堝彴璋冨害浣滀笟淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformJobService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformJob 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformJob platformJob);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformJob 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformJob platformJob);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformJob 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformJob platformJob);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformJobs 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformJob> platformJobs);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformJob
+     */
+    PlatformJob findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformJob 瀹炰綋瀵硅薄
+     * @return PlatformJob
+     */
+    PlatformJob findOne(PlatformJob platformJob);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformJob 瀹炰綋瀵硅薄
+     * @return List<PlatformJob>
+     */
+    List<PlatformJob> findList(PlatformJob platformJob);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformJob>
+     */
+    PageData<PlatformJob> findPage(PageWrap<PlatformJob> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformJob 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformJob platformJob);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformLogService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformLogService.java
new file mode 100644
index 0000000..6ba2888
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformLogService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformLog;
+import java.util.List;
+
+/**
+ * 鏈堝彴_浣滀笟鎿嶄綔鍘嗗彶琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformLogService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformLog 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformLog platformLog);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformLog 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformLog platformLog);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformLog 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformLog platformLog);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformLogs 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformLog> platformLogs);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformLog
+     */
+    PlatformLog findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformLog 瀹炰綋瀵硅薄
+     * @return PlatformLog
+     */
+    PlatformLog findOne(PlatformLog platformLog);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformLog 瀹炰綋瀵硅薄
+     * @return List<PlatformLog>
+     */
+    List<PlatformLog> findList(PlatformLog platformLog);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformLog>
+     */
+    PageData<PlatformLog> findPage(PageWrap<PlatformLog> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformLog 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformLog platformLog);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformQueueService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformQueueService.java
new file mode 100644
index 0000000..22e9fa8
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformQueueService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformQueue;
+import java.util.List;
+
+/**
+ * 鏈堝彴_鍙彿鎺掗槦淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformQueueService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformQueue 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformQueue platformQueue);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformQueue 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformQueue platformQueue);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformQueue 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformQueue platformQueue);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformQueues 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformQueue> platformQueues);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformQueue
+     */
+    PlatformQueue findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformQueue 瀹炰綋瀵硅薄
+     * @return PlatformQueue
+     */
+    PlatformQueue findOne(PlatformQueue platformQueue);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformQueue 瀹炰綋瀵硅薄
+     * @return List<PlatformQueue>
+     */
+    List<PlatformQueue> findList(PlatformQueue platformQueue);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformQueue>
+     */
+    PageData<PlatformQueue> findPage(PageWrap<PlatformQueue> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformQueue 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformQueue platformQueue);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformService.java
new file mode 100644
index 0000000..d244393
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Platform;
+import java.util.List;
+
+/**
+ * 鏈堝彴淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platform 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(Platform platform);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platform 瀹炰綋瀵硅薄
+     */
+    void delete(Platform platform);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platform 瀹炰綋瀵硅薄
+     */
+    void updateById(Platform platform);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platforms 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<Platform> platforms);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return Platform
+     */
+    Platform findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platform 瀹炰綋瀵硅薄
+     * @return Platform
+     */
+    Platform findOne(Platform platform);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platform 瀹炰綋瀵硅薄
+     * @return List<Platform>
+     */
+    List<Platform> findList(Platform platform);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<Platform>
+     */
+    PageData<Platform> findPage(PageWrap<Platform> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platform 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(Platform platform);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformShowParamService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformShowParamService.java
new file mode 100644
index 0000000..96cc3ea
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformShowParamService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformShowParam;
+import java.util.List;
+
+/**
+ * 鏈堝彴_鏄剧ず閰嶇疆淇℃伅琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformShowParamService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformShowParam 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformShowParam platformShowParam);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformShowParam 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformShowParam platformShowParam);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformShowParam 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformShowParam platformShowParam);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformShowParams 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformShowParam> platformShowParams);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformShowParam
+     */
+    PlatformShowParam findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformShowParam 瀹炰綋瀵硅薄
+     * @return PlatformShowParam
+     */
+    PlatformShowParam findOne(PlatformShowParam platformShowParam);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformShowParam 瀹炰綋瀵硅薄
+     * @return List<PlatformShowParam>
+     */
+    List<PlatformShowParam> findList(PlatformShowParam platformShowParam);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformShowParam>
+     */
+    PageData<PlatformShowParam> findPage(PageWrap<PlatformShowParam> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformShowParam 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformShowParam platformShowParam);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsDetailService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsDetailService.java
new file mode 100644
index 0000000..2a359c9
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsDetailService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+import java.util.List;
+
+/**
+ * 鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁哠ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformWmsDetailService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformWmsDetail 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformWmsDetail platformWmsDetail);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformWmsDetail 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformWmsDetail platformWmsDetail);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformWmsDetail 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformWmsDetail platformWmsDetail);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformWmsDetails 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformWmsDetail> platformWmsDetails);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformWmsDetail
+     */
+    PlatformWmsDetail findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformWmsDetail 瀹炰綋瀵硅薄
+     * @return PlatformWmsDetail
+     */
+    PlatformWmsDetail findOne(PlatformWmsDetail platformWmsDetail);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformWmsDetail 瀹炰綋瀵硅薄
+     * @return List<PlatformWmsDetail>
+     */
+    List<PlatformWmsDetail> findList(PlatformWmsDetail platformWmsDetail);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformWmsDetail>
+     */
+    PageData<PlatformWmsDetail> findPage(PageWrap<PlatformWmsDetail> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformWmsDetail 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformWmsDetail platformWmsDetail);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java
new file mode 100644
index 0000000..c2b5330
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsJobService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.PlatformWmsJob;
+import java.util.List;
+
+/**
+ * 鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+public interface PlatformWmsJobService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param platformWmsJob 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(PlatformWmsJob platformWmsJob);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param platformWmsJob 瀹炰綋瀵硅薄
+     */
+    void delete(PlatformWmsJob platformWmsJob);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param platformWmsJob 瀹炰綋瀵硅薄
+     */
+    void updateById(PlatformWmsJob platformWmsJob);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param platformWmsJobs 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<PlatformWmsJob> platformWmsJobs);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return PlatformWmsJob
+     */
+    PlatformWmsJob findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param platformWmsJob 瀹炰綋瀵硅薄
+     * @return PlatformWmsJob
+     */
+    PlatformWmsJob findOne(PlatformWmsJob platformWmsJob);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param platformWmsJob 瀹炰綋瀵硅薄
+     * @return List<PlatformWmsJob>
+     */
+    List<PlatformWmsJob> findList(PlatformWmsJob platformWmsJob);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<PlatformWmsJob>
+     */
+    PageData<PlatformWmsJob> findPage(PageWrap<PlatformWmsJob> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param platformWmsJob 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(PlatformWmsJob platformWmsJob);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
new file mode 100644
index 0000000..d1cc8d5
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBooksServiceImpl.java
@@ -0,0 +1,131 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformBooksMapper;
+import com.doumee.dao.business.model.PlatformBooks;
+import com.doumee.service.business.PlatformBooksService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴鍏ュ洯棰勭害淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformBooksServiceImpl implements PlatformBooksService {
+
+    @Autowired
+    private PlatformBooksMapper platformBooksMapper;
+
+    @Override
+    public Integer create(PlatformBooks platformBooks) {
+        platformBooksMapper.insert(platformBooks);
+        return platformBooks.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformBooksMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformBooks platformBooks) {
+        UpdateWrapper<PlatformBooks> deleteWrapper = new UpdateWrapper<>(platformBooks);
+        platformBooksMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformBooksMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformBooks platformBooks) {
+        platformBooksMapper.updateById(platformBooks);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformBooks> platformBookss) {
+        if (CollectionUtils.isEmpty(platformBookss)) {
+            return;
+        }
+        for (PlatformBooks platformBooks: platformBookss) {
+            this.updateById(platformBooks);
+        }
+    }
+
+    @Override
+    public PlatformBooks findById(Integer id) {
+        return platformBooksMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformBooks findOne(PlatformBooks platformBooks) {
+        QueryWrapper<PlatformBooks> wrapper = new QueryWrapper<>(platformBooks);
+        return platformBooksMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformBooks> findList(PlatformBooks platformBooks) {
+        QueryWrapper<PlatformBooks> wrapper = new QueryWrapper<>(platformBooks);
+        return platformBooksMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformBooks> findPage(PageWrap<PlatformBooks> pageWrap) {
+        IPage<PlatformBooks> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformBooks> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformBooks::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformBooks::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformBooks::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformBooks::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformBooks::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformBooks::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformBooks::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformBooks::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getName() != null, PlatformBooks::getName, pageWrap.getModel().getName())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformBooks::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getStatus() != null, PlatformBooks::getStatus, pageWrap.getModel().getStatus())
+                .eq(pageWrap.getModel().getContractNum() != null, PlatformBooks::getContractNum, pageWrap.getModel().getContractNum())
+                .ge(pageWrap.getModel().getArriveDate() != null, PlatformBooks::getArriveDate, Utils.Date.getStart(pageWrap.getModel().getArriveDate()))
+                .le(pageWrap.getModel().getArriveDate() != null, PlatformBooks::getArriveDate, Utils.Date.getEnd(pageWrap.getModel().getArriveDate()))
+                .eq(pageWrap.getModel().getInType() != null, PlatformBooks::getInType, pageWrap.getModel().getInType())
+                .eq(pageWrap.getModel().getTotalNum() != null, PlatformBooks::getTotalNum, pageWrap.getModel().getTotalNum())
+                .eq(pageWrap.getModel().getCarCodeFront() != null, PlatformBooks::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
+                .eq(pageWrap.getModel().getCarCodeBack() != null, PlatformBooks::getCarCodeBack, pageWrap.getModel().getCarCodeBack())
+                .eq(pageWrap.getModel().getDriverId() != null, PlatformBooks::getDriverId, pageWrap.getModel().getDriverId())
+                .eq(pageWrap.getModel().getDriverName() != null, PlatformBooks::getDriverName, pageWrap.getModel().getDriverName())
+                .eq(pageWrap.getModel().getPlateNum() != null, PlatformBooks::getPlateNum, pageWrap.getModel().getPlateNum())
+                .eq(pageWrap.getModel().getDrivierPhone() != null, PlatformBooks::getDrivierPhone, pageWrap.getModel().getDrivierPhone())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformBooksMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformBooks platformBooks) {
+        QueryWrapper<PlatformBooks> wrapper = new QueryWrapper<>(platformBooks);
+        return platformBooksMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBroadcastLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBroadcastLogServiceImpl.java
new file mode 100644
index 0000000..da1ba0c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformBroadcastLogServiceImpl.java
@@ -0,0 +1,131 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformBroadcastLogMapper;
+import com.doumee.dao.business.model.PlatformBroadcastLog;
+import com.doumee.service.business.PlatformBroadcastLogService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_LED鍜屽箍鎾彁閱掍笅鍙戣褰昐ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformBroadcastLogServiceImpl implements PlatformBroadcastLogService {
+
+    @Autowired
+    private PlatformBroadcastLogMapper platformBroadcastLogMapper;
+
+    @Override
+    public Integer create(PlatformBroadcastLog platformBroadcastLog) {
+        platformBroadcastLogMapper.insert(platformBroadcastLog);
+        return platformBroadcastLog.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformBroadcastLogMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformBroadcastLog platformBroadcastLog) {
+        UpdateWrapper<PlatformBroadcastLog> deleteWrapper = new UpdateWrapper<>(platformBroadcastLog);
+        platformBroadcastLogMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformBroadcastLogMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformBroadcastLog platformBroadcastLog) {
+        platformBroadcastLogMapper.updateById(platformBroadcastLog);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformBroadcastLog> platformBroadcastLogs) {
+        if (CollectionUtils.isEmpty(platformBroadcastLogs)) {
+            return;
+        }
+        for (PlatformBroadcastLog platformBroadcastLog: platformBroadcastLogs) {
+            this.updateById(platformBroadcastLog);
+        }
+    }
+
+    @Override
+    public PlatformBroadcastLog findById(Integer id) {
+        return platformBroadcastLogMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformBroadcastLog findOne(PlatformBroadcastLog platformBroadcastLog) {
+        QueryWrapper<PlatformBroadcastLog> wrapper = new QueryWrapper<>(platformBroadcastLog);
+        return platformBroadcastLogMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformBroadcastLog> findList(PlatformBroadcastLog platformBroadcastLog) {
+        QueryWrapper<PlatformBroadcastLog> wrapper = new QueryWrapper<>(platformBroadcastLog);
+        return platformBroadcastLogMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformBroadcastLog> findPage(PageWrap<PlatformBroadcastLog> pageWrap) {
+        IPage<PlatformBroadcastLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformBroadcastLog> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformBroadcastLog::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformBroadcastLog::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformBroadcastLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformBroadcastLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformBroadcastLog::getEditor, pageWrap.getModel().getEditor())
+                .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())
+                .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())
+                .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());
+            }
+        }
+        return PageData.from(platformBroadcastLogMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformBroadcastLog platformBroadcastLog) {
+        QueryWrapper<PlatformBroadcastLog> wrapper = new QueryWrapper<>(platformBroadcastLog);
+        return platformBroadcastLogMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformDeviceServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformDeviceServiceImpl.java
new file mode 100644
index 0000000..7c33b95
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformDeviceServiceImpl.java
@@ -0,0 +1,125 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformDeviceMapper;
+import com.doumee.dao.business.model.PlatformDevice;
+import com.doumee.service.business.PlatformDeviceService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_鍏宠仈鐩戞帶鐐筁ED鍜屽箍鎾俊鎭〃Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformDeviceServiceImpl implements PlatformDeviceService {
+
+    @Autowired
+    private PlatformDeviceMapper platformDeviceMapper;
+
+    @Override
+    public Integer create(PlatformDevice platformDevice) {
+        platformDeviceMapper.insert(platformDevice);
+        return platformDevice.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformDeviceMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformDevice platformDevice) {
+        UpdateWrapper<PlatformDevice> deleteWrapper = new UpdateWrapper<>(platformDevice);
+        platformDeviceMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformDeviceMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformDevice platformDevice) {
+        platformDeviceMapper.updateById(platformDevice);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformDevice> platformDevices) {
+        if (CollectionUtils.isEmpty(platformDevices)) {
+            return;
+        }
+        for (PlatformDevice platformDevice: platformDevices) {
+            this.updateById(platformDevice);
+        }
+    }
+
+    @Override
+    public PlatformDevice findById(Integer id) {
+        return platformDeviceMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformDevice findOne(PlatformDevice platformDevice) {
+        QueryWrapper<PlatformDevice> wrapper = new QueryWrapper<>(platformDevice);
+        return platformDeviceMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformDevice> findList(PlatformDevice platformDevice) {
+        QueryWrapper<PlatformDevice> wrapper = new QueryWrapper<>(platformDevice);
+        return platformDeviceMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformDevice> findPage(PageWrap<PlatformDevice> pageWrap) {
+        IPage<PlatformDevice> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformDevice> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformDevice::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformDevice::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformDevice::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformDevice::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformDevice::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformDevice::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformDevice::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformDevice::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformDevice::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getPlatformId() != null, PlatformDevice::getPlatformId, pageWrap.getModel().getPlatformId())
+                .eq(pageWrap.getModel().getHkId() != null, PlatformDevice::getHkId, pageWrap.getModel().getHkId())
+                .eq(pageWrap.getModel().getDeviceId() != null, PlatformDevice::getDeviceId, pageWrap.getModel().getDeviceId())
+                .eq(pageWrap.getModel().getSortnum() != null, PlatformDevice::getSortnum, pageWrap.getModel().getSortnum())
+                .eq(pageWrap.getModel().getType() != null, PlatformDevice::getType, pageWrap.getModel().getType())
+                .eq(pageWrap.getModel().getName() != null, PlatformDevice::getName, pageWrap.getModel().getName())
+                .eq(pageWrap.getModel().getStatus() != null, PlatformDevice::getStatus, pageWrap.getModel().getStatus())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformDeviceMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformDevice platformDevice) {
+        QueryWrapper<PlatformDevice> wrapper = new QueryWrapper<>(platformDevice);
+        return platformDeviceMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
new file mode 100644
index 0000000..7258755
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformGroupServiceImpl.java
@@ -0,0 +1,121 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformGroupMapper;
+import com.doumee.dao.business.model.PlatformGroup;
+import com.doumee.service.business.PlatformGroupService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_鍒嗙粍淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformGroupServiceImpl implements PlatformGroupService {
+
+    @Autowired
+    private PlatformGroupMapper platformGroupMapper;
+
+    @Override
+    public Integer create(PlatformGroup platformGroup) {
+        platformGroupMapper.insert(platformGroup);
+        return platformGroup.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformGroupMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformGroup platformGroup) {
+        UpdateWrapper<PlatformGroup> deleteWrapper = new UpdateWrapper<>(platformGroup);
+        platformGroupMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformGroupMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformGroup platformGroup) {
+        platformGroupMapper.updateById(platformGroup);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformGroup> platformGroups) {
+        if (CollectionUtils.isEmpty(platformGroups)) {
+            return;
+        }
+        for (PlatformGroup platformGroup: platformGroups) {
+            this.updateById(platformGroup);
+        }
+    }
+
+    @Override
+    public PlatformGroup findById(Integer id) {
+        return platformGroupMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformGroup findOne(PlatformGroup platformGroup) {
+        QueryWrapper<PlatformGroup> wrapper = new QueryWrapper<>(platformGroup);
+        return platformGroupMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformGroup> findList(PlatformGroup platformGroup) {
+        QueryWrapper<PlatformGroup> wrapper = new QueryWrapper<>(platformGroup);
+        return platformGroupMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformGroup> findPage(PageWrap<PlatformGroup> pageWrap) {
+        IPage<PlatformGroup> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformGroup> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformGroup::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformGroup::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformGroup::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformGroup::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformGroup::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformGroup::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformGroup::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformGroup::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getName() != null, PlatformGroup::getName, pageWrap.getModel().getName())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformGroup::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getStatus() != null, PlatformGroup::getStatus, pageWrap.getModel().getStatus())
+                .eq(pageWrap.getModel().getSortnum() != null, PlatformGroup::getSortnum, pageWrap.getModel().getSortnum())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformGroupMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformGroup platformGroup) {
+        QueryWrapper<PlatformGroup> wrapper = new QueryWrapper<>(platformGroup);
+        return platformGroupMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java
new file mode 100644
index 0000000..fc07100
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java
@@ -0,0 +1,128 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformInterfaceLogMapper;
+import com.doumee.dao.business.model.PlatformInterfaceLog;
+import com.doumee.service.business.PlatformInterfaceLogService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 浣滀笟璋冨害骞冲彴鎺ュ彛浜や簰璁板綍Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformInterfaceLogServiceImpl implements PlatformInterfaceLogService {
+
+    @Autowired
+    private PlatformInterfaceLogMapper platformInterfaceLogMapper;
+
+    @Override
+    public Integer create(PlatformInterfaceLog platformInterfaceLog) {
+        platformInterfaceLogMapper.insert(platformInterfaceLog);
+        return platformInterfaceLog.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformInterfaceLogMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformInterfaceLog platformInterfaceLog) {
+        UpdateWrapper<PlatformInterfaceLog> deleteWrapper = new UpdateWrapper<>(platformInterfaceLog);
+        platformInterfaceLogMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformInterfaceLogMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformInterfaceLog platformInterfaceLog) {
+        platformInterfaceLogMapper.updateById(platformInterfaceLog);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformInterfaceLog> platformInterfaceLogs) {
+        if (CollectionUtils.isEmpty(platformInterfaceLogs)) {
+            return;
+        }
+        for (PlatformInterfaceLog platformInterfaceLog: platformInterfaceLogs) {
+            this.updateById(platformInterfaceLog);
+        }
+    }
+
+    @Override
+    public PlatformInterfaceLog findById(Integer id) {
+        return platformInterfaceLogMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformInterfaceLog findOne(PlatformInterfaceLog platformInterfaceLog) {
+        QueryWrapper<PlatformInterfaceLog> wrapper = new QueryWrapper<>(platformInterfaceLog);
+        return platformInterfaceLogMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformInterfaceLog> findList(PlatformInterfaceLog platformInterfaceLog) {
+        QueryWrapper<PlatformInterfaceLog> wrapper = new QueryWrapper<>(platformInterfaceLog);
+        return platformInterfaceLogMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformInterfaceLog> findPage(PageWrap<PlatformInterfaceLog> pageWrap) {
+        IPage<PlatformInterfaceLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformInterfaceLog> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformInterfaceLog::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformInterfaceLog::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformInterfaceLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformInterfaceLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformInterfaceLog::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformInterfaceLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformInterfaceLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformInterfaceLog::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformInterfaceLog::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getType() != null, PlatformInterfaceLog::getType, pageWrap.getModel().getType())
+                .eq(pageWrap.getModel().getName() != null, PlatformInterfaceLog::getName, pageWrap.getModel().getName())
+                .ge(pageWrap.getModel().getUrl() != null, PlatformInterfaceLog::getUrl, Utils.Date.getStart(pageWrap.getModel().getUrl()))
+                .le(pageWrap.getModel().getUrl() != null, PlatformInterfaceLog::getUrl, Utils.Date.getEnd(pageWrap.getModel().getUrl()))
+                .eq(pageWrap.getModel().getRequest() != null, PlatformInterfaceLog::getRequest, pageWrap.getModel().getRequest())
+                .eq(pageWrap.getModel().getRepose() != null, PlatformInterfaceLog::getRepose, pageWrap.getModel().getRepose())
+                .eq(pageWrap.getModel().getSuccess() != null, PlatformInterfaceLog::getSuccess, pageWrap.getModel().getSuccess())
+                .eq(pageWrap.getModel().getPlat() != null, PlatformInterfaceLog::getPlat, pageWrap.getModel().getPlat())
+                .eq(pageWrap.getModel().getObjType() != null, PlatformInterfaceLog::getObjType, pageWrap.getModel().getObjType())
+                .eq(pageWrap.getModel().getObjId() != null, PlatformInterfaceLog::getObjId, pageWrap.getModel().getObjId())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformInterfaceLogMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformInterfaceLog platformInterfaceLog) {
+        QueryWrapper<PlatformInterfaceLog> wrapper = new QueryWrapper<>(platformInterfaceLog);
+        return platformInterfaceLogMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
new file mode 100644
index 0000000..38cfd43
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -0,0 +1,181 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformJobMapper;
+import com.doumee.dao.business.model.PlatformJob;
+import com.doumee.service.business.PlatformJobService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴璋冨害浣滀笟淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformJobServiceImpl implements PlatformJobService {
+
+    @Autowired
+    private PlatformJobMapper platformJobMapper;
+
+    @Override
+    public Integer create(PlatformJob platformJob) {
+        platformJobMapper.insert(platformJob);
+        return platformJob.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformJobMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformJob platformJob) {
+        UpdateWrapper<PlatformJob> deleteWrapper = new UpdateWrapper<>(platformJob);
+        platformJobMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformJobMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformJob platformJob) {
+        platformJobMapper.updateById(platformJob);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformJob> platformJobs) {
+        if (CollectionUtils.isEmpty(platformJobs)) {
+            return;
+        }
+        for (PlatformJob platformJob: platformJobs) {
+            this.updateById(platformJob);
+        }
+    }
+
+    @Override
+    public PlatformJob findById(Integer id) {
+        return platformJobMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformJob findOne(PlatformJob platformJob) {
+        QueryWrapper<PlatformJob> wrapper = new QueryWrapper<>(platformJob);
+        return platformJobMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformJob> findList(PlatformJob platformJob) {
+        QueryWrapper<PlatformJob> wrapper = new QueryWrapper<>(platformJob);
+        return platformJobMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformJob> findPage(PageWrap<PlatformJob> pageWrap) {
+        IPage<PlatformJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformJob> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformJob::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformJob::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformJob::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformJob::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getName() != null, PlatformJob::getName, pageWrap.getModel().getName())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformJob::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getStatus() != null, PlatformJob::getStatus, pageWrap.getModel().getStatus())
+                .eq(pageWrap.getModel().getSortnum() != null, PlatformJob::getSortnum, pageWrap.getModel().getSortnum())
+                .eq(pageWrap.getModel().getCode() != null, PlatformJob::getCode, pageWrap.getModel().getCode())
+                .eq(pageWrap.getModel().getBillCode() != null, PlatformJob::getBillCode, pageWrap.getModel().getBillCode())
+                .eq(pageWrap.getModel().getDriverId() != null, PlatformJob::getDriverId, pageWrap.getModel().getDriverId())
+                .eq(pageWrap.getModel().getDriverName() != null, PlatformJob::getDriverName, pageWrap.getModel().getDriverName())
+                .eq(pageWrap.getModel().getPlateNum() != null, PlatformJob::getPlateNum, pageWrap.getModel().getPlateNum())
+                .eq(pageWrap.getModel().getDrivierPhone() != null, PlatformJob::getDrivierPhone, pageWrap.getModel().getDrivierPhone())
+                .ge(pageWrap.getModel().getSignDate() != null, PlatformJob::getSignDate, Utils.Date.getStart(pageWrap.getModel().getSignDate()))
+                .le(pageWrap.getModel().getSignDate() != null, PlatformJob::getSignDate, Utils.Date.getEnd(pageWrap.getModel().getSignDate()))
+                .eq(pageWrap.getModel().getSingType() != null, PlatformJob::getSingType, pageWrap.getModel().getSingType())
+                .eq(pageWrap.getModel().getSignDistance() != null, PlatformJob::getSignDistance, pageWrap.getModel().getSignDistance())
+                .eq(pageWrap.getModel().getPlatformNames() != null, PlatformJob::getPlatformNames, pageWrap.getModel().getPlatformNames())
+                .eq(pageWrap.getModel().getPlatforms() != null, PlatformJob::getPlatforms, pageWrap.getModel().getPlatforms())
+                .eq(pageWrap.getModel().getPlatformId() != null, PlatformJob::getPlatformId, pageWrap.getModel().getPlatformId())
+                .ge(pageWrap.getModel().getInwaitDate() != null, PlatformJob::getInwaitDate, Utils.Date.getStart(pageWrap.getModel().getInwaitDate()))
+                .le(pageWrap.getModel().getInwaitDate() != null, PlatformJob::getInwaitDate, Utils.Date.getEnd(pageWrap.getModel().getInwaitDate()))
+                .eq(pageWrap.getModel().getInwaitUserId() != null, PlatformJob::getInwaitUserId, pageWrap.getModel().getInwaitUserId())
+                .ge(pageWrap.getModel().getCallDate() != null, PlatformJob::getCallDate, Utils.Date.getStart(pageWrap.getModel().getCallDate()))
+                .le(pageWrap.getModel().getCallDate() != null, PlatformJob::getCallDate, Utils.Date.getEnd(pageWrap.getModel().getCallDate()))
+                .eq(pageWrap.getModel().getCallUserId() != null, PlatformJob::getCallUserId, pageWrap.getModel().getCallUserId())
+                .eq(pageWrap.getModel().getCallInfo() != null, PlatformJob::getCallInfo, pageWrap.getModel().getCallInfo())
+                .ge(pageWrap.getModel().getStartDate() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()))
+                .le(pageWrap.getModel().getStartDate() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getStartDate()))
+                .ge(pageWrap.getModel().getDoneDate() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getDoneDate()))
+                .le(pageWrap.getModel().getDoneDate() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getDoneDate()))
+                .ge(pageWrap.getModel().getErrorDate() != null, PlatformJob::getErrorDate, Utils.Date.getStart(pageWrap.getModel().getErrorDate()))
+                .le(pageWrap.getModel().getErrorDate() != null, PlatformJob::getErrorDate, Utils.Date.getEnd(pageWrap.getModel().getErrorDate()))
+                .eq(pageWrap.getModel().getErrorUserId() != null, PlatformJob::getErrorUserId, pageWrap.getModel().getErrorUserId())
+                .eq(pageWrap.getModel().getErrorInfo() != null, PlatformJob::getErrorInfo, pageWrap.getModel().getErrorInfo())
+                .ge(pageWrap.getModel().getTransPlatformDate() != null, PlatformJob::getTransPlatformDate, Utils.Date.getStart(pageWrap.getModel().getTransPlatformDate()))
+                .le(pageWrap.getModel().getTransPlatformDate() != null, PlatformJob::getTransPlatformDate, Utils.Date.getEnd(pageWrap.getModel().getTransPlatformDate()))
+                .eq(pageWrap.getModel().getTransPlatformUserId() != null, PlatformJob::getTransPlatformUserId, pageWrap.getModel().getTransPlatformUserId())
+                .eq(pageWrap.getModel().getTransPlatformInfo() != null, PlatformJob::getTransPlatformInfo, pageWrap.getModel().getTransPlatformInfo())
+                .ge(pageWrap.getModel().getInDate() != null, PlatformJob::getInDate, Utils.Date.getStart(pageWrap.getModel().getInDate()))
+                .le(pageWrap.getModel().getInDate() != null, PlatformJob::getInDate, Utils.Date.getEnd(pageWrap.getModel().getInDate()))
+                .ge(pageWrap.getModel().getOutDate() != null, PlatformJob::getOutDate, Utils.Date.getStart(pageWrap.getModel().getOutDate()))
+                .le(pageWrap.getModel().getOutDate() != null, PlatformJob::getOutDate, Utils.Date.getEnd(pageWrap.getModel().getOutDate()))
+                .eq(pageWrap.getModel().getOutType() != null, PlatformJob::getOutType, pageWrap.getModel().getOutType())
+                .eq(pageWrap.getModel().getOutHkstatus() != null, PlatformJob::getOutHkstatus, pageWrap.getModel().getOutHkstatus())
+                .ge(pageWrap.getModel().getOutHkdate() != null, PlatformJob::getOutHkdate, Utils.Date.getStart(pageWrap.getModel().getOutHkdate()))
+                .le(pageWrap.getModel().getOutHkdate() != null, PlatformJob::getOutHkdate, Utils.Date.getEnd(pageWrap.getModel().getOutHkdate()))
+                .eq(pageWrap.getModel().getOutHkinfo() != null, PlatformJob::getOutHkinfo, pageWrap.getModel().getOutHkinfo())
+                .eq(pageWrap.getModel().getInHkstatus() != null, PlatformJob::getInHkstatus, pageWrap.getModel().getInHkstatus())
+                .eq(pageWrap.getModel().getNHkinfo() != null, PlatformJob::getNHkinfo, pageWrap.getModel().getNHkinfo())
+                .ge(pageWrap.getModel().getInHkdate() != null, PlatformJob::getInHkdate, Utils.Date.getStart(pageWrap.getModel().getInHkdate()))
+                .le(pageWrap.getModel().getInHkdate() != null, PlatformJob::getInHkdate, Utils.Date.getEnd(pageWrap.getModel().getInHkdate()))
+                .eq(pageWrap.getModel().getType() != null, PlatformJob::getType, pageWrap.getModel().getType())
+                .eq(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
+                .eq(pageWrap.getModel().getCarCodeBack() != null, PlatformJob::getCarCodeBack, pageWrap.getModel().getCarCodeBack())
+                .eq(pageWrap.getModel().getCompanyId() != null, PlatformJob::getCompanyId, pageWrap.getModel().getCompanyId())
+                .eq(pageWrap.getModel().getCompanyNamePath() != null, PlatformJob::getCompanyNamePath, pageWrap.getModel().getCompanyNamePath())
+                .ge(pageWrap.getModel().getCancelDate() != null, PlatformJob::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()))
+                .le(pageWrap.getModel().getCancelDate() != null, PlatformJob::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()))
+                .eq(pageWrap.getModel().getCancelUserId() != null, PlatformJob::getCancelUserId, pageWrap.getModel().getCancelUserId())
+                .eq(pageWrap.getModel().getCancelInfo() != null, PlatformJob::getCancelInfo, pageWrap.getModel().getCancelInfo())
+                .eq(pageWrap.getModel().getReason() != null, PlatformJob::getReason, pageWrap.getModel().getReason())
+                .eq(pageWrap.getModel().getContractNum() != null, PlatformJob::getContractNum, pageWrap.getModel().getContractNum())
+                .ge(pageWrap.getModel().getArriveDate() != null, PlatformJob::getArriveDate, Utils.Date.getStart(pageWrap.getModel().getArriveDate()))
+                .le(pageWrap.getModel().getArriveDate() != null, PlatformJob::getArriveDate, Utils.Date.getEnd(pageWrap.getModel().getArriveDate()))
+                .eq(pageWrap.getModel().getInType() != null, PlatformJob::getInType, pageWrap.getModel().getInType())
+                .eq(pageWrap.getModel().getTotalNum() != null, PlatformJob::getTotalNum, pageWrap.getModel().getTotalNum())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformJobMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformJob platformJob) {
+        QueryWrapper<PlatformJob> wrapper = new QueryWrapper<>(platformJob);
+        return platformJobMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformLogServiceImpl.java
new file mode 100644
index 0000000..4008597
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformLogServiceImpl.java
@@ -0,0 +1,129 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformLogMapper;
+import com.doumee.dao.business.model.PlatformLog;
+import com.doumee.service.business.PlatformLogService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_浣滀笟鎿嶄綔鍘嗗彶琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformLogServiceImpl implements PlatformLogService {
+
+    @Autowired
+    private PlatformLogMapper platformLogMapper;
+
+    @Override
+    public Integer create(PlatformLog platformLog) {
+        platformLogMapper.insert(platformLog);
+        return platformLog.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformLogMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformLog platformLog) {
+        UpdateWrapper<PlatformLog> deleteWrapper = new UpdateWrapper<>(platformLog);
+        platformLogMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformLogMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformLog platformLog) {
+        platformLogMapper.updateById(platformLog);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformLog> platformLogs) {
+        if (CollectionUtils.isEmpty(platformLogs)) {
+            return;
+        }
+        for (PlatformLog platformLog: platformLogs) {
+            this.updateById(platformLog);
+        }
+    }
+
+    @Override
+    public PlatformLog findById(Integer id) {
+        return platformLogMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformLog findOne(PlatformLog platformLog) {
+        QueryWrapper<PlatformLog> wrapper = new QueryWrapper<>(platformLog);
+        return platformLogMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformLog> findList(PlatformLog platformLog) {
+        QueryWrapper<PlatformLog> wrapper = new QueryWrapper<>(platformLog);
+        return platformLogMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformLog> findPage(PageWrap<PlatformLog> pageWrap) {
+        IPage<PlatformLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformLog> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformLog::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformLog::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformLog::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformLog::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformLog::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getJobId() != null, PlatformLog::getJobId, pageWrap.getModel().getJobId())
+                .eq(pageWrap.getModel().getTitle() != null, PlatformLog::getTitle, pageWrap.getModel().getTitle())
+                .eq(pageWrap.getModel().getContent() != null, PlatformLog::getContent, pageWrap.getModel().getContent())
+                .eq(pageWrap.getModel().getObjType() != null, PlatformLog::getObjType, pageWrap.getModel().getObjType())
+                .eq(pageWrap.getModel().getObjId() != null, PlatformLog::getObjId, pageWrap.getModel().getObjId())
+                .eq(pageWrap.getModel().getBeforeContent() != null, PlatformLog::getBeforeContent, pageWrap.getModel().getBeforeContent())
+                .eq(pageWrap.getModel().getAfterContent() != null, PlatformLog::getAfterContent, pageWrap.getModel().getAfterContent())
+                .eq(pageWrap.getModel().getParam1() != null, PlatformLog::getParam1, pageWrap.getModel().getParam1())
+                .eq(pageWrap.getModel().getParam2() != null, PlatformLog::getParam2, pageWrap.getModel().getParam2())
+                .eq(pageWrap.getModel().getParam3() != null, PlatformLog::getParam3, pageWrap.getModel().getParam3())
+                .eq(pageWrap.getModel().getParam4() != null, PlatformLog::getParam4, pageWrap.getModel().getParam4())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformLogMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformLog platformLog) {
+        QueryWrapper<PlatformLog> wrapper = new QueryWrapper<>(platformLog);
+        return platformLogMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformQueueServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformQueueServiceImpl.java
new file mode 100644
index 0000000..075e998
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformQueueServiceImpl.java
@@ -0,0 +1,130 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformQueueMapper;
+import com.doumee.dao.business.model.PlatformQueue;
+import com.doumee.service.business.PlatformQueueService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_鍙彿鎺掗槦淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformQueueServiceImpl implements PlatformQueueService {
+
+    @Autowired
+    private PlatformQueueMapper platformQueueMapper;
+
+    @Override
+    public Integer create(PlatformQueue platformQueue) {
+        platformQueueMapper.insert(platformQueue);
+        return platformQueue.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformQueueMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformQueue platformQueue) {
+        UpdateWrapper<PlatformQueue> deleteWrapper = new UpdateWrapper<>(platformQueue);
+        platformQueueMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformQueueMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformQueue platformQueue) {
+        platformQueueMapper.updateById(platformQueue);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformQueue> platformQueues) {
+        if (CollectionUtils.isEmpty(platformQueues)) {
+            return;
+        }
+        for (PlatformQueue platformQueue: platformQueues) {
+            this.updateById(platformQueue);
+        }
+    }
+
+    @Override
+    public PlatformQueue findById(Integer id) {
+        return platformQueueMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformQueue findOne(PlatformQueue platformQueue) {
+        QueryWrapper<PlatformQueue> wrapper = new QueryWrapper<>(platformQueue);
+        return platformQueueMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformQueue> findList(PlatformQueue platformQueue) {
+        QueryWrapper<PlatformQueue> wrapper = new QueryWrapper<>(platformQueue);
+        return platformQueueMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformQueue> findPage(PageWrap<PlatformQueue> pageWrap) {
+        IPage<PlatformQueue> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformQueue> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformQueue::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformQueue::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformQueue::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformQueue::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformQueue::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformQueue::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformQueue::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformQueue::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformQueue::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getJobId() != null, PlatformQueue::getJobId, pageWrap.getModel().getJobId())
+                .eq(pageWrap.getModel().getContent() != null, PlatformQueue::getContent, pageWrap.getModel().getContent())
+                .eq(pageWrap.getModel().getStatus() != null, PlatformQueue::getStatus, pageWrap.getModel().getStatus())
+                .eq(pageWrap.getModel().getObjType() != null, PlatformQueue::getObjType, pageWrap.getModel().getObjType())
+                .eq(pageWrap.getModel().getObjId() != null, PlatformQueue::getObjId, pageWrap.getModel().getObjId())
+                .eq(pageWrap.getModel().getCarCode() != null, PlatformQueue::getCarCode, pageWrap.getModel().getCarCode())
+                .eq(pageWrap.getModel().getPlatformId() != null, PlatformQueue::getPlatformId, pageWrap.getModel().getPlatformId())
+                .eq(pageWrap.getModel().getPlatformName() != null, PlatformQueue::getPlatformName, pageWrap.getModel().getPlatformName())
+                .eq(pageWrap.getModel().getDriverPhone() != null, PlatformQueue::getDriverPhone, pageWrap.getModel().getDriverPhone())
+                .eq(pageWrap.getModel().getDriverName() != null, PlatformQueue::getDriverName, pageWrap.getModel().getDriverName())
+                .eq(pageWrap.getModel().getDriverId() != null, PlatformQueue::getDriverId, pageWrap.getModel().getDriverId())
+                .eq(pageWrap.getModel().getOrderCode() != null, PlatformQueue::getOrderCode, pageWrap.getModel().getOrderCode())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformQueueMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformQueue platformQueue) {
+        QueryWrapper<PlatformQueue> wrapper = new QueryWrapper<>(platformQueue);
+        return platformQueueMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
new file mode 100644
index 0000000..cb3c94c
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -0,0 +1,138 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformMapper;
+import com.doumee.dao.business.model.Platform;
+import com.doumee.service.business.PlatformService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformServiceImpl implements PlatformService {
+
+    @Autowired
+    private PlatformMapper platformMapper;
+
+    @Override
+    public Integer create(Platform platform) {
+        platformMapper.insert(platform);
+        return platform.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(Platform platform) {
+        UpdateWrapper<Platform> deleteWrapper = new UpdateWrapper<>(platform);
+        platformMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(Platform platform) {
+        platformMapper.updateById(platform);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<Platform> platforms) {
+        if (CollectionUtils.isEmpty(platforms)) {
+            return;
+        }
+        for (Platform platform: platforms) {
+            this.updateById(platform);
+        }
+    }
+
+    @Override
+    public Platform findById(Integer id) {
+        return platformMapper.selectById(id);
+    }
+
+    @Override
+    public Platform findOne(Platform platform) {
+        QueryWrapper<Platform> wrapper = new QueryWrapper<>(platform);
+        return platformMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<Platform> findList(Platform platform) {
+        QueryWrapper<Platform> wrapper = new QueryWrapper<>(platform);
+        return platformMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<Platform> findPage(PageWrap<Platform> pageWrap) {
+        IPage<Platform> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<Platform> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, Platform::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, Platform::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, Platform::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, Platform::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, Platform::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, Platform::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, Platform::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, Platform::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getName() != null, Platform::getName, pageWrap.getModel().getName())
+                .eq(pageWrap.getModel().getRemark() != null, Platform::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getStatus() != null, Platform::getStatus, pageWrap.getModel().getStatus())
+                .eq(pageWrap.getModel().getSortnum() != null, Platform::getSortnum, pageWrap.getModel().getSortnum())
+                .eq(pageWrap.getModel().getGroupId() != null, Platform::getGroupId, pageWrap.getModel().getGroupId())
+                .eq(pageWrap.getModel().getStartTime() != null, Platform::getStartTime, pageWrap.getModel().getStartTime())
+                .eq(pageWrap.getModel().getEndTime() != null, Platform::getEndTime, pageWrap.getModel().getEndTime())
+                .eq(pageWrap.getModel().getWorkingNum() != null, Platform::getWorkingNum, pageWrap.getModel().getWorkingNum())
+                .eq(pageWrap.getModel().getWariCallTime() != null, Platform::getWariCallTime, pageWrap.getModel().getWariCallTime())
+                .eq(pageWrap.getModel().getAlermTime() != null, Platform::getAlermTime, pageWrap.getModel().getAlermTime())
+                .ge(pageWrap.getModel().getLastEventTime() != null, Platform::getLastEventTime, Utils.Date.getStart(pageWrap.getModel().getLastEventTime()))
+                .le(pageWrap.getModel().getLastEventTime() != null, Platform::getLastEventTime, Utils.Date.getEnd(pageWrap.getModel().getLastEventTime()))
+                .eq(pageWrap.getModel().getDeviceNames() != null, Platform::getDeviceNames, pageWrap.getModel().getDeviceNames())
+                .eq(pageWrap.getModel().getScreenName() != null, Platform::getScreenName, pageWrap.getModel().getScreenName())
+                .eq(pageWrap.getModel().getHkId() != null, Platform::getHkId, pageWrap.getModel().getHkId())
+                .eq(pageWrap.getModel().getCompanys() != null, Platform::getCompanys, pageWrap.getModel().getCompanys())
+                .eq(pageWrap.getModel().getXpos() != null, Platform::getXpos, pageWrap.getModel().getXpos())
+                .eq(pageWrap.getModel().getYpos() != null, Platform::getYpos, pageWrap.getModel().getYpos())
+                .eq(pageWrap.getModel().getWidth() != null, Platform::getWidth, pageWrap.getModel().getWidth())
+                .eq(pageWrap.getModel().getHeight() != null, Platform::getHeight, pageWrap.getModel().getHeight())
+                .eq(pageWrap.getModel().getAngle() != null, Platform::getAngle, pageWrap.getModel().getAngle())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(Platform platform) {
+        QueryWrapper<Platform> wrapper = new QueryWrapper<>(platform);
+        return platformMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformShowParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformShowParamServiceImpl.java
new file mode 100644
index 0000000..d18bfe7
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformShowParamServiceImpl.java
@@ -0,0 +1,121 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformShowParamMapper;
+import com.doumee.dao.business.model.PlatformShowParam;
+import com.doumee.service.business.PlatformShowParamService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_鏄剧ず閰嶇疆淇℃伅琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformShowParamServiceImpl implements PlatformShowParamService {
+
+    @Autowired
+    private PlatformShowParamMapper platformShowParamMapper;
+
+    @Override
+    public Integer create(PlatformShowParam platformShowParam) {
+        platformShowParamMapper.insert(platformShowParam);
+        return platformShowParam.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformShowParamMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformShowParam platformShowParam) {
+        UpdateWrapper<PlatformShowParam> deleteWrapper = new UpdateWrapper<>(platformShowParam);
+        platformShowParamMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformShowParamMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformShowParam platformShowParam) {
+        platformShowParamMapper.updateById(platformShowParam);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformShowParam> platformShowParams) {
+        if (CollectionUtils.isEmpty(platformShowParams)) {
+            return;
+        }
+        for (PlatformShowParam platformShowParam: platformShowParams) {
+            this.updateById(platformShowParam);
+        }
+    }
+
+    @Override
+    public PlatformShowParam findById(Integer id) {
+        return platformShowParamMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformShowParam findOne(PlatformShowParam platformShowParam) {
+        QueryWrapper<PlatformShowParam> wrapper = new QueryWrapper<>(platformShowParam);
+        return platformShowParamMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformShowParam> findList(PlatformShowParam platformShowParam) {
+        QueryWrapper<PlatformShowParam> wrapper = new QueryWrapper<>(platformShowParam);
+        return platformShowParamMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformShowParam> findPage(PageWrap<PlatformShowParam> pageWrap) {
+        IPage<PlatformShowParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformShowParam> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformShowParam::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformShowParam::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformShowParam::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformShowParam::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformShowParam::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformShowParam::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformShowParam::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformShowParam::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformShowParam::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getPlatformId() != null, PlatformShowParam::getPlatformId, pageWrap.getModel().getPlatformId())
+                .eq(pageWrap.getModel().getMemberId() != null, PlatformShowParam::getMemberId, pageWrap.getModel().getMemberId())
+                .eq(pageWrap.getModel().getSortnum() != null, PlatformShowParam::getSortnum, pageWrap.getModel().getSortnum())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformShowParamMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformShowParam platformShowParam) {
+        QueryWrapper<PlatformShowParam> wrapper = new QueryWrapper<>(platformShowParam);
+        return platformShowParamMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsDetailServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsDetailServiceImpl.java
new file mode 100644
index 0000000..fec4a0a
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsDetailServiceImpl.java
@@ -0,0 +1,124 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformWmsDetailMapper;
+import com.doumee.dao.business.model.PlatformWmsDetail;
+import com.doumee.service.business.PlatformWmsDetailService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_WMS浣滀笟閫氱煡鍗曟槑缁哠ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformWmsDetailServiceImpl implements PlatformWmsDetailService {
+
+    @Autowired
+    private PlatformWmsDetailMapper platformWmsDetailMapper;
+
+    @Override
+    public Integer create(PlatformWmsDetail platformWmsDetail) {
+        platformWmsDetailMapper.insert(platformWmsDetail);
+        return platformWmsDetail.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformWmsDetailMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformWmsDetail platformWmsDetail) {
+        UpdateWrapper<PlatformWmsDetail> deleteWrapper = new UpdateWrapper<>(platformWmsDetail);
+        platformWmsDetailMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformWmsDetailMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformWmsDetail platformWmsDetail) {
+        platformWmsDetailMapper.updateById(platformWmsDetail);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformWmsDetail> platformWmsDetails) {
+        if (CollectionUtils.isEmpty(platformWmsDetails)) {
+            return;
+        }
+        for (PlatformWmsDetail platformWmsDetail: platformWmsDetails) {
+            this.updateById(platformWmsDetail);
+        }
+    }
+
+    @Override
+    public PlatformWmsDetail findById(Integer id) {
+        return platformWmsDetailMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformWmsDetail findOne(PlatformWmsDetail platformWmsDetail) {
+        QueryWrapper<PlatformWmsDetail> wrapper = new QueryWrapper<>(platformWmsDetail);
+        return platformWmsDetailMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformWmsDetail> findList(PlatformWmsDetail platformWmsDetail) {
+        QueryWrapper<PlatformWmsDetail> wrapper = new QueryWrapper<>(platformWmsDetail);
+        return platformWmsDetailMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformWmsDetail> findPage(PageWrap<PlatformWmsDetail> pageWrap) {
+        IPage<PlatformWmsDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformWmsDetail> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformWmsDetail::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformWmsDetail::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformWmsDetail::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformWmsDetail::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformWmsDetail::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformWmsDetail::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformWmsDetail::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformWmsDetail::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformWmsDetail::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getJobId() != null, PlatformWmsDetail::getJobId, pageWrap.getModel().getJobId())
+                .eq(pageWrap.getModel().getIocode() != null, PlatformWmsDetail::getIocode, pageWrap.getModel().getIocode())
+                .eq(pageWrap.getModel().getMaterialName() != null, PlatformWmsDetail::getMaterialName, pageWrap.getModel().getMaterialName())
+                .eq(pageWrap.getModel().getInRepertotyCode() != null, PlatformWmsDetail::getInRepertotyCode, pageWrap.getModel().getInRepertotyCode())
+                .eq(pageWrap.getModel().getIoQty() != null, PlatformWmsDetail::getIoQty, pageWrap.getModel().getIoQty())
+                .eq(pageWrap.getModel().getRate() != null, PlatformWmsDetail::getRate, pageWrap.getModel().getRate())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformWmsDetailMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformWmsDetail platformWmsDetail) {
+        QueryWrapper<PlatformWmsDetail> wrapper = new QueryWrapper<>(platformWmsDetail);
+        return platformWmsDetailMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
new file mode 100644
index 0000000..1c94748
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsJobServiceImpl.java
@@ -0,0 +1,134 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.PlatformWmsJobMapper;
+import com.doumee.dao.business.model.PlatformWmsJob;
+import com.doumee.service.business.PlatformWmsJobService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鏈堝彴_WMS浣滀笟閫氱煡鍗曡鏁版嵁Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/06/28 10:03
+ */
+@Service
+public class PlatformWmsJobServiceImpl implements PlatformWmsJobService {
+
+    @Autowired
+    private PlatformWmsJobMapper platformWmsJobMapper;
+
+    @Override
+    public Integer create(PlatformWmsJob platformWmsJob) {
+        platformWmsJobMapper.insert(platformWmsJob);
+        return platformWmsJob.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        platformWmsJobMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(PlatformWmsJob platformWmsJob) {
+        UpdateWrapper<PlatformWmsJob> deleteWrapper = new UpdateWrapper<>(platformWmsJob);
+        platformWmsJobMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        platformWmsJobMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(PlatformWmsJob platformWmsJob) {
+        platformWmsJobMapper.updateById(platformWmsJob);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<PlatformWmsJob> platformWmsJobs) {
+        if (CollectionUtils.isEmpty(platformWmsJobs)) {
+            return;
+        }
+        for (PlatformWmsJob platformWmsJob: platformWmsJobs) {
+            this.updateById(platformWmsJob);
+        }
+    }
+
+    @Override
+    public PlatformWmsJob findById(Integer id) {
+        return platformWmsJobMapper.selectById(id);
+    }
+
+    @Override
+    public PlatformWmsJob findOne(PlatformWmsJob platformWmsJob) {
+        QueryWrapper<PlatformWmsJob> wrapper = new QueryWrapper<>(platformWmsJob);
+        return platformWmsJobMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<PlatformWmsJob> findList(PlatformWmsJob platformWmsJob) {
+        QueryWrapper<PlatformWmsJob> wrapper = new QueryWrapper<>(platformWmsJob);
+        return platformWmsJobMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<PlatformWmsJob> findPage(PageWrap<PlatformWmsJob> pageWrap) {
+        IPage<PlatformWmsJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<PlatformWmsJob> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda()
+                .eq(pageWrap.getModel().getId() != null, PlatformWmsJob::getId, pageWrap.getModel().getId())
+                .eq(pageWrap.getModel().getCreator() != null, PlatformWmsJob::getCreator, pageWrap.getModel().getCreator())
+                .ge(pageWrap.getModel().getCreateDate() != null, PlatformWmsJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
+                .le(pageWrap.getModel().getCreateDate() != null, PlatformWmsJob::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
+                .eq(pageWrap.getModel().getEditor() != null, PlatformWmsJob::getEditor, pageWrap.getModel().getEditor())
+                .ge(pageWrap.getModel().getEditDate() != null, PlatformWmsJob::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
+                .le(pageWrap.getModel().getEditDate() != null, PlatformWmsJob::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
+                .eq(pageWrap.getModel().getIsdeleted() != null, PlatformWmsJob::getIsdeleted, pageWrap.getModel().getIsdeleted())
+                .eq(pageWrap.getModel().getRemark() != null, PlatformWmsJob::getRemark, pageWrap.getModel().getRemark())
+                .eq(pageWrap.getModel().getJobId() != null, PlatformWmsJob::getJobId, pageWrap.getModel().getJobId())
+                .eq(pageWrap.getModel().getIocode() != null, PlatformWmsJob::getIocode, pageWrap.getModel().getIocode())
+                .eq(pageWrap.getModel().getType() != null, PlatformWmsJob::getType, pageWrap.getModel().getType())
+                .eq(pageWrap.getModel().getDriverPhone() != null, PlatformWmsJob::getDriverPhone, pageWrap.getModel().getDriverPhone())
+                .eq(pageWrap.getModel().getDriverName() != null, PlatformWmsJob::getDriverName, pageWrap.getModel().getDriverName())
+                .eq(pageWrap.getModel().getCarrierName() != null, PlatformWmsJob::getCarrierName, pageWrap.getModel().getCarrierName())
+                .eq(pageWrap.getModel().getCarryBillCode() != null, PlatformWmsJob::getCarryBillCode, pageWrap.getModel().getCarryBillCode())
+                .ge(pageWrap.getModel().getIoCreatedate() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getStart(pageWrap.getModel().getIoCreatedate()))
+                .le(pageWrap.getModel().getIoCreatedate() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getIoCreatedate()))
+                .eq(pageWrap.getModel().getStatus() != null, PlatformWmsJob::getStatus, pageWrap.getModel().getStatus())
+                .ge(pageWrap.getModel().getCancelDate() != null, PlatformWmsJob::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()))
+                .le(pageWrap.getModel().getCancelDate() != null, PlatformWmsJob::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()))
+                .eq(pageWrap.getModel().getCancelInfo() != null, PlatformWmsJob::getCancelInfo, pageWrap.getModel().getCancelInfo())
+                .eq(pageWrap.getModel().getPlateNumber() != null, PlatformWmsJob::getPlateNumber, pageWrap.getModel().getPlateNumber())
+                .eq(pageWrap.getModel().getRepertotyAddress() != null, PlatformWmsJob::getRepertotyAddress, pageWrap.getModel().getRepertotyAddress())
+                .eq(pageWrap.getModel().getContractNum() != null, PlatformWmsJob::getContractNum, pageWrap.getModel().getContractNum())
+        ;
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(platformWmsJobMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(PlatformWmsJob platformWmsJob) {
+        QueryWrapper<PlatformWmsJob> wrapper = new QueryWrapper<>(platformWmsJob);
+        return platformWmsJobMapper.selectCount(wrapper);
+    }
+}

--
Gitblit v1.9.3