1.redis序列化导致打票缓存无法正常保存fix

This commit is contained in:
2024-09-03 10:34:19 +08:00
parent 9a9e43ba71
commit c11a3f1df8
6 changed files with 214 additions and 7 deletions

View File

@@ -2,6 +2,7 @@ package com.chaozhanggui.system.cashierservice.util;
import cn.hutool.core.util.ObjectUtil;
import com.chaozhanggui.system.cashierservice.model.OrderDetailPO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
@@ -14,6 +15,7 @@ import java.util.*;
/**
* 打印机
*/
@Slf4j
public class PrinterUtils {
//请求地址
private static final String URL_STR = "https://ioe.car900.com/v1/openApi/dev/customPrint.json";
@@ -83,6 +85,41 @@ public class PrinterUtils {
return builder.toString();
}
/**
* 厨房打印机
*
* @param pickupNumber
* @param date
* @param productName
* @param number
* @param remark
* @return
*/
public static String getPrintData(String type, String pickupNumber, String date, String productName, Integer number, String remark) {
StringBuilder builder = new StringBuilder();
if ("return".equals(type)) {
builder.append("<C><B>" + pickupNumber + "【退】</B></C><BR><BR>");
} else {
builder.append("<C><B>" + pickupNumber + "</B></C><BR><BR>");
}
builder.append("<S><L>时间: " + date + " </L></S><BR><BR><BR>");
if (productName.length() > 4 || remark.length() > 4) {
builder.append("<CS:32>" + productName + " " + number + "</CS><BR>");
builder.append("<CS:32>" + remark + " </CS><BR>");
} else {
builder.append("<B>" + productName + " " + number + "</B><BR>");
builder.append("<B>" + remark + " </B><BR>");
}
builder.append("<OUT:150>");
builder.append("<PCUT>");
return builder.toString();
}
public static String getCashPrintData(OrderDetailPO detailPO,String type){
StringBuilder sb = new StringBuilder();
@@ -162,7 +199,46 @@ public class PrinterUtils {
/**
* 打印票据
*
* @throws Exception
*/
public static void printTickets(String voiceJson, Integer actWay, Integer cn, String devName, String data) {
log.info("开始请求云享印,请求数据:{}, {}", voiceJson, data);
//设备名称
//行为方式 1:只打印数据 2:只播放信息 3:打印数据并播放信息
// actWay = 3;
// //打印联数
// int cn = 1;
//打印内容
//播报语音数据体,字段参考文档IOT_XY_API11001
String time = String.valueOf(System.currentTimeMillis());
String uuid = UUID.randomUUID().toString();
Map<String, String> param = getToken(time, uuid);
//参数
MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
multiValueMap.add("token", param.get("TOKEN"));
multiValueMap.add("devName", devName);
multiValueMap.add("actWay", actWay);
multiValueMap.add("cn", cn);
multiValueMap.add("data", data);
multiValueMap.add("voiceJson", voiceJson);
multiValueMap.add("appId", APP_ID);
multiValueMap.add("timestamp", time);
multiValueMap.add("requestId", uuid);
multiValueMap.add("userCode", USER_CODE);
RestTemplate restTemplate = new RestTemplate();
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(multiValueMap, header);
String httpResponse = restTemplate.postForObject(URL_STR,
httpEntity, String.class);
System.out.println("map" + httpResponse);
}