设备操作接口

This commit is contained in:
gong
2025-11-24 14:21:01 +08:00
parent ee41fd2253
commit 97b03a8495
9 changed files with 395 additions and 3 deletions

View File

@@ -0,0 +1,82 @@
package com.czg.system.dto;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.alibaba.fastjson2.annotation.JSONField;
import com.czg.validator.group.InsertGroup;
import com.czg.validator.group.UpdateGroup;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.experimental.Accessors;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 设备管理 实体类。
*
* @author ww
* @since 2025-11-24
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class SysDevicesDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@NotNull(message = "id不能为空", groups = {UpdateGroup.class})
private Long id;
/**
* 设备 sn收银机用 Mac 地址
*/
@NotBlank(message = "设备sn不能为空", groups = {UpdateGroup.class, InsertGroup.class})
private String deviceSn;
/**
* 设备类型scanBox 扫码盒子cashMachine 收银机printer 打印机
*/
@NotBlank(message = "设备类型不能为空", groups = {UpdateGroup.class, InsertGroup.class})
@Pattern(regexp = "^(scanBox|cashMachine|printer)$", message = "设备类型格式错误")
private String deviceType;
/**
* 连接类型usb4gwifi
*/
@NotBlank(message = "连接类型不能为空", groups = {UpdateGroup.class, InsertGroup.class})
@Pattern(regexp = "^(usb|4g|wifi)$", message = "连接类型格式错误")
private String connType;
/**
* 在线状态0 离线1 在线
*/
private Integer unlineStatus;
/**
* 最后上线时间
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime lastUnlineTime;
/**
* 离线时间
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime offlineTime;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,43 @@
package com.czg.system.dto;
import lombok.Data;
/**
* 设备管理 分页参数
*
* @author yjjie
* @date 2025/11/24 14:17
*/
@Data
public class SysDevicesPageDTO {
/**
* 设备 sn
*/
private String deviceSn;
/**
* 设备类型
*/
private String deviceType;
/**
* 连接类型usb4gwifi
*/
private String connType;
/**
* 在线状态0 离线1 在线
*/
private Integer unlineStatus;
/**
* 页码
*/
private Integer page;
/**
* 页大小
*/
private Integer size;
}

View File

@@ -0,0 +1,74 @@
package com.czg.system.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 设备管理 实体类。
*
* @author ww
* @since 2025-11-24
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("sys_devices")
public class SysDevices implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@Id
private Long id;
/**
* 设备 sn收银机用 Mac 地址
*/
private String deviceSn;
/**
* 设备类型scanBox 扫码盒子cashMachine 收银机printer 打印机
*/
private String deviceType;
/**
* 连接类型usb4gwifi
*/
private String connType;
/**
* 在线状态0 离线1 在线
*/
private Integer unlineStatus;
/**
* 最后上线时间
*/
private LocalDateTime lastUnlineTime;
/**
* 离线时间
*/
private LocalDateTime offlineTime;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,24 @@
package com.czg.system.service;
import com.czg.system.dto.SysDevicesDTO;
import com.czg.system.dto.SysDevicesPageDTO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.system.entity.SysDevices;
/**
* 设备管理 服务层。
*
* @author ww
* @since 2025-11-24
*/
public interface SysDevicesService extends IService<SysDevices> {
Long addDevice(SysDevicesDTO reqDTO);
Long updateDevice(SysDevicesDTO reqDTO);
Long deleteDevice(Long id);
Page<SysDevicesDTO> queryDevice(SysDevicesPageDTO reqDTO);
}