|
|
@@ -196,7 +196,7 @@ public class AccountService {
|
|
|
if (tenantId != null) w.eq(TransferEntity::getTenantId, tenantId);
|
|
|
if (enterpriseId != null && !enterpriseId.isBlank()) w.eq(TransferEntity::getEnterpriseId, enterpriseId);
|
|
|
if (startTime != null && !startTime.isBlank()) w.ge(TransferEntity::getCreatedTime, parseDateTime(startTime));
|
|
|
- if (endTime != null && !endTime.isBlank()) w.le(TransferEntity::getCreatedTime, parseDateTime(endTime));
|
|
|
+ if (endTime != null && !endTime.isBlank()) w.le(TransferEntity::getCreatedTime, parseDateTime(endTime, true));
|
|
|
var p = new Page<TransferEntity>(pageNo, pageSize);
|
|
|
var r = transferMapper.selectPage(p, w);
|
|
|
List<TransferVO> items = r.getRecords().stream().map(this::transferVO).toList();
|
|
|
@@ -213,7 +213,7 @@ public class AccountService {
|
|
|
if (consumeType != null && !consumeType.isBlank()) w.eq(PayBillEntity::getConsumeType, consumeType);
|
|
|
if (status != null && !status.isBlank()) w.eq(PayBillEntity::getStatus, status);
|
|
|
if (startTime != null && !startTime.isBlank()) w.ge(PayBillEntity::getGmtBizCreate, parseDateTime(startTime));
|
|
|
- if (endTime != null && !endTime.isBlank()) w.le(PayBillEntity::getGmtBizCreate, parseDateTime(endTime));
|
|
|
+ if (endTime != null && !endTime.isBlank()) w.le(PayBillEntity::getGmtBizCreate, parseDateTime(endTime, true));
|
|
|
var p = new Page<PayBillEntity>(pageNo, pageSize);
|
|
|
var r = payBillMapper.selectPage(p, w);
|
|
|
List<ConsumeVO> items = r.getRecords().stream().map(this::consumeVO).toList();
|
|
|
@@ -304,7 +304,7 @@ public class AccountService {
|
|
|
if (tenantId != null) w.eq(TransferEntity::getTenantId, tenantId);
|
|
|
if (enterpriseId != null && !enterpriseId.isBlank()) w.eq(TransferEntity::getEnterpriseId, enterpriseId);
|
|
|
if (startTime != null && !startTime.isBlank()) w.ge(TransferEntity::getCreatedTime, parseDateTime(startTime));
|
|
|
- if (endTime != null && !endTime.isBlank()) w.le(TransferEntity::getCreatedTime, parseDateTime(endTime));
|
|
|
+ if (endTime != null && !endTime.isBlank()) w.le(TransferEntity::getCreatedTime, parseDateTime(endTime, true));
|
|
|
w.orderByDesc(TransferEntity::getId);
|
|
|
|
|
|
List<TransferEntity> records = transferMapper.selectList(w);
|
|
|
@@ -331,7 +331,6 @@ public class AccountService {
|
|
|
Map<String, Object> row = new LinkedHashMap<>();
|
|
|
row.put("序号", seq++);
|
|
|
row.put("订单号", r.getOutBizNo() != null ? r.getOutBizNo() : "");
|
|
|
- row.put("商户订单号", r.getOrderNo() != null ? r.getOrderNo() : "");
|
|
|
row.put("金额(元)", r.getAmount() != null ? r.getAmount().toPlainString() : "0");
|
|
|
row.put("状态", statusMap.getOrDefault(r.getStatus(), r.getStatus() != null ? r.getStatus() : ""));
|
|
|
row.put("转账标题", r.getOrderTitle() != null ? r.getOrderTitle() : "");
|
|
|
@@ -341,17 +340,20 @@ public class AccountService {
|
|
|
// 解析 payeeInfo JSON
|
|
|
String name = "";
|
|
|
String identityType = "";
|
|
|
+ String identity = "";
|
|
|
if (r.getPayeeInfo() != null && !r.getPayeeInfo().isBlank()) {
|
|
|
try {
|
|
|
@SuppressWarnings("unchecked")
|
|
|
Map<String, Object> payeeInfo = om.readValue(r.getPayeeInfo(), Map.class);
|
|
|
name = String.valueOf(payeeInfo.getOrDefault("name", ""));
|
|
|
identityType = String.valueOf(payeeInfo.getOrDefault("identity_type", ""));
|
|
|
+ identity = String.valueOf(payeeInfo.getOrDefault("identity", ""));
|
|
|
} catch (Exception ignored) {
|
|
|
// ignore invalid JSON
|
|
|
}
|
|
|
}
|
|
|
row.put("收款方姓名", name);
|
|
|
+ row.put("收款方账号", identity);
|
|
|
row.put("收款方类型", payeeTypeMap.getOrDefault(identityType, identityType));
|
|
|
row.put("备注", r.getRemark() != null ? r.getRemark() : "");
|
|
|
row.put("失败原因", r.getErrorMsg() != null ? r.getErrorMsg() : "");
|
|
|
@@ -361,9 +363,9 @@ public class AccountService {
|
|
|
Map<String, String> mappingDict = new LinkedHashMap<>();
|
|
|
mappingDict.put("序号", "序号");
|
|
|
mappingDict.put("订单号", "订单号");
|
|
|
- mappingDict.put("商户订单号", "商户订单号");
|
|
|
mappingDict.put("金额(元)", "金额(元)");
|
|
|
mappingDict.put("收款方姓名", "收款方姓名");
|
|
|
+ mappingDict.put("收款方账号", "收款方账号");
|
|
|
mappingDict.put("收款方类型", "收款方类型");
|
|
|
mappingDict.put("状态", "状态");
|
|
|
mappingDict.put("转账标题", "转账标题");
|
|
|
@@ -380,9 +382,13 @@ public class AccountService {
|
|
|
}
|
|
|
|
|
|
private OffsetDateTime parseDateTime(String dt) {
|
|
|
+ return parseDateTime(dt, false);
|
|
|
+ }
|
|
|
+
|
|
|
+ private OffsetDateTime parseDateTime(String dt, boolean endOfDay) {
|
|
|
if (dt == null || dt.isBlank()) return OffsetDateTime.now().minusDays(30);
|
|
|
- // 补全时间部分
|
|
|
- if (dt.length() == 10) dt += " 00:00:00";
|
|
|
+ // 补全时间部分: 起始日期按当天零点, 结束日期按当天 23:59:59(含当天全天)
|
|
|
+ if (dt.length() == 10) dt += endOfDay ? " 23:59:59" : " 00:00:00";
|
|
|
try {
|
|
|
return LocalDateTime.parse(dt, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
|
|
|
.atOffset(ZoneOffset.ofHours(8));
|