package com.fuyuanshen.app.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.fuyuanshen.app.domain.AppDeviceShare;
import com.fuyuanshen.common.excel.annotation.ExcelDictFormat;
import com.fuyuanshen.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 设备分享视图对象 app_device_share
 *
 * @author Lion Li
 * @date 2025-07-16
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = AppDeviceShare.class)
public class AppDeviceShareDetailVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ExcelProperty(value = "主键id")
    private Long id;

    /**
     * 设备ID
     */
    @ExcelProperty(value = "设备ID")
    private Long deviceId;

    /**
     * 手机号
     */
    @ExcelProperty(value = "手机号")
    private String phonenumber;

    /**
     * 功能权限（1：灯光模式；2：激光模式；3：开机画面；4：人员信息登记；5：发送信息；6：产品信息）
以逗号分隔
     */
    @ExcelProperty(value = "功能权限", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=：灯光模式；2：激光模式；3：开机画面；4：人员信息登记；5：发送信息；6：产品信息")
    private String permission;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 设备IMEI
     */
    private String deviceImei;

    /**
     * 设备MAC
     */
    private String deviceMac;

    /**
     * 通讯方式 0:4G;1:蓝牙
     */
    private Integer communicationMode;

    /**
     * 设备图片
     */
    private String devicePic;

    /**
     * 设备类型
     */
    private String typeName;

    /**
     *  蓝牙名称
     */
    private String bluetoothName;

    /**
     * 设备状态
     * 0 失效
     * 1 正常
     */
    private Integer deviceStatus;


    /**
     * 人员信息
     */
    private AppPersonnelInfoVo personnelInfo;

    /**
     * 发送信息
     */
    private String sendMsg;
}
