This commit is contained in:
van
2026-07-28 19:12:04 +08:00
parent 941b7f0ae6
commit f94cd3e4cd
3 changed files with 39 additions and 6 deletions

View File

@@ -218,12 +218,12 @@ public class OrderRowsController extends BaseController
Map<String, List<String>> groups = new HashMap<>(); Map<String, List<String>> groups = new HashMap<>();
groups.put("cancel", Arrays.asList("3")); groups.put("cancel", Arrays.asList("3"));
groups.put("invalid", Arrays.asList("2","4","5","6","7","8","9","10","11","14","19","20","21","22","23","29","30","31","32","33","34")); groups.put("invalid", ValidCodeConverter.toCodeStrings(ValidCodeConverter.INVALID_CODES));
groups.put("pending", Arrays.asList("15")); groups.put("pending", Arrays.asList("15"));
groups.put("paid", Arrays.asList("16")); groups.put("paid", Arrays.asList("16"));
groups.put("finished", Arrays.asList("17")); groups.put("finished", Arrays.asList("17"));
groups.put("deposit", Arrays.asList("24")); groups.put("deposit", Arrays.asList("24"));
groups.put("illegal", Arrays.asList("25","26","27","28")); groups.put("illegal", ValidCodeConverter.toCodeStrings(ValidCodeConverter.ILLEGAL_CODES));
Map<String, Map<String, Object>> groupStats = new HashMap<>(); Map<String, Map<String, Object>> groupStats = new HashMap<>();
groupStats.put("cancel", createGroupStat("取消", "cancel")); groupStats.put("cancel", createGroupStat("取消", "cancel"));
@@ -253,8 +253,7 @@ public class OrderRowsController extends BaseController
String validCode = row.getValidCode() != null ? String.valueOf(row.getValidCode()) : null; String validCode = row.getValidCode() != null ? String.valueOf(row.getValidCode()) : null;
boolean isCancel = "3".equals(validCode); boolean isCancel = "3".equals(validCode);
boolean isIllegal = "25".equals(validCode) || "26".equals(validCode) boolean isIllegal = ValidCodeConverter.isIllegal(row.getValidCode());
|| "27".equals(validCode) || "28".equals(validCode);
double commissionAmount = 0.0; double commissionAmount = 0.0;
double actualFeeAmount = 0.0; double actualFeeAmount = 0.0;

View File

