package com.cdzy.operations.utils; import com.cdzy.common.ex.EbikeException; import com.cdzy.operations.enums.CommandType; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; /** * @author attiya * @since 2025-10-30 */ public class CommandUtil { private static final ObjectMapper mapper = new ObjectMapper(); private static final String prefix = "ecu/cmd/cdzybms/"; public static String guang_he_tong(String ecuSn, String taskId, String code) throws JsonProcessingException { String topic = prefix + ecuSn; ObjectNode jsonNode = mapper.createObjectNode(); jsonNode.put("topic", topic); switch (code) { case CommandType.FIND_BIKE: String command_14 = "{\"c\":14,\"tid\":\""+ taskId+"\",\"param\":{\"volume\":50,\"idx\":5}}"; ObjectNode objectNode_14 = mapper.readValue(command_14,ObjectNode.class); jsonNode.put("command",objectNode_14.toString()); break; case CommandType.GPS: String command_34 = "{\"c\":34,\"tid\":\""+ taskId+"\"}"; ObjectNode objectNode_34 = mapper.readValue(command_34,ObjectNode.class); jsonNode.put("command",objectNode_34.toString()); break; case CommandType.OPEN_BATTERY_LOCK: String command_29 = "{\"c\":29,\"tid\":\""+ taskId+"\"}"; ObjectNode objectNode_29 = mapper.readValue(command_29,ObjectNode.class); jsonNode.put("command",objectNode_29.toString()); break; default : throw new EbikeException("该命令暂未接入"); } return jsonNode.toString(); } }