Browse Source

提交

pull/1/head
袁强 4 months ago
parent
commit
c7ae8fa3cc
  1. 2
      dk-api/api-bom/pom.xml
  2. 2
      dk-api/api-workflow/pom.xml
  3. 2
      dk-auth/pom.xml
  4. 2
      dk-auth/src/main/java/org/dromara/auth/DKAuthApplication.java
  5. 2
      dk-auth/src/main/java/org/dromara/auth/controller/TokenController.java
  6. 2
      dk-common/common-dubbo/pom.xml
  7. 2
      dk-common/common-encrypt/pom.xml
  8. 2
      dk-common/common-idempotent/pom.xml
  9. 2
      dk-common/common-seata/pom.xml
  10. 2
      dk-common/common-security/pom.xml
  11. 2
      dk-common/common-sensitive/pom.xml
  12. 2
      dk-common/common-sentinel/pom.xml
  13. 2
      dk-common/common-tenant/pom.xml
  14. 2
      dk-common/common-translation/pom.xml
  15. 15
      dk-modules/business/pom.xml
  16. 2
      dk-modules/business/src/main/java/org/dromara/business/BusinessApplication.java
  17. 109
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessOperationController.java
  18. 107
      dk-modules/business/src/main/java/org/dromara/business/controller/BusinessTaskController.java
  19. 65
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessOperation.java
  20. 59
      dk-modules/business/src/main/java/org/dromara/business/domain/BusinessTask.java
  21. 81
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessOperationBo.java
  22. 74
      dk-modules/business/src/main/java/org/dromara/business/domain/bo/BusinessTaskBo.java
  23. 81
      dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessOperationVo.java
  24. 85
      dk-modules/business/src/main/java/org/dromara/business/domain/vo/BusinessTaskVo.java
  25. 16
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessOperationMapper.java
  26. 18
      dk-modules/business/src/main/java/org/dromara/business/mapper/BusinessTaskMapper.java
  27. 68
      dk-modules/business/src/main/java/org/dromara/business/service/IBusinessOperationService.java
  28. 69
      dk-modules/business/src/main/java/org/dromara/business/service/IBusinessTaskService.java
  29. 139
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessOperationServiceImpl.java
  30. 135
      dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessTaskServiceImpl.java
  31. 7
      dk-modules/business/src/main/resources/mapper/business/BusinessOperationMapper.xml
  32. 19
      dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml
  33. 3
      dk-modules/business/src/main/resources/mapper/package-info.md
  34. 2
      dk-visual/nacos/src/main/resources/application.properties
  35. 4
      pom.xml

2
dk-api/api-bom/pom.xml

@ -11,7 +11,7 @@
<version>${revision}</version>
<description>
ruoyi-api-bom api依赖项
api-bom api依赖项
</description>
<properties>

2
dk-api/api-workflow/pom.xml

@ -12,7 +12,7 @@
<artifactId>api-workflow</artifactId>
<description>
ruoyi-api-workflow 工作流接口模块
api-workflow 工作流接口模块
</description>
<dependencies>

2
dk-auth/pom.xml

@ -11,7 +11,7 @@
<artifactId>dk-auth</artifactId>
<description>
ruoyi-auth 认证授权中心
auth 认证授权中心
</description>
<dependencies>

2
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));

2
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);
}

2
dk-common/common-dubbo/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-dubbo</artifactId>
<description>
ruoyi-common-dubbo RPC服务
common-dubbo RPC服务
</description>
<dependencies>

2
dk-common/common-encrypt/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-encrypt</artifactId>
<description>
ruoyi-common-encrypt 数据加解密模块
common-encrypt 数据加解密模块
</description>
<dependencies>

2
dk-common/common-idempotent/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-idempotent</artifactId>
<description>
ruoyi-common-idempotent 幂等功能
common-idempotent 幂等功能
</description>
<dependencies>

2
dk-common/common-seata/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-seata</artifactId>
<description>
ruoyi-common-seata 分布式事务
common-seata 分布式事务
</description>
<dependencies>

2
dk-common/common-security/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-security</artifactId>
<description>
ruoyi-common-security 安全模块
common-security 安全模块
</description>
<dependencies>

2
dk-common/common-sensitive/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-sensitive</artifactId>
<description>
ruoyi-common-sensitive 脱敏模块
common-sensitive 脱敏模块
</description>
<dependencies>

2
dk-common/common-sentinel/pom.xml

@ -11,7 +11,7 @@
<artifactId>common-sentinel</artifactId>
<description>
ruoyi-common-sentinel 限流模块
common-sentinel 限流模块
</description>
<dependencies>

2
dk-common/common-tenant/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-tenant</artifactId>
<description>
ruoyi-common-tenant 租户模块
common-tenant 租户模块
</description>
<dependencies>

2
dk-common/common-translation/pom.xml

@ -12,7 +12,7 @@
<artifactId>common-translation</artifactId>
<description>
ruoyi-common-translation 通用翻译功能
common-translation 通用翻译功能
</description>
<dependencies>

