diff --git a/dk-api/api-bom/pom.xml b/dk-api/api-bom/pom.xml
index 48b3482..e989a65 100644
--- a/dk-api/api-bom/pom.xml
+++ b/dk-api/api-bom/pom.xml
@@ -11,7 +11,7 @@
${revision}
- ruoyi-api-bom api依赖项
+ api-bom api依赖项
diff --git a/dk-api/api-workflow/pom.xml b/dk-api/api-workflow/pom.xml
index bacfc80..9a22a63 100644
--- a/dk-api/api-workflow/pom.xml
+++ b/dk-api/api-workflow/pom.xml
@@ -12,7 +12,7 @@
api-workflow
- ruoyi-api-workflow 工作流接口模块
+ api-workflow 工作流接口模块
diff --git a/dk-auth/pom.xml b/dk-auth/pom.xml
index 0e62e3b..9a64994 100644
--- a/dk-auth/pom.xml
+++ b/dk-auth/pom.xml
@@ -11,7 +11,7 @@
dk-auth
- ruoyi-auth 认证授权中心
+ auth 认证授权中心
diff --git a/dk-auth/src/main/java/org/dromara/auth/DKAuthApplication.java b/dk-auth/src/main/java/org/dromara/auth/DKAuthApplication.java
index a4498dd..82b1bc5 100644
--- a/dk-auth/src/main/java/org/dromara/auth/DKAuthApplication.java
+++ b/dk-auth/src/main/java/org/dromara/auth/DKAuthApplication.java
@@ -13,7 +13,7 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
*/
@EnableDubbo
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
-public class DKAuthApplication {
+public class DKAuthApplication {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(DKAuthApplication.class);
application.setApplicationStartup(new BufferingApplicationStartup(2048));
diff --git a/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java b/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java
index 8de1974..5ce3c0d 100644
--- a/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java
+++ b/dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java
@@ -102,7 +102,7 @@ public class TokenController {
Long userId = LoginHelper.getUserId();
scheduledExecutorService.schedule(() -> {
- remoteMessageService.publishMessage(userId, "欢迎登录RuoYi-Cloud-Plus微服务管理系统");
+ remoteMessageService.publishMessage(userId, "欢迎登录低空产业平台管理系统");
}, 3, TimeUnit.SECONDS);
return R.ok(loginVo);
}
diff --git a/dk-common/common-dubbo/pom.xml b/dk-common/common-dubbo/pom.xml
index 542ce15..09584bc 100644
--- a/dk-common/common-dubbo/pom.xml
+++ b/dk-common/common-dubbo/pom.xml
@@ -12,7 +12,7 @@
common-dubbo
- ruoyi-common-dubbo RPC服务
+ common-dubbo RPC服务
diff --git a/dk-common/common-encrypt/pom.xml b/dk-common/common-encrypt/pom.xml
index a7f77ef..e10d828 100644
--- a/dk-common/common-encrypt/pom.xml
+++ b/dk-common/common-encrypt/pom.xml
@@ -12,7 +12,7 @@
common-encrypt
- ruoyi-common-encrypt 数据加解密模块
+ common-encrypt 数据加解密模块
diff --git a/dk-common/common-idempotent/pom.xml b/dk-common/common-idempotent/pom.xml
index 6e3df1b..3f92b6c 100644
--- a/dk-common/common-idempotent/pom.xml
+++ b/dk-common/common-idempotent/pom.xml
@@ -12,7 +12,7 @@
common-idempotent
- ruoyi-common-idempotent 幂等功能
+ common-idempotent 幂等功能
diff --git a/dk-common/common-seata/pom.xml b/dk-common/common-seata/pom.xml
index 067e90a..458bd87 100644
--- a/dk-common/common-seata/pom.xml
+++ b/dk-common/common-seata/pom.xml
@@ -12,7 +12,7 @@
common-seata
- ruoyi-common-seata 分布式事务
+ common-seata 分布式事务
diff --git a/dk-common/common-security/pom.xml b/dk-common/common-security/pom.xml
index d5e5bb7..22c31e2 100644
--- a/dk-common/common-security/pom.xml
+++ b/dk-common/common-security/pom.xml
@@ -12,7 +12,7 @@
common-security
- ruoyi-common-security 安全模块
+ common-security 安全模块
diff --git a/dk-common/common-sensitive/pom.xml b/dk-common/common-sensitive/pom.xml
index 257232e..93daae8 100644
--- a/dk-common/common-sensitive/pom.xml
+++ b/dk-common/common-sensitive/pom.xml
@@ -12,7 +12,7 @@
common-sensitive
- ruoyi-common-sensitive 脱敏模块
+ common-sensitive 脱敏模块
diff --git a/dk-common/common-sentinel/pom.xml b/dk-common/common-sentinel/pom.xml
index ef5f792..8056341 100644
--- a/dk-common/common-sentinel/pom.xml
+++ b/dk-common/common-sentinel/pom.xml
@@ -11,7 +11,7 @@
common-sentinel
- ruoyi-common-sentinel 限流模块
+ common-sentinel 限流模块
diff --git a/dk-common/common-tenant/pom.xml b/dk-common/common-tenant/pom.xml
index 7a457ad..73ab2e9 100644
--- a/dk-common/common-tenant/pom.xml
+++ b/dk-common/common-tenant/pom.xml
@@ -12,7 +12,7 @@
common-tenant
- ruoyi-common-tenant 租户模块
+ common-tenant 租户模块
diff --git a/dk-common/common-translation/pom.xml b/dk-common/common-translation/pom.xml
index 5edf104..31d3caa 100644
--- a/dk-common/common-translation/pom.xml
+++ b/dk-common/common-translation/pom.xml
@@ -12,7 +12,7 @@
common-translation
- ruoyi-common-translation 通用翻译功能
+ common-translation 通用翻译功能
diff --git a/dk-modules/business/pom.xml b/dk-modules/business/pom.xml
index 00a3349..3d16372 100644
--- a/dk-modules/business/pom.xml
+++ b/dk-modules/business/pom.xml
@@ -6,7 +6,7 @@
org.dromara
dk-modules
- 2.2.2
+ ${revision}
business
@@ -91,19 +91,7 @@
common-encrypt
-
-
- org.dromara
- api-system
-
-
-
- org.dromara
- api-resource
-
-
-
${project.artifactId}
@@ -122,4 +110,5 @@
+
diff --git a/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java b/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java
index ba5d62d..f40808f 100644
--- a/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java
+++ b/dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java
@@ -11,7 +11,7 @@ import org.springframework.boot.context.metrics.buffering.BufferingApplicationSt
* @data 2025/2/25
*/
@EnableDubbo
-@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@SpringBootApplication()
public class BusinessApplication {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(BusinessApplication.class);
diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessOperationController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessOperationController.java
new file mode 100644
index 0000000..c8cad86
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessOperationController.java
@@ -0,0 +1,109 @@
+package org.dromara.business.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.business.domain.bo.BusinessOperationBo;
+import org.dromara.business.domain.vo.BusinessOperationVo;
+import org.dromara.business.service.IBusinessOperationService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 运营中心-工单处理
+ * 前端访问路由地址为:/system/operation
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/operation")
+public class BusinessOperationController extends BaseController {
+
+ private final IBusinessOperationService businessOperationService;
+
+ /**
+ * 查询运营中心-工单处理列表
+ */
+ @SaCheckPermission("system:operation:list")
+ @GetMapping("/list")
+ public TableDataInfo list(BusinessOperationBo bo, PageQuery pageQuery) {
+ return businessOperationService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出运营中心-工单处理列表
+ */
+ @SaCheckPermission("system:operation:export")
+ @Log(title = "运营中心-工单处理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(BusinessOperationBo bo, HttpServletResponse response) {
+ List list = businessOperationService.queryList(bo);
+ ExcelUtil.exportExcel(list, "运营中心-工单处理", BusinessOperationVo.class, response);
+ }
+
+ /**
+ * 获取运营中心-工单处理详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("system:operation:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long id) {
+ return R.ok(businessOperationService.queryById(id));
+ }
+
+ /**
+ * 新增运营中心-工单处理
+ */
+ @SaCheckPermission("system:operation:add")
+ @Log(title = "运营中心-工单处理", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody BusinessOperationBo bo) {
+ //根据工单绘制上传航线,绑定航线,填报信息
+
+
+ return toAjax(businessOperationService.insertByBo(bo));
+ }
+
+ /**
+ * 修改运营中心-工单处理
+ */
+ @SaCheckPermission("system:operation:edit")
+ @Log(title = "运营中心-工单处理", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody BusinessOperationBo bo) {
+ return toAjax(businessOperationService.updateByBo(bo));
+ }
+
+ /**
+ * 删除运营中心-工单处理
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("system:operation:remove")
+ @Log(title = "运营中心-工单处理", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] ids) {
+ return toAjax(businessOperationService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessTaskController.java b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessTaskController.java
new file mode 100644
index 0000000..4e9bc43
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/controller/BusinessTaskController.java
@@ -0,0 +1,107 @@
+package org.dromara.business.controller;
+
+import java.util.List;
+
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.dromara.business.domain.bo.BusinessTaskBo;
+import org.dromara.business.domain.vo.BusinessTaskVo;
+import org.dromara.business.service.IBusinessTaskService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import org.dromara.common.idempotent.annotation.RepeatSubmit;
+import org.dromara.common.log.annotation.Log;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.log.enums.BusinessType;
+import org.dromara.common.excel.utils.ExcelUtil;
+
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+
+/**
+ * 工单预约
+ * 前端访问路由地址为:/system/task
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/task")
+public class BusinessTaskController extends BaseController {
+
+ private final IBusinessTaskService businessTaskService;
+
+ /**
+ * 查询工单预约列表
+ */
+ @SaCheckPermission("system:task:list")
+ @GetMapping("/list")
+ public TableDataInfo list(BusinessTaskBo bo, PageQuery pageQuery) {
+ return businessTaskService.queryPageList(bo, pageQuery);
+ }
+
+ /**
+ * 导出工单预约列表
+ */
+ @SaCheckPermission("system:task:export")
+ @Log(title = "工单预约", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(BusinessTaskBo bo, HttpServletResponse response) {
+ List list = businessTaskService.queryList(bo);
+ ExcelUtil.exportExcel(list, "工单预约", BusinessTaskVo.class, response);
+ }
+
+ /**
+ * 获取工单预约详细信息
+ *
+ * @param id 主键
+ */
+ @SaCheckPermission("system:task:query")
+ @GetMapping("/{id}")
+ public R getInfo(@NotNull(message = "主键不能为空")
+ @PathVariable Long id) {
+ return R.ok(businessTaskService.queryById(id));
+ }
+
+ /**
+ * 新增工单预约
+ */
+ @SaCheckPermission("system:task:add")
+ @Log(title = "工单预约", businessType = BusinessType.INSERT)
+ @RepeatSubmit()
+ @PostMapping()
+ public R add(@Validated(AddGroup.class) @RequestBody BusinessTaskBo bo) {
+ return toAjax(businessTaskService.insertByBo(bo));
+ }
+
+ /**
+ * 修改工单预约
+ */
+ @SaCheckPermission("system:task:edit")
+ @Log(title = "工单预约", businessType = BusinessType.UPDATE)
+ @RepeatSubmit()
+ @PutMapping()
+ public R edit(@Validated(EditGroup.class) @RequestBody BusinessTaskBo bo) {
+ return toAjax(businessTaskService.updateByBo(bo));
+ }
+
+ /**
+ * 删除工单预约
+ *
+ * @param ids 主键串
+ */
+ @SaCheckPermission("system:task:remove")
+ @Log(title = "工单预约", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@NotEmpty(message = "主键不能为空")
+ @PathVariable Long[] ids) {
+ return toAjax(businessTaskService.deleteWithValidByIds(List.of(ids), true));
+ }
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessOperation.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessOperation.java
new file mode 100644
index 0000000..758ef1f
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessOperation.java
@@ -0,0 +1,65 @@
+package org.dromara.business.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import java.io.Serial;
+import java.util.Date;
+/**
+ * @auther yq
+ * @data 2025/2/26
+ */
+
+@Data
+
+@TableName("business_operation")
+public class BusinessOperation {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ /**
+ * 工单id
+ */
+ private Long taskId;
+
+ /**
+ * 处理人id
+ */
+ private Long userId;
+
+ /**
+ * 处理人昵称
+ */
+ private String nickName;
+
+ /**
+ * 工单状态(0预约中 1 等待中,2执行中 3 未完成 4已完结 )
+ */
+ private String taskStatus;
+
+ /**
+ * 飞行时间
+ */
+ private Date flightTime;
+
+ /**
+ * 说明
+ */
+ private String explain;
+
+ /**
+ * 设备sn
+ */
+ private String deviceSn;
+
+
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java
new file mode 100644
index 0000000..8b3498b
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java
@@ -0,0 +1,59 @@
+package org.dromara.business.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+
+import java.io.Serial;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @auther yq
+ * @data 2025/2/26
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("business_task")
+public class BusinessTask extends BaseEntity {
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(value = "id")
+ private Long id;
+
+ private BigDecimal lng;
+
+ private BigDecimal lat;
+
+ /**
+ * 期望完成时间
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Date expectTime;
+
+ /**
+ * 任务描述
+ * */
+ private String explain;
+ /**
+ * 完成时间
+ * */
+ @TableField(fill = FieldFill.UPDATE)
+ private Date completeTime;
+ /**
+ *工单类型(0:拍照 1:喊话)
+ * */
+ private String taskType;
+ /**
+ * 工单状态(0预约中 1 等待中,2执行中 3 未完成 4已完结 )
+ * */
+ private String status;
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java
new file mode 100644
index 0000000..dbc5625
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java
@@ -0,0 +1,81 @@
+package org.dromara.business.domain.bo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import org.dromara.business.domain.BusinessOperation;
+
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 运营中心-工单处理业务对象 business_operation
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@Data
+@EqualsAndHashCode()
+@AutoMapper(target = BusinessOperation.class, reverseConvertGenerate = false)
+public class BusinessOperationBo {
+
+ /**
+ *
+ */
+ private Long id;
+
+ /**
+ * 工单id
+ */
+ @NotNull(message = "工单id不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long taskId;
+
+ /**
+ * 处理人id
+ */
+
+ private Long userId;
+
+ /**
+ * 处理人昵称
+ */
+
+ private String nickName;
+
+ /**
+ * 工单状态(0预约中 1 等待中,2执行中 3 未完成 4已完结 )
+ */
+
+ private String taskStatus;
+
+ /**
+ * 飞行时间
+ */
+ @NotNull(message = "飞行时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date flightTime;
+
+ /**
+ * 说明
+ */
+ private String explain;
+
+ /**
+ * 设备sn
+ */
+ @NotBlank(message = "设备sn不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String deviceSn;
+
+ /**
+ * 请求参数
+ */
+ @JsonInclude(JsonInclude.Include.NON_EMPTY)
+ private Map params = new HashMap<>();
+
+ private String fileId;
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessTaskBo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessTaskBo.java
new file mode 100644
index 0000000..a35f6ad
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessTaskBo.java
@@ -0,0 +1,74 @@
+package org.dromara.business.domain.bo;
+
+
+import org.dromara.business.domain.BusinessTask;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import jakarta.validation.constraints.*;
+import java.util.Date;
+
+/**
+ * 工单预约业务对象 business_task
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = BusinessTask.class, reverseConvertGenerate = false)
+public class BusinessTaskBo extends BaseEntity {
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { EditGroup.class })
+ private Long id;
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long lng;
+
+ /**
+ *
+ */
+ @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Long lat;
+
+ /**
+ * 工单类型(0:拍照 1:喊话)
+ */
+ @NotBlank(message = "工单类型(0:拍照 1:喊话)不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String taskType;
+
+ /**
+ * 期望完成时间
+ */
+ @NotNull(message = "期望完成时间不能为空", groups = { AddGroup.class, EditGroup.class })
+ private Date expectTime;
+
+ /**
+ * 说明
+ */
+ @NotBlank(message = "说明不能为空", groups = { AddGroup.class, EditGroup.class })
+ private String explain;
+
+ /**
+ * 完成时间
+ */
+
+ private Date completeTime;
+
+ /**
+ * 工单状态(0预约中 1 等待中,2执行中 3 未完成 4已完结 )
+ */
+
+ private String status;
+
+
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessOperationVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessOperationVo.java
new file mode 100644
index 0000000..0738e38
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessOperationVo.java
@@ -0,0 +1,81 @@
+package org.dromara.business.domain.vo;
+
+import java.util.Date;
+
+import org.dromara.business.domain.BusinessOperation;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+
+/**
+ * 运营中心-工单处理视图对象 business_operation
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = BusinessOperation.class)
+public class BusinessOperationVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long id;
+
+ /**
+ * 工单id
+ */
+ @ExcelProperty(value = "工单id")
+ private Long taskId;
+
+ /**
+ * 处理人id
+ */
+ @ExcelProperty(value = "处理人id")
+ private Long userId;
+
+ /**
+ * 处理人昵称
+ */
+ @ExcelProperty(value = "处理人昵称")
+ private String nickName;
+
+ /**
+ * 工单状态(0预约中 1 等待中,2执行中 3 未完成 4已完结 )
+ */
+ @ExcelProperty(value = "工单状态", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "0=预约中,1=,等待中,2执行中,3=,未完成,4=已完结")
+ private String taskStatus;
+
+ /**
+ * 飞行时间
+ */
+ @ExcelProperty(value = "飞行时间")
+ private Date flightTime;
+
+ /**
+ * 说明
+ */
+ @ExcelProperty(value = "说明")
+ private String explain;
+
+ /**
+ * 设备sn
+ */
+ @ExcelProperty(value = "设备sn")
+ private String deviceSn;
+
+
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java
new file mode 100644
index 0000000..8636030
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java
@@ -0,0 +1,85 @@
+package org.dromara.business.domain.vo;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import org.dromara.business.domain.BusinessTask;
+import org.dromara.common.excel.annotation.ExcelDictFormat;
+import org.dromara.common.excel.convert.ExcelDictConvert;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+
+
+/**
+ * 工单预约视图对象 business_task
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@Data
+@ExcelIgnoreUnannotated
+@AutoMapper(target = BusinessTask.class)
+public class BusinessTaskVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long id;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long lng;
+
+ /**
+ *
+ */
+ @ExcelProperty(value = "")
+ private Long lat;
+
+ /**
+ * 工单类型(0:拍照 1:喊话)
+ */
+ @ExcelProperty(value = "工单类型", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "0=:拍照,1=:喊话")
+ private String taskType;
+
+ /**
+ * 期望完成时间
+ */
+ @ExcelProperty(value = "期望完成时间")
+ private Date expectTime;
+
+ /**
+ * 说明
+ */
+ @ExcelProperty(value = "说明")
+ private String explain;
+
+ /**
+ * 完成时间
+ */
+ @ExcelProperty(value = "完成时间")
+ private Date completeTime;
+
+ /**
+ * 工单状态(0预约中 1 等待中,2执行中 3 未完成 4已完结 )
+ */
+ @ExcelProperty(value = "工单状态", converter = ExcelDictConvert.class)
+ @ExcelDictFormat(readConverterExp = "0=预约中,1=,等=待中,2执行中,3=,未=完成,4=已完结")
+ private String status;
+
+
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessOperationMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessOperationMapper.java
new file mode 100644
index 0000000..39f48f4
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessOperationMapper.java
@@ -0,0 +1,16 @@
+package org.dromara.business.mapper;
+
+
+import org.dromara.business.domain.BusinessOperation;
+import org.dromara.business.domain.vo.BusinessOperationVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 运营中心-工单处理Mapper接口
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+public interface BusinessOperationMapper extends BaseMapperPlus {
+
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java
new file mode 100644
index 0000000..5275417
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java
@@ -0,0 +1,18 @@
+package org.dromara.business.mapper;
+
+
+import org.dromara.business.domain.BusinessTask;
+import org.dromara.business.domain.vo.BusinessTaskVo;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+
+/**
+ * 工单预约Mapper接口
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+public interface BusinessTaskMapper extends BaseMapperPlus {
+
+
+ int distance();
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessOperationService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessOperationService.java
new file mode 100644
index 0000000..981bf0c
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessOperationService.java
@@ -0,0 +1,68 @@
+package org.dromara.business.service;
+
+
+import org.dromara.business.domain.bo.BusinessOperationBo;
+import org.dromara.business.domain.vo.BusinessOperationVo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 运营中心-工单处理Service接口
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+public interface IBusinessOperationService {
+
+ /**
+ * 查询运营中心-工单处理
+ *
+ * @param id 主键
+ * @return 运营中心-工单处理
+ */
+ BusinessOperationVo queryById(Long id);
+
+ /**
+ * 分页查询运营中心-工单处理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 运营中心-工单处理分页列表
+ */
+ TableDataInfo queryPageList(BusinessOperationBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的运营中心-工单处理列表
+ *
+ * @param bo 查询条件
+ * @return 运营中心-工单处理列表
+ */
+ List queryList(BusinessOperationBo bo);
+
+ /**
+ * 新增运营中心-工单处理
+ *
+ * @param bo 运营中心-工单处理
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(BusinessOperationBo bo);
+
+ /**
+ * 修改运营中心-工单处理
+ *
+ * @param bo 运营中心-工单处理
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(BusinessOperationBo bo);
+
+ /**
+ * 校验并批量删除运营中心-工单处理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessTaskService.java b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessTaskService.java
new file mode 100644
index 0000000..67d0274
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/service/IBusinessTaskService.java
@@ -0,0 +1,69 @@
+package org.dromara.business.service;
+
+
+import org.dromara.business.domain.bo.BusinessTaskBo;
+import org.dromara.business.domain.vo.BusinessTaskVo;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 工单预约Service接口
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+public interface IBusinessTaskService {
+
+ /**
+ * 查询工单预约
+ *
+ * @param id 主键
+ * @return 工单预约
+ */
+ BusinessTaskVo queryById(Long id);
+
+ /**
+ * 分页查询工单预约列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 工单预约分页列表
+ */
+ TableDataInfo queryPageList(BusinessTaskBo bo, PageQuery pageQuery);
+
+ /**
+ * 查询符合条件的工单预约列表
+ *
+ * @param bo 查询条件
+ * @return 工单预约列表
+ */
+ List queryList(BusinessTaskBo bo);
+
+ /**
+ * 新增工单预约
+ *
+ * @param bo 工单预约
+ * @return 是否新增成功
+ */
+ Boolean insertByBo(BusinessTaskBo bo);
+
+ /**
+ * 修改工单预约
+ *
+ * @param bo 工单预约
+ * @return 是否修改成功
+ */
+ Boolean updateByBo(BusinessTaskBo bo);
+
+ /**
+ * 校验并批量删除工单预约信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ Boolean deleteWithValidByIds(Collection ids, Boolean isValid);
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessOperationServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessOperationServiceImpl.java
new file mode 100644
index 0000000..ddfa101
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessOperationServiceImpl.java
@@ -0,0 +1,139 @@
+package org.dromara.business.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.dromara.business.domain.BusinessOperation;
+import org.dromara.business.domain.bo.BusinessOperationBo;
+import org.dromara.business.domain.vo.BusinessOperationVo;
+import org.dromara.business.mapper.BusinessOperationMapper;
+import org.dromara.business.service.IBusinessOperationService;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 运营中心-工单处理Service业务层处理
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@RequiredArgsConstructor
+@Service
+public class BusinessOperationServiceImpl implements IBusinessOperationService {
+
+ private final BusinessOperationMapper baseMapper;
+
+ /**
+ * 查询运营中心-工单处理
+ *
+ * @param id 主键
+ * @return 运营中心-工单处理
+ */
+ @Override
+ public BusinessOperationVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询运营中心-工单处理列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 运营中心-工单处理分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(BusinessOperationBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的运营中心-工单处理列表
+ *
+ * @param bo 查询条件
+ * @return 运营中心-工单处理列表
+ */
+ @Override
+ public List queryList(BusinessOperationBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(BusinessOperationBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getTaskId() != null, BusinessOperation::getTaskId, bo.getTaskId());
+ lqw.eq(bo.getUserId() != null, BusinessOperation::getUserId, bo.getUserId());
+ lqw.like(StringUtils.isNotBlank(bo.getNickName()), BusinessOperation::getNickName, bo.getNickName());
+ lqw.eq(StringUtils.isNotBlank(bo.getTaskStatus()), BusinessOperation::getTaskStatus, bo.getTaskStatus());
+ lqw.eq(bo.getFlightTime() != null, BusinessOperation::getFlightTime, bo.getFlightTime());
+ lqw.eq(StringUtils.isNotBlank(bo.getExplain()), BusinessOperation::getExplain, bo.getExplain());
+ lqw.eq(StringUtils.isNotBlank(bo.getDeviceSn()), BusinessOperation::getDeviceSn, bo.getDeviceSn());
+ return lqw;
+ }
+
+ /**
+ * 新增运营中心-工单处理
+ *
+ * @param bo 运营中心-工单处理
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(BusinessOperationBo bo) {
+ BusinessOperation add = MapstructUtils.convert(bo, BusinessOperation.class);
+ validEntityBeforeSave(add);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改运营中心-工单处理
+ *
+ * @param bo 运营中心-工单处理
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(BusinessOperationBo bo) {
+ BusinessOperation update = MapstructUtils.convert(bo, BusinessOperation.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(BusinessOperation entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除运营中心-工单处理信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java
new file mode 100644
index 0000000..a9c9302
--- /dev/null
+++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java
@@ -0,0 +1,135 @@
+package org.dromara.business.service.impl;
+
+import org.dromara.business.domain.BusinessTask;
+import org.dromara.business.domain.bo.BusinessTaskBo;
+import org.dromara.business.domain.vo.BusinessTaskVo;
+import org.dromara.business.mapper.BusinessTaskMapper;
+import org.dromara.business.service.IBusinessTaskService;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 工单预约Service业务层处理
+ *
+ * @author LionLi
+ * @date 2025-02-26
+ */
+@RequiredArgsConstructor
+@Service
+public class BusinessTaskServiceImpl implements IBusinessTaskService {
+
+ private final BusinessTaskMapper baseMapper;
+
+ /**
+ * 查询工单预约
+ *
+ * @param id 主键
+ * @return 工单预约
+ */
+ @Override
+ public BusinessTaskVo queryById(Long id){
+ return baseMapper.selectVoById(id);
+ }
+
+ /**
+ * 分页查询工单预约列表
+ *
+ * @param bo 查询条件
+ * @param pageQuery 分页参数
+ * @return 工单预约分页列表
+ */
+ @Override
+ public TableDataInfo queryPageList(BusinessTaskBo bo, PageQuery pageQuery) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+ return TableDataInfo.build(result);
+ }
+
+ /**
+ * 查询符合条件的工单预约列表
+ *
+ * @param bo 查询条件
+ * @return 工单预约列表
+ */
+ @Override
+ public List queryList(BusinessTaskBo bo) {
+ LambdaQueryWrapper lqw = buildQueryWrapper(bo);
+ return baseMapper.selectVoList(lqw);
+ }
+
+ private LambdaQueryWrapper buildQueryWrapper(BusinessTaskBo bo) {
+ Map params = bo.getParams();
+ LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
+ lqw.eq(bo.getLng() != null, BusinessTask::getLng, bo.getLng());
+ lqw.eq(bo.getLat() != null, BusinessTask::getLat, bo.getLat());
+ lqw.eq(StringUtils.isNotBlank(bo.getTaskType()), BusinessTask::getTaskType, bo.getTaskType());
+ lqw.eq(bo.getExpectTime() != null, BusinessTask::getExpectTime, bo.getExpectTime());
+ lqw.eq(StringUtils.isNotBlank(bo.getExplain()), BusinessTask::getExplain, bo.getExplain());
+ lqw.eq(bo.getCompleteTime() != null, BusinessTask::getCompleteTime, bo.getCompleteTime());
+ lqw.eq(StringUtils.isNotBlank(bo.getStatus()), BusinessTask::getStatus, bo.getStatus());
+ return lqw;
+ }
+
+ /**
+ * 新增工单预约
+ *
+ * @param bo 工单预约
+ * @return 是否新增成功
+ */
+ @Override
+ public Boolean insertByBo(BusinessTaskBo bo) {
+ BusinessTask add = MapstructUtils.convert(bo, BusinessTask.class);
+ boolean flag = baseMapper.insert(add) > 0;
+ if (flag) {
+ bo.setId(add.getId());
+ }
+ return flag;
+ }
+
+ /**
+ * 修改工单预约
+ *
+ * @param bo 工单预约
+ * @return 是否修改成功
+ */
+ @Override
+ public Boolean updateByBo(BusinessTaskBo bo) {
+ BusinessTask update = MapstructUtils.convert(bo, BusinessTask.class);
+ validEntityBeforeSave(update);
+ return baseMapper.updateById(update) > 0;
+ }
+
+ /**
+ * 保存前的数据校验
+ */
+ private void validEntityBeforeSave(BusinessTask entity){
+ //TODO 做一些数据校验,如唯一约束
+ }
+
+ /**
+ * 校验并批量删除工单预约信息
+ *
+ * @param ids 待删除的主键集合
+ * @param isValid 是否进行有效性校验
+ * @return 是否删除成功
+ */
+ @Override
+ public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
+ if(isValid){
+ //TODO 做一些业务上的校验,判断是否需要校验
+ }
+ return baseMapper.deleteByIds(ids) > 0;
+ }
+}
diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessOperationMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessOperationMapper.xml
new file mode 100644
index 0000000..43344a2
--- /dev/null
+++ b/dk-modules/business/src/main/resources/mapper/business/BusinessOperationMapper.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml b/dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml
new file mode 100644
index 0000000..72e21e6
--- /dev/null
+++ b/dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/dk-modules/business/src/main/resources/mapper/package-info.md b/dk-modules/business/src/main/resources/mapper/package-info.md
new file mode 100644
index 0000000..c938b1e
--- /dev/null
+++ b/dk-modules/business/src/main/resources/mapper/package-info.md
@@ -0,0 +1,3 @@
+java包使用 `.` 分割 resource 目录使用 `/` 分割
+
+此文件目的 防止文件夹粘连找不到 `xml` 文件
\ No newline at end of file
diff --git a/dk-visual/nacos/src/main/resources/application.properties b/dk-visual/nacos/src/main/resources/application.properties
index b33d857..972740f 100644
--- a/dk-visual/nacos/src/main/resources/application.properties
+++ b/dk-visual/nacos/src/main/resources/application.properties
@@ -42,7 +42,7 @@ db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/dk_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
db.user.0=root
-db.password.0=dkcy@yf
+db.password.0=123456
### the maximum retry times for push
nacos.config.push.maxRetryTime=50
diff --git a/pom.xml b/pom.xml
index ad11530..151f8d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -79,12 +79,12 @@
dev
- 114.235.183.147:8848
+ 127.0.0.1:8848
DEFAULT_GROUP
DEFAULT_GROUP
nacos
nacos
- 114.235.183.147:4560
+ 127.0.0.1:4560