class DeviceOperationLogEntity {
    private static final long serialVersionUID = -6849794470754667710L;

    @Schema(description = "日志ID")
    private String id;

    @Schema(description = "设备ID")
    private String deviceId;

    @Schema(description = "产品ID")
    private String productId;

    @Schema(description = "日志类型")
    private DeviceLogType type;

    @Schema(description = "创建时间")
    private long createTime;

    @Schema(description = "日志内容")
    private Object content;

    @Schema(description = "消息ID")
    private String messageId;

    @Hidden
    private String orgId;

    @Schema(description = "数据时间")
    private long timestamp;

    public static DeviceOperationLogEntity of(ThingMessageLog log) {
        DeviceOperationLogEntity messageLog = FastBeanCopier.copy(log, new DeviceOperationLogEntity());
        messageLog.setDeviceId(log.getThingId());
        return messageLog;
    }

    public Map<String, Object> toSimpleMap() {<FILL_FUNCTION_BODY>}

    public DeviceOperationLogEntity generateId() {
        if (StringUtils.isEmpty(id)) {
            setId(DigestUtils.md5Hex(String.join("", deviceId, type.getValue(), String.valueOf(timestamp))));
        }
        return this;
    }
}

        Map<String, Object> result = FastBeanCopier.copy(this, HashMap::new);
        result.put("type", type.getValue());
        if (content instanceof String) {
            result.put("content", content);
        } else {
            result.put("content", JSON.toJSONString(getContent()));
        }
        return result;
    
<no_super_class>