2 Commits
01aa48136b
...
dadafbe214
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
dadafbe214 |
Merge branch 'refs/heads/huangqizheng/feature-20251119150446-退款合并后' into milestone-20251104-现金管理二期
|
5 days ago |
|
|
ce67cb0af5 |
11.21 bug修改
|
5 days ago |
6 changed files with 164 additions and 7 deletions
-
42src/main/java/com/example/demo/config/BackpackGiftConverter.java
-
51src/main/java/com/example/demo/config/MemberTypeStringConverter.java
-
61src/main/java/com/example/demo/config/YesNoConverter.java
-
3src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java
-
4src/main/java/com/example/demo/domain/vo/bean/BeanConsumeLive.java
-
10src/main/resources/cashMapper/CashRefundMapper.xml
@ -0,0 +1,42 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
import com.alibaba.excel.converters.Converter; |
||||
|
import com.alibaba.excel.enums.CellDataTypeEnum; |
||||
|
import com.alibaba.excel.metadata.GlobalConfiguration; |
||||
|
import com.alibaba.excel.metadata.data.ReadCellData; |
||||
|
import com.alibaba.excel.metadata.data.WriteCellData; |
||||
|
import com.alibaba.excel.metadata.property.ExcelContentProperty; |
||||
|
|
||||
|
// 语义化命名:一看就知道用途 |
||||
|
public class BackpackGiftConverter implements Converter<Integer> { |
||||
|
|
||||
|
@Override |
||||
|
public Class<Integer> supportJavaTypeKey() { |
||||
|
return Integer.class; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public CellDataTypeEnum supportExcelTypeKey() { |
||||
|
return CellDataTypeEnum.STRING; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public WriteCellData<String> convertToExcelData( |
||||
|
Integer value, |
||||
|
ExcelContentProperty contentProperty, |
||||
|
GlobalConfiguration globalConfiguration) { |
||||
|
return new WriteCellData<>((value != null && value == 1) ? "是" : "否"); |
||||
|
} |
||||
|
|
||||
|
// 可选:支持反向导入 |
||||
|
@Override |
||||
|
public Integer convertToJavaData( |
||||
|
ReadCellData<?> cellData, |
||||
|
ExcelContentProperty contentProperty, |
||||
|
GlobalConfiguration globalConfiguration) { |
||||
|
String str = cellData.getStringValue(); |
||||
|
if ("是".equals(str)) return 1; |
||||
|
if ("否".equals(str)) return 0; |
||||
|
return null; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,51 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
import com.alibaba.excel.converters.Converter; |
||||
|
import com.alibaba.excel.enums.CellDataTypeEnum; |
||||
|
import com.alibaba.excel.metadata.GlobalConfiguration; |
||||
|
import com.alibaba.excel.metadata.data.ReadCellData; |
||||
|
import com.alibaba.excel.metadata.data.WriteCellData; |
||||
|
import com.alibaba.excel.metadata.property.ExcelContentProperty; |
||||
|
|
||||
|
public class MemberTypeStringConverter implements Converter<String> { |
||||
|
|
||||
|
@Override |
||||
|
public Class<String> supportJavaTypeKey() { |
||||
|
return String.class; // ✅ 关键:支持 String 类型 |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public CellDataTypeEnum supportExcelTypeKey() { |
||||
|
return CellDataTypeEnum.STRING; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public WriteCellData<String> convertToExcelData( |
||||
|
String value, // value 是 "7" 或 "8" |
||||
|
ExcelContentProperty contentProperty, |
||||
|
GlobalConfiguration globalConfiguration) { |
||||
|
|
||||
|
// 映射逻辑 |
||||
|
String display; |
||||
|
if ("7".equals(value)) { |
||||
|
display = "单次付费"; |
||||
|
} else if ("8".equals(value)) { |
||||
|
display = "连续包月"; |
||||
|
} else { |
||||
|
display = value != null ? "未知(" + value + ")" : ""; |
||||
|
} |
||||
|
return new WriteCellData<>(display); |
||||
|
} |
||||
|
|
||||
|
// 【可选】支持从 Excel 读回(如需导入) |
||||
|
@Override |
||||
|
public String convertToJavaData( |
||||
|
ReadCellData<?> cellData, |
||||
|
ExcelContentProperty contentProperty, |
||||
|
GlobalConfiguration globalConfiguration) { |
||||
|
String str = cellData.getStringValue(); |
||||
|
if ("单次付费".equals(str)) return "7"; |
||||
|
if ("连续包月".equals(str)) return "8"; |
||||
|
return str; // 原样返回或 throw |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,61 @@ |
|||||
|
package com.example.demo.config; |
||||
|
|
||||
|
import com.alibaba.excel.converters.Converter; |
||||
|
import com.alibaba.excel.enums.CellDataTypeEnum; |
||||
|
import com.alibaba.excel.metadata.GlobalConfiguration; |
||||
|
import com.alibaba.excel.metadata.data.ReadCellData; |
||||
|
import com.alibaba.excel.metadata.data.WriteCellData; |
||||
|
import com.alibaba.excel.metadata.property.ExcelContentProperty; |
||||
|
|
||||
|
/** |
||||
|
* EasyExcel 0→否、1→是 转换器(String类型) |
||||
|
*/ |
||||
|
public class YesNoConverter implements Converter<String> { |
||||
|
|
||||
|
/** |
||||
|
* 指定转换器处理的Java类型(String) |
||||
|
*/ |
||||
|
@Override |
||||
|
public Class<?> supportJavaTypeKey() { |
||||
|
return String.class; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 指定Excel单元格数据类型(字符串) |
||||
|
*/ |
||||
|
@Override |
||||
|
public CellDataTypeEnum supportExcelTypeKey() { |
||||
|
return CellDataTypeEnum.STRING; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Java对象 → Excel显示值(导出时调用) |
||||
|
* 0→否,1→是,其他值保持原样 |
||||
|
*/ |
||||
|
@Override |
||||
|
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { |
||||
|
if ("0".equals(value)) { |
||||
|
return new WriteCellData<>("否"); |
||||
|
} else if ("1".equals(value)) { |
||||
|
return new WriteCellData<>("是"); |
||||
|
} |
||||
|
// 非0/1值直接返回(避免空指针) |
||||
|
return new WriteCellData<>(value == null ? "" : value); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* Excel值 → Java对象(导入时调用,可选实现) |
||||
|
* 否→0,是→1,其他值保持原样 |
||||
|
*/ |
||||
|
@Override |
||||
|
public String convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { |
||||
|
String value = cellData.getStringValue(); |
||||
|
if ("否".equals(value)) { |
||||
|
return "0"; |
||||
|
} else if ("是".equals(value)) { |
||||
|
return "1"; |
||||
|
} |
||||
|
// 非是/否值直接返回 |
||||
|
return value == null ? "" : value; |
||||
|
} |
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue