From 5e2acc9a099a711578765dc7821046ccdf746d66 Mon Sep 17 00:00:00 2001 From: yq183 <645046984@qq.com> Date: Fri, 21 Mar 2025 14:05:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=EF=BC=9A=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=A3=9E=E8=A1=8C=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/log/enums/OperatorType.java | 7 +- .../controller/DeviceQrtzController.java | 115 ++++++++++++++ .../manage/mapper/IDeviceQrtzDateMapper.java | 17 +++ .../manage/mapper/IDeviceQrtzFileMapper.java | 12 ++ .../manage/mapper/IDeviceQrtzMapper.java | 39 +++++ .../manage/model/dto/DeviceQrtzDTO.java | 93 ++++++++++++ .../manage/model/dto/DeviceQrtzDateDTO.java | 76 ++++++++++ .../manage/model/dto/DeviceQrtzFileDTO.java | 84 ++++++++++ .../model/entity/DeviceQrtzDateEntity.java | 81 ++++++++++ .../manage/model/entity/DeviceQrtzEntity.java | 81 ++++++++++ .../model/entity/DeviceQrtzFileEntity.java | 86 +++++++++++ .../service/IDeviceQrtzDateService.java | 14 ++ .../service/IDeviceQrtzFileService.java | 8 + .../manage/service/IDeviceQrtzService.java | 48 ++++++ .../impl/DeviceQrtzDateServiceImpl.java | 24 +++ .../impl/DeviceQrtzFileServiceImpl.java | 13 ++ .../service/impl/DeviceQrtzServiceImpl.java | 143 ++++++++++++++++++ .../resources/mapper/DeviceQrtzDateMapper.xml | 22 +++ .../resources/mapper/DeviceQrtzFileMapper.xml | 9 ++ .../resources/mapper/DeviceQrtzMapper.xml | 55 +++++++ pom.xml | 2 +- 21 files changed, 1027 insertions(+), 2 deletions(-) create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzDateMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzFileMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzMapper.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDateDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzFileDTO.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzDateService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzFileService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzService.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzDateServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzFileServiceImpl.java create mode 100644 dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java create mode 100644 dk-modules/sample/src/main/resources/mapper/DeviceQrtzDateMapper.xml create mode 100644 dk-modules/sample/src/main/resources/mapper/DeviceQrtzFileMapper.xml create mode 100644 dk-modules/sample/src/main/resources/mapper/DeviceQrtzMapper.xml diff --git a/dk-common/common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java b/dk-common/common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java index de9328b..747cf4c 100644 --- a/dk-common/common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java +++ b/dk-common/common-log/src/main/java/org/dromara/common/log/enums/OperatorType.java @@ -19,5 +19,10 @@ public enum OperatorType { /** * 手机端用户 */ - MOBILE + MOBILE , + + /** + * 前台用户 + */ + CLIENTELE } diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java new file mode 100644 index 0000000..ecb05d5 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/controller/DeviceQrtzController.java @@ -0,0 +1,115 @@ +package org.dromara.sample.manage.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +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.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.sample.manage.model.dto.DeviceQrtzDTO; +import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; +import org.dromara.sample.manage.service.IDeviceQrtzDateService; +import org.dromara.sample.manage.service.IDeviceQrtzService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @auther yq + * @data 2025/3/21 + */ + +@RestController +@RequestMapping("/devict/qrtz") +@Validated +@Tag(name = "自动飞行设备模块") +public class DeviceQrtzController extends BaseController { + + @Autowired + private IDeviceQrtzService deviceQrtzService; + + + /** + *自动飞行设备列表 + * */ + @SaCheckPermission("devict:qrtz:list") + @GetMapping(value = "/page") + public TableDataInfo queryPageDept(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, DeviceQrtzDTO deviceQrtzDTO) { + Page page = new Page(pageNo,pageSize); + return deviceQrtzService.listManageDeviceQrtz(page, deviceQrtzDTO); + } + /** + *自动飞行日历列表 + * + * */ + @SaCheckPermission("devict:qrtz:list") + @GetMapping(value = "/listFileExecDate") + public R>> listFileExecDate(String qrtzId) { + List waylineDeviceQrtzFiles = deviceQrtzService.manageDeviceQrtzFileByQrtzId(qrtzId); + Map> listMap = waylineDeviceQrtzFiles.stream().filter(f-> ObjectUtil.isNotEmpty(f.getExecDate())).collect(Collectors.groupingBy(DeviceQrtzFileEntity::getExecDate)); + return R.ok(listMap); + } + + /** + * 设备定时飞行详情 + * + * @param id 主键 + */ + @SaCheckPermission("devict:qrtz:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + DeviceQrtzEntity deviceQrtzEntity = deviceQrtzService.queryById(id); + return R.ok(deviceQrtzEntity); + } + + /** + * 自动飞行编辑 + */ + @SaCheckPermission("devict:qrtz:edit") + @Log(title = "自动飞行编辑", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DeviceQrtzEntity entity) { + return toAjax(deviceQrtzService.updateByBo(entity)); + } + /** + * 自动飞行新增 + */ + @SaCheckPermission("devict:qrtz:add") + @Log(title = "自动飞行新增", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PutMapping() + public R add(@Validated(AddGroup.class) @RequestBody DeviceQrtzEntity entity) { + return toAjax(deviceQrtzService.updateByBo(entity)); + } + + /** + * 自动飞行删除 + * + * @param ids 主键串 + */ + @SaCheckPermission("system:client:remove") + @Log(title = "自动飞行删除", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(deviceQrtzService.deleteIds(List.of(ids))); + } +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzDateMapper.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzDateMapper.java new file mode 100644 index 0000000..775d212 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzDateMapper.java @@ -0,0 +1,17 @@ +package org.dromara.sample.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; + +import java.util.List; + +/** + * @auther yq + * @data 2025/3/20 + */ +public interface IDeviceQrtzDateMapper extends BaseMapper { + List listDeviceQrtzDateByQrtzIdAndDate(@Param("condition") DeviceQrtzDateEntity deviceQrtzDateEntity); + + List listDeviceQrtzDateByQrtzAndDate(@Param("qrtzId") Long qrtzId); +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzFileMapper.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzFileMapper.java new file mode 100644 index 0000000..3b89f68 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzFileMapper.java @@ -0,0 +1,12 @@ +package org.dromara.sample.manage.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.dromara.sample.manage.model.entity.DevicePayloadEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; + +/** + * @auther yq + * @data 2025/3/20 + */ +public interface IDeviceQrtzFileMapper extends BaseMapper { +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzMapper.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzMapper.java new file mode 100644 index 0000000..5a09fd7 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/mapper/IDeviceQrtzMapper.java @@ -0,0 +1,39 @@ +package org.dromara.sample.manage.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; + +import org.dromara.sample.manage.model.dto.DeviceQrtzDTO; +import org.dromara.sample.manage.model.entity.DeviceQrtzEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; + +import java.text.ParseException; +import java.util.List; +import java.util.Map; + +/** + * @auther yq + * @data 2025/3/20 + */ +public interface IDeviceQrtzMapper extends BaseMapper { + + + IPage listManageDeviceQrtz(Page page, @Param("condition") DeviceQrtzDTO deviceQrtzDTO); + + List listManageDeviceQrtz( @Param("condition") DeviceQrtzDTO deviceQrtzDTO); + List manageDeviceQrtzFileByQrtzId(@Param("qrtzId") String qrtzId); + + + + + + + + + + + + + +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDTO.java new file mode 100644 index 0000000..ac17929 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDTO.java @@ -0,0 +1,93 @@ +package org.dromara.sample.manage.model.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @auther yq + * @data 2025/3/20 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DeviceQrtzDTO { + + /** + * id + */ + @NotNull(message = "id不能为空", groups = { EditGroup.class }) + @TableId(type = IdType.AUTO) + private Long id; + + /** + * sn + */ + private String deviceSn; + /** + * deviceId + */ + + private String deviceId; + /** + * 飞行计划名称 + */ + private String name; + + /** + 状态(1-使用,2-暂停,0-异常暂停) + */ + private Integer status; + + /** + 计划时间 + */ + private List deviceQrtzDates = new ArrayList<>(); + + /** + 计划航线 + */ + private List deviceQrtzFiles = new ArrayList<>(); + + + + /** + * 创建人 + */ + + private String createBy; + + /** + * 创建时间 + */ + + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 删除 0 正常 1已删除 + */ + private Integer delFlag; +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDateDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDateDTO.java new file mode 100644 index 0000000..1d393c5 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzDateDTO.java @@ -0,0 +1,76 @@ +package org.dromara.sample.manage.model.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @auther yq + * @data 2025/3/20 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DeviceQrtzDateDTO { + /** + * ID + */ + @TableId(type = IdType.AUTO) + private String id; + + /**任务id*/ + private String qrtzId; + + /** + * 开始时间 + */ + private String startDate; + + /** + * 结束时间 + */ + private String endDate; + + + @TableField(exist = false) + private String currentDate; + + + /** + * 创建人 + */ + + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + + private String updateBy; + + /** + * 更新时间 + */ + + private Date updateTime; + + /** + * 删除 0 正常 1已删除 + */ + + private Integer delFlag; + +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzFileDTO.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzFileDTO.java new file mode 100644 index 0000000..9709e34 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/dto/DeviceQrtzFileDTO.java @@ -0,0 +1,84 @@ +package org.dromara.sample.manage.model.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * @auther yq + * @data 2025/3/20 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DeviceQrtzFileDTO { + /** + * ID + */ + @TableId(type = IdType.AUTO) + private String id; + private String qrtzId; + + + private String fileId; + + + private String waylineName; + + + private String sort; + + + private Integer status; + + @TableField(exist = false) + private Integer fileNumber; + + @TableField(exist = false) + private String fileStr; + + + + private Date flightDate; + + + private Date execDate; + + /** + * 创建人 + */ + + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + + private String updateBy; + + /** + * 更新时间 + */ + + private Date updateTime; + + /** + * 删除 0 正常 1已删除 + */ + + private Integer delFlag; + +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java new file mode 100644 index 0000000..03c677c --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzDateEntity.java @@ -0,0 +1,81 @@ +package org.dromara.sample.manage.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @auther yq + * @data 2025/3/20 + */ +@TableName("manage_device_qrtz_date") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeviceQrtzDateEntity implements Serializable { + + /** + * ID + */ + @TableId(type = IdType.AUTO) + private Long id; + + /**任务id*/ + private String qrtzId; + + /** + * 开始时间 + */ + private String startDate; + + /** + * 结束时间 + */ + private String endDate; + + + + + /** + * 创建人 + */ + + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + + private String updateBy; + + /** + * 更新时间 + */ + + private Date updateTime; + + /** + * 删除 0 正常 1已删除 + */ + + private Integer delFlag; + + +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzEntity.java new file mode 100644 index 0000000..dc2e6c4 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzEntity.java @@ -0,0 +1,81 @@ +package org.dromara.sample.manage.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + + +/** + * @Description: + * @Author: wy + * @Date: 2023-03-07 + * @Version: V1.0 + */ + +@TableName("manage_device_qrtz") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeviceQrtzEntity implements Serializable { + + @TableId(type = IdType.AUTO) + private String id; + + private String deviceId; + + private String name; + + private Integer status; + + private String deviceSn; + /** + 计划时间 + */ + @TableField(exist = false) + private List deviceQrtzDates = new ArrayList<>(); + + /** + 计划航线 + */ + @TableField(exist = false) + private List deviceQrtzFiles = new ArrayList<>(); + + + /** + * 创建人 + */ + + private String createBy; + + /** + * 创建时间 + */ + + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 删除 0 正常 1已删除 + */ + private Integer delFlag; + +} + diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java new file mode 100644 index 0000000..8b57218 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/model/entity/DeviceQrtzFileEntity.java @@ -0,0 +1,86 @@ +package org.dromara.sample.manage.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @auther yq + * @data 2025/3/20 + */ +@TableName("manage_device_qrtz_file") +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DeviceQrtzFileEntity implements Serializable { + + /** + * ID + */ + @TableId(type = IdType.AUTO) + private String id; + private String qrtzId; + + + private String fileId; + + + private String waylineName; + + + private String sort; + + + private Integer status; + + + + + + private Date flightDate; + + + private Date execDate; + + /** + * 创建人 + */ + + + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + + private String updateBy; + + /** + * 更新时间 + */ + + private Date updateTime; + + /** + * 删除 0 正常 1已删除 + */ + + private Integer delFlag; + +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzDateService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzDateService.java new file mode 100644 index 0000000..602a9ec --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzDateService.java @@ -0,0 +1,14 @@ +package org.dromara.sample.manage.service; + +import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; + +import java.util.List; + +/** + * @auther yq + * @data 2025/3/20 + */ +public interface IDeviceQrtzDateService { + + List listManageDeviceQrtzDate(Long qrtzId); +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzFileService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzFileService.java new file mode 100644 index 0000000..fa2c113 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzFileService.java @@ -0,0 +1,8 @@ +package org.dromara.sample.manage.service; + +/** + * @auther yq + * @data 2025/3/20 + */ +public interface IDeviceQrtzFileService { +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzService.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzService.java new file mode 100644 index 0000000..87a5108 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/IDeviceQrtzService.java @@ -0,0 +1,48 @@ +package org.dromara.sample.manage.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.sample.manage.model.dto.DeviceDTO; +import org.dromara.sample.manage.model.dto.DeviceQrtzDTO; +import org.dromara.sample.manage.model.dto.DeviceQrtzFileDTO; +import org.dromara.sample.manage.model.entity.DeviceQrtzEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; + +import java.text.ParseException; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * @auther yq + * @data 2025/3/20 + */ +public interface IDeviceQrtzService { + + TableDataInfo listManageDeviceQrtz(Page page, DeviceQrtzDTO deviceQrtzDTO); + + + DeviceQrtzEntity queryById(Long id); + + List listManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO); + Map calendarList(String time) throws ParseException; + + boolean addAndUpdateManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO); + + boolean addManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO); + + boolean updateManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO); + + boolean deleteManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO); + + List manageDeviceQrtzFileByQrtzId(String qrtzId); + boolean copy(String deviceSn,String starDate,String endDate); + boolean deleteManageDeviceQrtzFile(String id); + + void jobWayline(DeviceDTO deviceDTO); + + Boolean updateByBo(DeviceQrtzEntity entity); + Boolean add(DeviceQrtzEntity entity); + Boolean deleteIds(Collection ids); +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzDateServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzDateServiceImpl.java new file mode 100644 index 0000000..600bc66 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzDateServiceImpl.java @@ -0,0 +1,24 @@ +package org.dromara.sample.manage.service.impl; + +import org.dromara.sample.manage.mapper.IDeviceQrtzDateMapper; +import org.dromara.sample.manage.mapper.IDeviceQrtzMapper; +import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; +import org.dromara.sample.manage.service.IDeviceQrtzDateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @auther yq + * @data 2025/3/20 + */ +@Service +public class DeviceQrtzDateServiceImpl implements IDeviceQrtzDateService { + @Autowired + private IDeviceQrtzDateMapper deviceQrtzDateMapper; + @Override + public List listManageDeviceQrtzDate(Long qrtzId) { + return deviceQrtzDateMapper.listDeviceQrtzDateByQrtzAndDate(qrtzId); + } +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzFileServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzFileServiceImpl.java new file mode 100644 index 0000000..e0c9b70 --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzFileServiceImpl.java @@ -0,0 +1,13 @@ +package org.dromara.sample.manage.service.impl; + +import org.dromara.sample.manage.service.IDeviceQrtzFileService; +import org.springframework.stereotype.Service; + +/** + * @auther yq + * @data 2025/3/20 + */ +@Service +public class DeviceQrtzFileServiceImpl implements IDeviceQrtzFileService { + +} diff --git a/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java new file mode 100644 index 0000000..50f0d3d --- /dev/null +++ b/dk-modules/sample/src/main/java/org/dromara/sample/manage/service/impl/DeviceQrtzServiceImpl.java @@ -0,0 +1,143 @@ +package org.dromara.sample.manage.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.satoken.utils.LoginHelper; +import org.dromara.sample.manage.mapper.IDeviceMapper; +import org.dromara.sample.manage.mapper.IDeviceQrtzDateMapper; +import org.dromara.sample.manage.mapper.IDeviceQrtzMapper; +import org.dromara.sample.manage.model.dto.DeviceDTO; +import org.dromara.sample.manage.model.dto.DeviceQrtzDTO; +import org.dromara.sample.manage.model.dto.DeviceQrtzFileDTO; +import org.dromara.sample.manage.model.entity.DeviceQrtzDateEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzEntity; +import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; +import org.dromara.sample.manage.service.IDeviceQrtzDateService; +import org.dromara.sample.manage.service.IDeviceQrtzFileService; +import org.dromara.sample.manage.service.IDeviceQrtzService; +import org.dromara.sample.manage.service.IDeviceService; +import org.dromara.system.api.model.LoginUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.text.ParseException; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * @auther yq + * @data 2025/3/20 + */ +@Service +public class DeviceQrtzServiceImpl implements IDeviceQrtzService { + @Autowired + private IDeviceQrtzMapper deviceQrtzMapper; + @Autowired + private IDeviceQrtzDateMapper deviceQrtzDateMapper; + @Autowired + private IDeviceService deviceService; + @Autowired + private IDeviceQrtzDateService deviceQrtzDateService; + + @Override + public TableDataInfo listManageDeviceQrtz(Page page, DeviceQrtzDTO deviceQrtzDTO) { + return TableDataInfo.build(deviceQrtzMapper.listManageDeviceQrtz(page, deviceQrtzDTO)); + } + + @Override + public DeviceQrtzEntity queryById(Long id) { + DeviceQrtzEntity deviceQrtzEntity = deviceQrtzMapper.selectById(id); + List qrtzDateEntityList = deviceQrtzDateService.listManageDeviceQrtzDate(id); + deviceQrtzEntity.setDeviceQrtzDates(qrtzDateEntityList); + return deviceQrtzEntity; + } + + @Override + public List listManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO) { + return deviceQrtzMapper.listManageDeviceQrtz(deviceQrtzDTO); + } + + @Override + public Map calendarList(String time) throws ParseException { + LoginUser loginUser = LoginHelper.getLoginUser(); + + return Map.of(); + } + + @Override + public boolean addAndUpdateManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO) { + return false; + } + + @Override + public boolean addManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO) { + return false; + } + + @Override + public boolean updateManageDeviceQrtzFile(DeviceQrtzFileDTO deviceQrtzFileDTO) { + return false; + } + + @Override + public boolean deleteManageDeviceQrtz(DeviceQrtzDTO deviceQrtzDTO) { + return false; + } + + @Override + public List manageDeviceQrtzFileByQrtzId(String qrtzId) { + return deviceQrtzMapper.manageDeviceQrtzFileByQrtzId(qrtzId); + } + + @Override + public boolean copy(String deviceSn, String starDate, String endDate) { + return false; + } + + @Override + public boolean deleteManageDeviceQrtzFile(String id) { + return false; + } + + @Override + public void jobWayline(DeviceDTO deviceDTO) { + + } + + @Override + public Boolean updateByBo(DeviceQrtzEntity entity) { + deviceQrtzDateMapper.delete(new QueryWrapper().eq("qrtz_id", entity.getId())); + if(!CollectionUtils.isEmpty(entity.getDeviceQrtzDates())){ + entity.getDeviceQrtzDates().forEach(e->{ + e.setQrtzId(entity.getId()); + deviceQrtzDateMapper.insert(e); + }); + } + return deviceQrtzMapper.updateById(entity)>0; + } + + @Override + public Boolean add(DeviceQrtzEntity entity) { + int insert = deviceQrtzMapper.insert(entity); + if(!CollectionUtils.isEmpty(entity.getDeviceQrtzDates())){ + entity.getDeviceQrtzDates().forEach(e->{ + e.setQrtzId(entity.getId()); + deviceQrtzDateMapper.insert(e); + }); + } + return insert>0; + } + + @Override + public Boolean deleteIds(Collection ids) { + for (Long qrtzId : ids) { + deviceQrtzDateMapper.delete(new QueryWrapper().eq("qrtz_id",qrtzId)); + } + return deviceQrtzMapper.deleteBatchIds(ids)>0; + } +} diff --git a/dk-modules/sample/src/main/resources/mapper/DeviceQrtzDateMapper.xml b/dk-modules/sample/src/main/resources/mapper/DeviceQrtzDateMapper.xml new file mode 100644 index 0000000..998991a --- /dev/null +++ b/dk-modules/sample/src/main/resources/mapper/DeviceQrtzDateMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/dk-modules/sample/src/main/resources/mapper/DeviceQrtzFileMapper.xml b/dk-modules/sample/src/main/resources/mapper/DeviceQrtzFileMapper.xml new file mode 100644 index 0000000..28dfcdf --- /dev/null +++ b/dk-modules/sample/src/main/resources/mapper/DeviceQrtzFileMapper.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/dk-modules/sample/src/main/resources/mapper/DeviceQrtzMapper.xml b/dk-modules/sample/src/main/resources/mapper/DeviceQrtzMapper.xml new file mode 100644 index 0000000..7b61437 --- /dev/null +++ b/dk-modules/sample/src/main/resources/mapper/DeviceQrtzMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + diff --git a/pom.xml b/pom.xml index 2577794..63a9d40 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ - wuyuan + dev dev