Browse Source

Merge branch 'refs/heads/huangqizheng/feature-20251119150446-退款合并后' into milestone-20251104-现金管理二期

sunjiabei/feature-20251021102635-银行接口
huangqizhen 4 days ago
parent
commit
dadafbe214
  1. 42
      src/main/java/com/example/demo/config/BackpackGiftConverter.java
  2. 51
      src/main/java/com/example/demo/config/MemberTypeStringConverter.java
  3. 61
      src/main/java/com/example/demo/config/YesNoConverter.java
  4. 3
      src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java
  5. 4
      src/main/java/com/example/demo/domain/vo/bean/BeanConsumeLive.java
  6. 10
      src/main/resources/cashMapper/CashRefundMapper.xml

42
src/main/java/com/example/demo/config/BackpackGiftConverter.java

@ -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;
}
}

51
src/main/java/com/example/demo/config/MemberTypeStringConverter.java

@ -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
}
}

61
src/main/java/com/example/demo/config/YesNoConverter.java

@ -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 01 转换器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显示值导出时调用
* 01其他值保持原样
*/
@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对象导入时调用可选实现
* 01其他值保持原样
*/
@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;
}
}

3
src/main/java/com/example/demo/domain/vo/bean/BeanConsumeFan.java

@ -2,6 +2,7 @@ package com.example.demo.domain.vo.bean;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.example.demo.config.MemberTypeStringConverter;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
@ -38,7 +39,7 @@ public class BeanConsumeFan {
private String buyBean; //付费金豆
@ExcelProperty("频道")
private String channel; //频道名称source_name
@ExcelProperty("会员类型 7-单次付费 8-连续包月")
@ExcelProperty(value = "会员类型", converter = MemberTypeStringConverter.class)
private String type; //类型source_type 7单月8连续包月
//@ExcelProperty("支付方式")
@ExcelIgnore

4
src/main/java/com/example/demo/domain/vo/bean/BeanConsumeLive.java

@ -3,6 +3,8 @@ package com.example.demo.domain.vo.bean;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.example.demo.Export.RefundConverter;
import com.example.demo.config.YesNoConverter;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
@ -41,7 +43,7 @@ public class BeanConsumeLive {
private String type; //类型
@ExcelProperty("礼物")
private String gift; //礼物名称
@ExcelProperty("是否为背包礼物 0-否 1-是")
@ExcelProperty(value = "是否为背包礼物", converter = YesNoConverter.class)
private String isBackpack;
@ExcelProperty("金豆数量")
private String beanNum; //金豆数量

10
src/main/resources/cashMapper/CashRefundMapper.xml

@ -361,16 +361,16 @@
#{goodsNames}
</foreach>
</if>
<if test="refundCurrency != null and refundCurrency.size > 0">
<if test="refundCurrency != null and refundCurrency.length() > 0">
AND crr.refund_currency = #{refundCurrency}
</if>
<if test="refundChannels != null and refundChannels.length()>0">
and crc.refund_channels = #{refundChannels}
and crr.refund_channels = #{refundChannels}
</if>
<if test="startTime != null and endTime != null">
and crc.`refund_time` BETWEEN #{startTime} AND #{endTime}
<if test="sTime != null and eTime != null">
and crr.`refund_time` BETWEEN #{sTime} AND #{eTime}
</if>
<if test=" submitterId!= null">
<if test=" executor!= null">
and crr.executor = #{executor}
</if>
</where>

Loading…
Cancel
Save