对接飞鹅和易联云后 ,网上几乎没资料对大趋智能打印机java api分享,故此分享一波。
SnParam.java
package com.shanheyongmu.openapi.param; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor @Data public class SnParam { /** * 打印机编号 */ private String sn; public SnParam(String sn) { this.sn = sn; } }
PrinterAddParam.java
package com.shanheyongmu.openapi.param; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; @Data public class PrinterAddParam { /** * 打印机编号 */ @NotBlank @Length(max = 50) private String sn; /** * 设备密钥 */ @NotBlank @Length(max = 255) private String key; /** * 设备名称或备注 */ @Length(max = 50) private String name; @Range(min = 1, max = 16) private Integer lang; }
PrintStatusQueryParam.java
package com.shanheyongmu.openapi.param; import lombok.Data; import lombok.EqualsAndHashCode; import javax.validation.constraints.NotNull; @Data @EqualsAndHashCode(callSuper = true) public class PrintStatusQueryParam extends SnParam { /** * 打印请求ID */ @NotNull private Long printId; public PrintStatusQueryParam(@NotNull String sn, @NotNull Long printId) { super(sn); this.printId = printId; } }
PrintParam.java
package com.shanheyongmu.openapi.param; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; /** * 打印请求 */ @Data public class PrintParam extends SnParam { /** * 打印小票模板内容 */ @Length(max = 6000) private String content; /** * 播报音源 */ @Length(max = 120) private String voice; /** * 播报语音次数,默认播报1次,不能超过3次 */ @Range(min = 1, max = 5) private Integer voicePlayTimes; /** * 多次播报语音时的间隔秒数,默认3秒 */ private String voicePlayInterval; /** * 打印小票张数,不传默认1, 取值范围: 1~5 */ @Range(min = 1, max = 5) private Integer copies; }
com.shanheyongmu.openapi.result 新建6个类
ResponseResult.java
package com.shanheyongmu.openapi.result; import lombok.Data; import java.io.Serializable; /** * 标准响应结构体 * @param <T> 响应业务数据 */ @Data public class ResponseResult<T> implements Serializable { private String code; private String message; private T data; }
PrinterAddResultData.java
package com.shanheyongmu.openapi.result; import lombok.Data; import java.util.List; @Data public class PrinterAddResultData { /** * 多台设备发生增加失败时返回原因列表,都成功时返回空列表(注意:增加单时失败的原因在message中) */ List<AddFailResult> fail; @Data public static class AddFailResult { private String sn; /** * 失败原因 */ private String reason; } }
PrinterUnbindResultData.java
package com.shanheyongmu.openapi.result; import lombok.Data; import java.util.List; /** * 打印解绑结果 */ @Data public class PrinterUnbindResultData { /** * 多台设备解绑成功时,返回成功的SN列表 */ List<String> ok; /** * 多台设备发生解绑失败时返回原因列表 */ List<UnbindFailResult> fail; @Data public static class UnbindFailResult { private String sn; /** * 失败原因 */ private String reason; } }
PrinterStatusResultData.java
package com.shanheyongmu.openapi.result; import lombok.Data; @Data public class PrinterStatusResultData { /** * 在线状态 0/1 * 0=不在线 1=在线 */ int onlineStatus; /** * 设备状态 * * * -1=初始化 0=就绪 1=打印中 2=缺纸 3=过温 4=打印故障 */ int workStatus;