feat(sis): 凭证控制相关功能

This commit is contained in:
zcxlsm 2025-06-25 17:04:13 +08:00
parent d5981b0d4a
commit 42c615a187
3 changed files with 27 additions and 16 deletions

View File

@ -9,12 +9,6 @@ import lombok.Data;
*/
@Data
public class ChangeCardReq {
/**
* origVoucherId int64 Y 原凭证ID
* idno string Y 物理卡号
* remark string N 备注
* personID int64 Y 人员ID
*/
/**
* 原凭证ID

View File

@ -62,7 +62,8 @@ public class VoucherControlServiceImpl implements VoucherControlService {
public Boolean issueVoucherMany(List<IssueVoucherReq> req) {
// 封装入参
Map<String, Object> params = new HashMap<>();
params.put("", req);
params.put("many", true);
params.put("list", req);
// 调用API
ApiResp apiResp = e8ApiUtil.doPost(params, ISSUANCE_VOUCHER_MANY);
@ -119,7 +120,8 @@ public class VoucherControlServiceImpl implements VoucherControlService {
@Override
public Boolean cancelVoucher(CancelVoucherReq req) {
Map<String, Object> params = new HashMap<>();
params.put("", req.getIds());
params.put("many", true);
params.put("list", req.getIds());
ApiResp apiResp = e8ApiUtil.doPost(params, CANCEL_VOUCHER);

View File

@ -1,5 +1,6 @@
package org.dromara.sis.sdk.e8.utils;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
@ -10,10 +11,7 @@ import org.springframework.util.ObjectUtils;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Base64;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -38,13 +36,30 @@ public class E8ApiUtil {
public ApiResp doPost(Map<String, Object> params, String api) {
// 时间戳
String timestamp = Long.toString(System.currentTimeMillis());
// sign签名
String sign = getPostSign(params, api, timestamp);
String sign;
String jsonBody;
// 判断是否执行批量接口
if (params.get("many") != null) {
Object list = params.get("list");
List<Object> realParams = CollectionUtil.toList(list);
// sign签名
sign = getPostSign(null, api, timestamp);
// 将params转换为JSON字符串
jsonBody = JSONUtil.toJsonStr(realParams);
}else {
// sign签名
sign = getPostSign(params, api, timestamp);
// 将params转换为JSON字符串
jsonBody = JSONUtil.toJsonStr(params);
}
// url
String url = BASE_URL + api;
// 将params转换为JSON字符串
String jsonBody = JSONUtil.toJsonStr(params);
// 对请求体进行Base64加密指定UTF-8编码避免乱码
String base64Body = Base64.getEncoder().encodeToString(jsonBody.getBytes(StandardCharsets.UTF_8));