退VIP后,如果有延期VIP,需要退掉延期VIP才可以退掉此VIP订单

This commit is contained in:
wyn
2026-06-02 14:24:56 +08:00
parent 24264b82ff
commit 4e8b479683
7 changed files with 70 additions and 16 deletions

View File

@@ -63,7 +63,7 @@ public class StatisticsBusinessVipController {
.stream().map(UserVip::getType).collect(Collectors.toList());
// 定义复购规则
Map<String, List<Integer>> reBuyRules = new HashMap<>();
reBuyRules.put("医学超级", Arrays.asList(4, 5, 6, 9));
reBuyRules.put("医学超级", Arrays.asList(4, 5, 6, 9, 10));
reBuyRules.put("国学心理学超级", Arrays.asList(7, 8));
reBuyRules.put("中医学", Arrays.asList(4));
reBuyRules.put("针灸学", Arrays.asList(5));
@@ -71,6 +71,7 @@ public class StatisticsBusinessVipController {
reBuyRules.put("国学", Arrays.asList(7));
reBuyRules.put("心理学", Arrays.asList(8));
reBuyRules.put("中西汇通学", Arrays.asList(9));
reBuyRules.put("妇幼生殖", Arrays.asList(10));
// 判断是否复购
List<Integer> required = reBuyRules.get(vipType);
if (required != null && state1UserVips.containsAll(required)) {
@@ -141,14 +142,17 @@ public class StatisticsBusinessVipController {
row5.createCell(0).setCellValue("肿瘤学");row5.createCell(1).setCellValue(state1Counts.getOrDefault("肿瘤学", 0).toString());
row5.createCell(2).setCellValue("肿瘤学");row5.createCell(3).setCellValue(state0Counts.getOrDefault("肿瘤学", 0).toString());
Row row6 = sheet.createRow(rowNum++);
row6.createCell(0).setCellValue("国学");row6.createCell(1).setCellValue(state1Counts.getOrDefault("国学",0).toString());
row6.createCell(2).setCellValue("国学");row6.createCell(3).setCellValue(state0Counts.getOrDefault("国学", 0).toString());
row6.createCell(0).setCellValue("妇幼生殖");row6.createCell(1).setCellValue(state1Counts.getOrDefault("妇幼生殖",0).toString());
row6.createCell(2).setCellValue("妇幼生殖");row6.createCell(3).setCellValue(state0Counts.getOrDefault("妇幼生殖", 0).toString());
Row row7 = sheet.createRow(rowNum++);
row7.createCell(0).setCellValue("心理");row7.createCell(1).setCellValue(state1Counts.getOrDefault("心理", 0).toString());
row7.createCell(2).setCellValue("心理");row7.createCell(3).setCellValue(state0Counts.getOrDefault("心理", 0).toString());
row7.createCell(0).setCellValue("");row7.createCell(1).setCellValue(state1Counts.getOrDefault("",0).toString());
row7.createCell(2).setCellValue("");row7.createCell(3).setCellValue(state0Counts.getOrDefault("", 0).toString());
Row row8 = sheet.createRow(rowNum++);
row8.createCell(0).setCellValue("中西汇通");row8.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通", 0).toString());
row8.createCell(2).setCellValue("中西汇通");row8.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通", 0).toString());
row8.createCell(0).setCellValue("心理");row8.createCell(1).setCellValue(state1Counts.getOrDefault("心理", 0).toString());
row8.createCell(2).setCellValue("心理");row8.createCell(3).setCellValue(state0Counts.getOrDefault("心理", 0).toString());
Row row9 = sheet.createRow(rowNum++);
row9.createCell(0).setCellValue("中西汇通学");row9.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通学", 0).toString());
row9.createCell(2).setCellValue("中西汇通学");row9.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通学", 0).toString());
sheet.createRow(rowNum++);
String[] header = {"时间","姓名","电话","VIP类型","是否延期", "本次年限","本次金额","本次开始时间","本次结束时间","到期时间","是否复购"};
@@ -316,14 +320,17 @@ public class StatisticsBusinessVipController {
row5.createCell(0).setCellValue("肿瘤学");row5.createCell(1).setCellValue(state1Counts.getOrDefault("肿瘤学", 0).toString());
row5.createCell(2).setCellValue("肿瘤学");row5.createCell(3).setCellValue(state0Counts.getOrDefault("肿瘤学", 0).toString());
Row row6 = sheet.createRow(rowNum++);
row6.createCell(0).setCellValue("国学");row6.createCell(1).setCellValue(state1Counts.getOrDefault("国学",0).toString());
row6.createCell(2).setCellValue("国学");row6.createCell(3).setCellValue(state0Counts.getOrDefault("国学", 0).toString());
row6.createCell(0).setCellValue("妇幼生殖");row6.createCell(1).setCellValue(state1Counts.getOrDefault("妇幼生殖",0).toString());
row6.createCell(2).setCellValue("妇幼生殖");row6.createCell(3).setCellValue(state0Counts.getOrDefault("妇幼生殖", 0).toString());
Row row7 = sheet.createRow(rowNum++);
row7.createCell(0).setCellValue("心理");row7.createCell(1).setCellValue(state1Counts.getOrDefault("心理", 0).toString());
row7.createCell(2).setCellValue("心理");row7.createCell(3).setCellValue(state0Counts.getOrDefault("心理", 0).toString());
row7.createCell(0).setCellValue("");row7.createCell(1).setCellValue(state1Counts.getOrDefault("",0).toString());
row7.createCell(2).setCellValue("");row7.createCell(3).setCellValue(state0Counts.getOrDefault("", 0).toString());
Row row8 = sheet.createRow(rowNum++);
row8.createCell(0).setCellValue("中西汇通");row8.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通", 0).toString());
row8.createCell(2).setCellValue("中西汇通");row8.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通", 0).toString());
row8.createCell(0).setCellValue("心理");row8.createCell(1).setCellValue(state1Counts.getOrDefault("心理", 0).toString());
row8.createCell(2).setCellValue("心理");row8.createCell(3).setCellValue(state0Counts.getOrDefault("心理", 0).toString());
Row row9 = sheet.createRow(rowNum++);
row9.createCell(0).setCellValue("中西汇通学");row9.createCell(1).setCellValue(state1Counts.getOrDefault("中西汇通学", 0).toString());
row9.createCell(2).setCellValue("中西汇通学");row9.createCell(3).setCellValue(state0Counts.getOrDefault("中西汇通学", 0).toString());
sheet.createRow(rowNum++);
String[] header2 = {"","首次办理三年","首次办理四年","其他","延期一年", "延期三年","延期四年","其他"};
@@ -339,6 +346,7 @@ public class StatisticsBusinessVipController {
fillRow(sheet.createRow(rowNum++), 0, "中医学", banCounts, yanCounts);
fillRow(sheet.createRow(rowNum++), 0, "针灸学", banCounts, yanCounts);
fillRow(sheet.createRow(rowNum++), 0, "肿瘤学", banCounts, yanCounts);
fillRow(sheet.createRow(rowNum++), 0, "妇幼生殖", banCounts, yanCounts);
fillRow(sheet.createRow(rowNum++), 0, "国学", banCounts, yanCounts);
fillRow(sheet.createRow(rowNum++), 0, "心理学", banCounts, yanCounts);
fillRow(sheet.createRow(rowNum++), 0, "中西汇通学", banCounts, yanCounts);
@@ -352,6 +360,7 @@ public class StatisticsBusinessVipController {
sheet.createRow(rowNum++).createCell(0).setCellValue("中医学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("中医学",0).toString());
sheet.createRow(rowNum++).createCell(0).setCellValue("针灸学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("针灸学",0).toString());
sheet.createRow(rowNum++).createCell(0).setCellValue("肿瘤学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("肿瘤学",0).toString());
sheet.createRow(rowNum++).createCell(0).setCellValue("妇幼生殖");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("妇幼生殖",0).toString());
sheet.createRow(rowNum++).createCell(0).setCellValue("国学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("国学",0).toString());
sheet.createRow(rowNum++).createCell(0).setCellValue("心理学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("心理学",0).toString());
sheet.createRow(rowNum++).createCell(0).setCellValue("中西汇通学");sheet.getRow(rowNum-1).createCell(1).setCellValue(banTypeRatios.getOrDefault("中西汇通学",0).toString());