1、优化第三方支付透传参数改为存在数据库中;2、新增超时支付单的轮训处理、增加关闭和待支付的判定和对应处理;3、新增更新前序购买记录的已支付属性;

This commit is contained in:
gaoqr
2025-09-25 17:04:40 +08:00
parent 01535623ba
commit b328878d14
25 changed files with 388 additions and 170 deletions
@@ -0,0 +1,25 @@
package com.cf.imes.framework.excel.core.convert;
/**
* 基础枚举接口,code为布尔类型
* <p>
* 用于easyexcel convert
*
* @author Gqr
* @since 2025/8/27 11:51
*/
public interface BaseBoolValEnum {
/**
* 魔值
*
* @return
*/
Boolean getCode();
/**
* 描述
*
* @return
*/
String getDesc();
}
@@ -0,0 +1,73 @@
package com.cf.imes.framework.excel.core.convert;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.cf.imes.framework.excel.core.annotations.EnumFormat;
import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Field;
/**
* Excel 枚举转换器
*
* @author Gqr
* @since 2025/8/27 11:02
*/
@Slf4j
public class EnumBoolValConvert implements Converter<Boolean> {
@Override
public Class<?> supportJavaTypeKey() {
return Boolean.class; // 泛型接口
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.BOOLEAN; // Excel 存字符串
}
// 写出:Integer -> 枚举描述
@Override
public WriteCellData<String> convertToExcelData(WriteConverterContext<Boolean> context) {
Boolean code = context.getValue();
if (code == null) {
return new WriteCellData<>("");
}
Class<? extends Enum> enumClass = getEnumClass(context.getContentProperty().getField());
if (enumClass != null) {
for (Object e : enumClass.getEnumConstants()) {
BaseBoolValEnum baseEnum = (BaseBoolValEnum) e;
if (baseEnum.getCode().equals(code)) {
return new WriteCellData<>(baseEnum.getDesc());
}
}
}
return new WriteCellData<>("");
}
// 读入:枚举描述 -> Integer code
@Override
public Boolean convertToJavaData(ReadConverterContext<?> context) {
String desc = context.getReadCellData().getStringValue();
if (desc == null) {
return Boolean.FALSE;
}
Class<? extends Enum> enumClass = getEnumClass(context.getContentProperty().getField());
if (enumClass != null) {
for (Object e : enumClass.getEnumConstants()) {
BaseBoolValEnum baseEnum = (BaseBoolValEnum) e;
if (baseEnum.getDesc().equals(desc)) {
return baseEnum.getCode();
}
}
}
return Boolean.FALSE;
}
private Class<? extends Enum> getEnumClass(Field field) {
EnumFormat annotation = field.getAnnotation(EnumFormat.class);
return annotation != null ? annotation.value() : null;
}
}