1
0

设备管理 接口

This commit is contained in:
2025-07-01 13:53:03 +08:00
parent 440aec266b
commit 53356957f3
8 changed files with 418 additions and 685 deletions

View File

@ -0,0 +1,65 @@
package com.fuyuanshen.equipment.domain.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.converters.bytearray.ByteArrayImageConverter;
import lombok.Data;
/**
* @author: 默苍璃
* @date: 2025-06-0710:00
*/
@Data
@HeadRowHeight(20) // 表头行高
@ContentRowHeight(100) // 内容行高
public class DeviceExcelImportDTO {
@ExcelProperty("设备类型")
private Long deviceType;
@ExcelProperty("客户号")
private Long customerId;
@ExcelProperty("设备名称")
@ColumnWidth(20)
private String deviceName;
@ExcelProperty(value = "设备图片", converter = ByteArrayImageConverter.class)
@ColumnWidth(15)
private byte[] devicePic;
// 添加图片写入方法
public void setDevicePicFromBytes(byte[] bytes) {
this.devicePic = bytes;
}
@ExcelProperty("设备MAC")
@ColumnWidth(20)
private String deviceMac;
@ExcelProperty("设备IMEI")
@ColumnWidth(20)
private String deviceImei;
@ExcelProperty("设备SN")
@ColumnWidth(20)
private String deviceSn;
@ExcelProperty("经度")
private String longitude;
@ExcelProperty("纬度")
private String latitude;
@ExcelProperty("备注")
@ColumnWidth(30)
private String remark;
@ExcelProperty("设备类型名称")
@ColumnWidth(20)
private String typeName;
}

View File

@ -0,0 +1,25 @@
package com.fuyuanshen.equipment.domain.dto;
import lombok.Data;
import java.util.List;
/**
* @author: 默苍璃
* @date: 2025-06-0717:01
*/
@Data
public class ImportResult {
private int successCount;
private int failureCount;
private List<DeviceExcelImportDTO> failedRecords;
// private byte[] errorExcelData; // 存储失败数据的Excel字节流
private String errorExcelUrl; // 改为存储错误报告的URL
// 添加成功/失败统计信息
public String getSummary() {
return String.format("成功导入 %d 条数据,失败 %d 条", successCount, failureCount);
}
}

View File

@ -0,0 +1,27 @@
package com.fuyuanshen.equipment.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.validation.annotation.Validated;
import java.util.List;
/**
* @Description: 分配客户的Vo类
* @Author: WY
* @Date: 2025/5/28
**/
@Data
@Validated
public class CustomerVo {
@Schema(name = "客户ID")
@NotNull(message = "客户ID不能为空")
private Long customerId;
@Schema(name = "设备ID")
@NotNull(message = "设备ID不能为空")
private List<Long> deviceIds;
}