@@ -1,9 +1,14 @@
package com.ruoyi.jarvis.enums; package com.ruoyi.jarvis.enums;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/** /**
* @author Leo * @author Leo
@@ -13,6 +18,16 @@ import java.util.Map;
public class ValidCodeConverter { public class ValidCodeConverter {
private static final Map<Integer, String> codeDescriptions = new HashMap<>(); private static final Map<Integer, String> codeDescriptions = new HashMap<>();
/** 违规订单 validCode13、25-28、36-43 */
public static final Set<Integer> ILLEGAL_CODES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
13, 25, 26, 27, 28, 36, 37, 38, 39, 40, 41, 42, 43
)));
/** 无效订单 validCode不含取消 3 */
public static final Set<Integer> INVALID_CODES = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(
2, 4, 5, 6, 7, 8, 9, 11, 14, 19, 20, 21, 22, 23, 29, 30, 31, 33, 34, 35, 44
)));
static { static {
codeDescriptions.put(-100, "无变化"); codeDescriptions.put(-100, "无变化");
codeDescriptions.put(-1, "未知"); codeDescriptions.put(-1, "未知");
@@ -45,6 +60,24 @@ public class ValidCodeConverter {
codeDescriptions.put(31, "无效-黑名单sku"); codeDescriptions.put(31, "无效-黑名单sku");
codeDescriptions.put(33, "超市卡充值订单"); codeDescriptions.put(33, "超市卡充值订单");
codeDescriptions.put(34, "无效-推卡订单无效"); codeDescriptions.put(34, "无效-推卡订单无效");
codeDescriptions.put(35, "无效-非CID订单");
codeDescriptions.put(36, "违规订单-账户绑定有误");
codeDescriptions.put(37, "违规订单-利用京东域内流量推广");
codeDescriptions.put(38, "违规订单-利用短信形式推广");
codeDescriptions.put(39, "违规订单-推广京东首页");
codeDescriptions.put(40, "违规订单-refer与备案信息不符");
codeDescriptions.put(41, "违规订单-用户交易异常");
codeDescriptions.put(42, "违规订单-批量下单");
codeDescriptions.put(43, "违规订单-超过类目上限");
codeDescriptions.put(44, "不计佣订单");
}
public static boolean isIllegal(Integer code) {
return code != null && ILLEGAL_CODES.contains(code);
}
public static List<String> toCodeStrings(Set<Integer> codes) {
return codes.stream().map(String::valueOf).sorted().collect(Collectors.toList());
} }
/** /**

View File

@@ -4,6 +4,7 @@ import com.ruoyi.jarvis.domain.OrderRows;
import com.ruoyi.jarvis.domain.JDOrder; import com.ruoyi.jarvis.domain.JDOrder;
import com.ruoyi.jarvis.domain.SuperAdmin; import com.ruoyi.jarvis.domain.SuperAdmin;
import com.ruoyi.jarvis.domain.WeComShareLinkLogisticsJob; import com.ruoyi.jarvis.domain.WeComShareLinkLogisticsJob;
import com.ruoyi.jarvis.enums.ValidCodeConverter;
import com.ruoyi.jarvis.service.IInstructionService; import com.ruoyi.jarvis.service.IInstructionService;
import com.ruoyi.jarvis.service.IOrderRowsService; import com.ruoyi.jarvis.service.IOrderRowsService;
import com.ruoyi.jarvis.service.IJDOrderService; import com.ruoyi.jarvis.service.IJDOrderService;
@@ -2170,11 +2171,11 @@ public class InstructionServiceImpl implements IInstructionService {
long pending = rows.stream().filter(o -> Integer.valueOf(15).equals(o.getValidCode())).count(); long pending = rows.stream().filter(o -> Integer.valueOf(15).equals(o.getValidCode())).count();
long completed = rows.stream().filter(o -> Integer.valueOf(17).equals(o.getValidCode())).count(); long completed = rows.stream().filter(o -> Integer.valueOf(17).equals(o.getValidCode())).count();
long canceled = rows.stream().filter(o -> o.getValidCode() != null && o.getValidCode() != 16 && o.getValidCode() != 17).count(); long canceled = rows.stream().filter(o -> o.getValidCode() != null && o.getValidCode() != 16 && o.getValidCode() != 17).count();
long violation = rows.stream().filter(o -> o.getValidCode() != null && (o.getValidCode() == 13 || o.getValidCode() == 25 || o.getValidCode() == 26 || o.getValidCode() == 27 || o.getValidCode() == 28 || o.getValidCode() == 29)).count(); long violation = rows.stream().filter(o -> ValidCodeConverter.isIllegal(o.getValidCode())).count();
double paidCommission = rows.stream().filter(o -> Integer.valueOf(16).equals(o.getValidCode()) && o.getEstimateFee() != null).mapToDouble(OrderRows::getEstimateFee).sum(); double paidCommission = rows.stream().filter(o -> Integer.valueOf(16).equals(o.getValidCode()) && o.getEstimateFee() != null).mapToDouble(OrderRows::getEstimateFee).sum();
double pendingCommission = rows.stream().filter(o -> Integer.valueOf(15).equals(o.getValidCode()) && o.getEstimateFee() != null).mapToDouble(OrderRows::getEstimateFee).sum(); double pendingCommission = rows.stream().filter(o -> Integer.valueOf(15).equals(o.getValidCode()) && o.getEstimateFee() != null).mapToDouble(OrderRows::getEstimateFee).sum();
double completedCommission = rows.stream().filter(o -> Integer.valueOf(17).equals(o.getValidCode()) && o.getEstimateFee() != null).mapToDouble(OrderRows::getEstimateFee).sum(); double completedCommission = rows.stream().filter(o -> Integer.valueOf(17).equals(o.getValidCode()) && o.getEstimateFee() != null).mapToDouble(OrderRows::getEstimateFee).sum();
double violationCommission = rows.stream().filter(o -> o.getValidCode() != null && (o.getValidCode() == 13 || o.getValidCode() == 25 || o.getValidCode() == 26 || o.getValidCode() == 27 || o.getValidCode() == 28 || o.getValidCode() == 29) && o.getEstimateCosPrice() != null && o.getCommissionRate() != null).mapToDouble(o -> o.getEstimateCosPrice() * o.getCommissionRate() * 0.01).sum(); double violationCommission = rows.stream().filter(o -> ValidCodeConverter.isIllegal(o.getValidCode()) && o.getEstimateCosPrice() != null && o.getCommissionRate() != null).mapToDouble(o -> o.getEstimateCosPrice() * o.getCommissionRate() * 0.01).sum();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("* ").append(title).append(" *\n").append("━━━━━━━━━━━━\n").append("订单总数:").append(total).append("\n").append("有效订单:").append(total - canceled).append("\n").append("已取消:").append(canceled).append("\n").append("────────────\n").append("已付款:").append(paid).append("\n").append("已付款佣金:").append(fmt(paidCommission)).append("\n").append("────────────\n").append("待付款:").append(pending).append("\n").append("待付款佣金:").append(fmt(pendingCommission)).append("\n").append("────────────\n").append("已完成:").append(completed).append("\n").append("已完成佣金:").append(fmt(completedCommission)).append("\n").append("────────────\n").append("违规订单:").append(violation).append("\n").append("违规佣金:").append(fmt(violationCommission)).append("\n").append("━━━━━━━━━━━━"); sb.append("* ").append(title).append(" *\n").append("━━━━━━━━━━━━\n").append("订单总数:").append(total).append("\n").append("有效订单:").append(total - canceled).append("\n").append("已取消:").append(canceled).append("\n").append("────────────\n").append("已付款:").append(paid).append("\n").append("已付款佣金:").append(fmt(paidCommission)).append("\n").append("────────────\n").append("待付款:").append(pending).append("\n").append("待付款佣金:").append(fmt(pendingCommission)).append("\n").append("────────────\n").append("已完成:").append(completed).append("\n").append("已完成佣金:").append(fmt(completedCommission)).append("\n").append("────────────\n").append("违规订单:").append(violation).append("\n").append("违规佣金:").append(fmt(violationCommission)).append("\n").append("━━━━━━━━━━━━");