15
dk-modules/business/pom.xml

@ -6,7 +6,7 @@
<parent>
<groupId>org.dromara</groupId>
<artifactId>dk-modules</artifactId>
<version>2.2.2</version>
<version>${revision}</version>
</parent>
<artifactId>business</artifactId>
@ -91,19 +91,7 @@
<artifactId>common-encrypt</artifactId>
</dependency>
<!-- RuoYi Api System -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>api-system</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>api-resource</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
@ -122,4 +110,5 @@
</plugins>
</build>
</project>

2
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);

109
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<BusinessOperationVo> 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<BusinessOperationVo> list = businessOperationService.queryList(bo);
ExcelUtil.exportExcel(list, "运营中心-工单处理", BusinessOperationVo.class, response);
}
/**
* 获取运营中心-工单处理详细信息
*
* @param id 主键
*/
@SaCheckPermission("system:operation:query")
@GetMapping("/{id}")
public R<BusinessOperationVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(businessOperationService.deleteWithValidByIds(List.of(ids), true));
}
}

107
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<BusinessTaskVo> 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<BusinessTaskVo> list = businessTaskService.queryList(bo);
ExcelUtil.exportExcel(list, "工单预约", BusinessTaskVo.class, response);
}
/**
* 获取工单预约详细信息
*
* @param id 主键
*/
@SaCheckPermission("system:task:query")
@GetMapping("/{id}")
public R<BusinessTaskVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(businessTaskService.deleteWithValidByIds(List.of(ids), true));
}
}

65
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;
}

59
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;
}

81
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<String, Object> params = new HashMap<>();
private String fileId;
}

74
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;
}

81
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;
}

85
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;
}

16
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<BusinessOperation, BusinessOperationVo> {
}

18
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<BusinessTask, BusinessTaskVo> {
int distance();
}

68
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<BusinessOperationVo> queryPageList(BusinessOperationBo bo, PageQuery pageQuery);
/**
* 查询符合条件的运营中心-工单处理列表
*
* @param bo 查询条件
* @return 运营中心-工单处理列表
*/
List<BusinessOperationVo> 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<Long> ids, Boolean isValid);
}

69
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<BusinessTaskVo> queryPageList(BusinessTaskBo bo, PageQuery pageQuery);
/**
* 查询符合条件的工单预约列表
*
* @param bo 查询条件
* @return 工单预约列表
*/
List<BusinessTaskVo> 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<Long> ids, Boolean isValid);
}

139
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<BusinessOperationVo> queryPageList(BusinessOperationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<BusinessOperation> lqw = buildQueryWrapper(bo);
Page<BusinessOperationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的运营中心-工单处理列表
*
* @param bo 查询条件
* @return 运营中心-工单处理列表
*/
@Override
public List<BusinessOperationVo> queryList(BusinessOperationBo bo) {
LambdaQueryWrapper<BusinessOperation> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<BusinessOperation> buildQueryWrapper(BusinessOperationBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusinessOperation> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

135
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<BusinessTaskVo> queryPageList(BusinessTaskBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<BusinessTask> lqw = buildQueryWrapper(bo);
Page<BusinessTaskVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的工单预约列表
*
* @param bo 查询条件
* @return 工单预约列表
*/
@Override
public List<BusinessTaskVo> queryList(BusinessTaskBo bo) {
LambdaQueryWrapper<BusinessTask> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<BusinessTask> buildQueryWrapper(BusinessTaskBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BusinessTask> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

7
dk-modules/business/src/main/resources/mapper/business/BusinessOperationMapper.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.business.mapper.BusinessOperationMapper">
</mapper>

19
dk-modules/business/src/main/resources/mapper/business/BusinessTaskMapper.xml

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.business.mapper.BusinessTaskMapper">
<select id="distance" resultType="java.lang.Integer">
SELECT device_id,
name,
latitude,
longitude,
ST_Distance(
POINT(longitude, latitude),
POLYGON(POINT(:lon1, :lat1), POINT(:lon2, :lat2), POINT(:lon3, :lat3), ...)
) AS distance
FROM devices;
</select>
</mapper>

3
dk-modules/business/src/main/resources/mapper/package-info.md

@ -0,0 +1,3 @@
java包使用 `.` 分割 resource 目录使用 `/` 分割
<br>
此文件目的 防止文件夹粘连找不到 `xml` 文件

2
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

4
pom.xml

@ -79,12 +79,12 @@
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<nacos.server>114.235.183.147:8848</nacos.server>
<nacos.server>127.0.0.1:8848</nacos.server>
<nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
<nacos.config.group>DEFAULT_GROUP</nacos.config.group>
<nacos.username>nacos</nacos.username>
<nacos.password>nacos</nacos.password>
<logstash.address>114.235.183.147:4560</logstash.address>
<logstash.address>127.0.0.1:4560</logstash.address>
</properties>
<activation>
<!-- 默认环境 -->

Loading…
Cancel
Save