Merge remote-tracking branch 'origin/master'
# Conflicts: # src/main/java/cn/van/business/util/JDUtil.java
This commit is contained in:
@@ -460,8 +460,8 @@ public class JDScheduleJob {
|
|||||||
String currentHour = String.valueOf(now.getHour());
|
String currentHour = String.valueOf(now.getHour());
|
||||||
|
|
||||||
// 如果今天已经执行了3次,则跳过
|
// 如果今天已经执行了3次,则跳过
|
||||||
if (executedHours.size() >= 3) {
|
if (executedHours.size() >= 2) {
|
||||||
logger.info("今天已经执行了3次,跳过本次任务");
|
logger.info("今天已经执行了2次,跳过本次任务");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ public class JDUtil {
|
|||||||
* <p>
|
* <p>
|
||||||
* 订单号:
|
* 订单号:
|
||||||
*/
|
*/
|
||||||
private static final String WENAN_D = "单:{单的备注}\n" + "{单号} \n" + "分销标记:{分销标记}\n" + "型号:\n" + "{型号}" + "\n" + "链接:\n" + "{链接}" + "\n" + "下单付款:\n" + "\n" + "后返金额:\n" + "\n" + "地址:\n" + "{地址}" + "\n" + "物流链接:\n" + "\n" + "订单号:\n" + "\n" + "下单人:\n" + "\n";
|
private static final String WENAN_D = "单:\n" + "{单号} \n备注:{单的备注}\n" + "分销标记:{分销标记}\n" + "型号:\n" + "{型号}" + "\n" + "链接:\n" + "{链接}" + "\n" + "下单付款:\n" + "\n" + "后返金额:\n" + "\n" + "地址:\n" + "{地址}" + "\n" + "物流链接:\n" + "\n" + "订单号:\n" + "\n" + "下单人:\n" + "\n";
|
||||||
|
|
||||||
final WXUtil wxUtil;
|
final WXUtil wxUtil;
|
||||||
private final StringRedisTemplate redisTemplate;
|
private final StringRedisTemplate redisTemplate;
|
||||||
@@ -197,14 +197,14 @@ public class JDUtil {
|
|||||||
return new OrderStats(orders.size(), orders.size() - canceled, paid, orders.stream().filter(o -> o.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum(), pending, orders.stream().filter(o -> o.getValidCode() == 15).mapToDouble(OrderRow::getEstimateFee).sum(), canceled, completed, orders.stream().filter(o -> o.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum(), getStreamForWeiGui(orders).count(), getStreamForWeiGui(orders).mapToDouble(o -> o.getEstimateCosPrice() * o.getCommissionRate() * 0.01).sum());
|
return new OrderStats(orders.size(), orders.size() - canceled, paid, orders.stream().filter(o -> o.getValidCode() == 16).mapToDouble(OrderRow::getEstimateFee).sum(), pending, orders.stream().filter(o -> o.getValidCode() == 15).mapToDouble(OrderRow::getEstimateFee).sum(), canceled, completed, orders.stream().filter(o -> o.getValidCode() == 17).mapToDouble(OrderRow::getEstimateFee).sum(), getStreamForWeiGui(orders).count(), getStreamForWeiGui(orders).mapToDouble(o -> o.getEstimateCosPrice() * o.getCommissionRate() * 0.01).sum());
|
||||||
}
|
}
|
||||||
|
|
||||||
private StringBuilder buildStatsContent(String title, OrderStats stats) {
|
private StringBuilder buildStatsContentAll(String title, OrderStats stats) {
|
||||||
StringBuilder content = new StringBuilder();
|
StringBuilder content = new StringBuilder();
|
||||||
content//[爱心][Wow][Packet][Party][Broken][心碎][亲亲][色]
|
content//[爱心][Wow][Packet][Party][Broken][心碎][亲亲][色]
|
||||||
.append("* ").append(title).append(" *\n").append("━━━━━━━━━━━━\n").append("[爱心] 订单总数:").append(stats.getTotalOrders()).append("\n") // [文件]
|
.append("* ").append(title).append(" *\n").append("━━━━━━━━━━━━\n").append("[爱心] 订单总数:").append(stats.getTotalOrders()).append("\n") // [文件]
|
||||||
.append("[Party] 有效订单:").append(stats.getValidOrders()).append("\n") // [OK]
|
.append("[Party] 有效订单:").append(stats.getValidOrders()).append("\n") // [OK]
|
||||||
.append("[心碎]已取消:").append(stats.getCanceledOrders()).append("\n") // [禁止]
|
.append("[心碎]已取消:").append(stats.getCanceledOrders()).append("\n") // [禁止]
|
||||||
|
|
||||||
.append("────────────\n").append("[爱心]已付款:").append(stats.getPaidOrders()).append("\n") // [钱袋]
|
.append("────────────\n").append("[爱心] 已付款:").append(stats.getPaidOrders()).append("\n") // [钱袋]
|
||||||
.append("[Packet] 已付款佣金:").append(String.format("%.2f", stats.getPaidCommission())).append("\n") // [钞票]
|
.append("[Packet] 已付款佣金:").append(String.format("%.2f", stats.getPaidCommission())).append("\n") // [钞票]
|
||||||
.append("────────────\n").append("[Wow] 待付款:").append(stats.getPendingOrders()).append("\n") // [时钟]
|
.append("────────────\n").append("[Wow] 待付款:").append(stats.getPendingOrders()).append("\n") // [时钟]
|
||||||
.append("[Packet] 待付款佣金:").append(String.format("%.2f", stats.getPendingCommission())).append("\n") // [钱]
|
.append("[Packet] 待付款佣金:").append(String.format("%.2f", stats.getPendingCommission())).append("\n") // [钱]
|
||||||
@@ -215,6 +215,23 @@ public class JDUtil {
|
|||||||
.append("━━━━━━━━━━━━");
|
.append("━━━━━━━━━━━━");
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
private StringBuilder buildStatsContentMin(String title, OrderStats stats) {
|
||||||
|
StringBuilder content = new StringBuilder();
|
||||||
|
content//[爱心][Wow][Packet][Party][Broken][心碎][亲亲][色]
|
||||||
|
.append(title).append("\n")
|
||||||
|
//.append("[爱心] 订单总数:").append(stats.getTotalOrders()).append("\n") // [文件]
|
||||||
|
.append("[Party] 有效订单:").append(stats.getValidOrders()).append("\n") // [OK]
|
||||||
|
//.append("[心碎]已取消:").append(stats.getCanceledOrders()).append("\n") // [禁止]
|
||||||
|
|
||||||
|
.append("[爱心] 已付款:").append(stats.getPaidOrders())
|
||||||
|
.append(" >>> ").append(String.format("%.2f", stats.getPaidCommission())).append("\n") // [钞票]
|
||||||
|
.append("[亲亲] 已完成:").append(stats.getCompletedOrders())
|
||||||
|
.append(" >>> ").append(String.format("%.2f", stats.getCompletedCommission())).append("\n") // [信用卡]
|
||||||
|
.append("[Emm] 违规单:").append(stats.getViolations())
|
||||||
|
.append(" >>> ").append(String.format("%.2f", stats.getViolationCommission())).append("\n") // [炸弹]
|
||||||
|
.append("━━━━━━━━━━━━\n");
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接收京粉指令指令
|
* 接收京粉指令指令
|
||||||
@@ -284,14 +301,14 @@ public class JDUtil {
|
|||||||
// 订单总数,已付款,已取消,佣金总计
|
// 订单总数,已付款,已取消,佣金总计
|
||||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||||
OrderStats stats = calculateStats(todayOrders);
|
OrderStats stats = calculateStats(todayOrders);
|
||||||
contents.add(buildStatsContent("今日统计", stats));
|
contents.add(buildStatsContentAll("今日统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(todayOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(todayOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -300,14 +317,14 @@ public class JDUtil {
|
|||||||
case "昨日统计": {
|
case "昨日统计": {
|
||||||
List<OrderRow> yesterdayOrders = filterOrdersByDate(orderRows, 1);
|
List<OrderRow> yesterdayOrders = filterOrdersByDate(orderRows, 1);
|
||||||
OrderStats stats = calculateStats(yesterdayOrders);
|
OrderStats stats = calculateStats(yesterdayOrders);
|
||||||
contents.add(buildStatsContent("昨日统计", stats));
|
contents.add(buildStatsContentAll("昨日统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(yesterdayOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(yesterdayOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -317,14 +334,14 @@ public class JDUtil {
|
|||||||
case "三日统计": {
|
case "三日统计": {
|
||||||
List<OrderRow> last3DaysOrders = filterOrdersByDate(orderRows, 3);
|
List<OrderRow> last3DaysOrders = filterOrdersByDate(orderRows, 3);
|
||||||
OrderStats stats = calculateStats(last3DaysOrders);
|
OrderStats stats = calculateStats(last3DaysOrders);
|
||||||
contents.add(buildStatsContent("三日统计", stats));
|
contents.add(buildStatsContentAll("三日统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last3DaysOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last3DaysOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -334,14 +351,14 @@ public class JDUtil {
|
|||||||
case "七日统计": {
|
case "七日统计": {
|
||||||
List<OrderRow> last7DaysOrders = filterOrdersByDate(orderRows, 7);
|
List<OrderRow> last7DaysOrders = filterOrdersByDate(orderRows, 7);
|
||||||
OrderStats stats = calculateStats(last7DaysOrders);
|
OrderStats stats = calculateStats(last7DaysOrders);
|
||||||
contents.add(buildStatsContent("七日统计", stats));
|
contents.add(buildStatsContentAll("七日统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last7DaysOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last7DaysOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -351,14 +368,14 @@ public class JDUtil {
|
|||||||
case "一个月统计": {
|
case "一个月统计": {
|
||||||
List<OrderRow> last30DaysOrders = filterOrdersByDate(orderRows, 30);
|
List<OrderRow> last30DaysOrders = filterOrdersByDate(orderRows, 30);
|
||||||
OrderStats stats = calculateStats(last30DaysOrders);
|
OrderStats stats = calculateStats(last30DaysOrders);
|
||||||
contents.add(buildStatsContent("一个月统计", stats));
|
contents.add(buildStatsContentAll("一个月统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last30DaysOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last30DaysOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -367,14 +384,14 @@ public class JDUtil {
|
|||||||
case "两个月统计": {
|
case "两个月统计": {
|
||||||
List<OrderRow> last60DaysOrders = filterOrdersByDate(orderRows, 60);
|
List<OrderRow> last60DaysOrders = filterOrdersByDate(orderRows, 60);
|
||||||
OrderStats stats = calculateStats(last60DaysOrders);
|
OrderStats stats = calculateStats(last60DaysOrders);
|
||||||
contents.add(buildStatsContent("两个月统计", stats));
|
contents.add(buildStatsContentAll("两个月统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last60DaysOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last60DaysOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -383,14 +400,14 @@ public class JDUtil {
|
|||||||
case "三个月统计": {
|
case "三个月统计": {
|
||||||
List<OrderRow> last90DaysOrders = filterOrdersByDate(orderRows, 90);
|
List<OrderRow> last90DaysOrders = filterOrdersByDate(orderRows, 90);
|
||||||
OrderStats stats = calculateStats(last90DaysOrders);
|
OrderStats stats = calculateStats(last90DaysOrders);
|
||||||
contents.add(buildStatsContent("三个月统计", stats));
|
contents.add(buildStatsContentAll("三个月统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last90DaysOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(last90DaysOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -401,14 +418,14 @@ public class JDUtil {
|
|||||||
int days = LocalDate.now().getDayOfMonth();
|
int days = LocalDate.now().getDayOfMonth();
|
||||||
List<OrderRow> thisMonthOrders = filterOrdersByDate(orderRows, days);
|
List<OrderRow> thisMonthOrders = filterOrdersByDate(orderRows, days);
|
||||||
OrderStats stats = calculateStats(thisMonthOrders);
|
OrderStats stats = calculateStats(thisMonthOrders);
|
||||||
contents.add(buildStatsContent("这个月统计", stats));
|
contents.add(buildStatsContentAll("这个月统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(thisMonthOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(thisMonthOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -423,14 +440,14 @@ public class JDUtil {
|
|||||||
lastMonthOrders = lastMonthOrders.stream().filter(orderRow -> !thisMonthOrders.contains(orderRow)).collect(Collectors.toList());
|
lastMonthOrders = lastMonthOrders.stream().filter(orderRow -> !thisMonthOrders.contains(orderRow)).collect(Collectors.toList());
|
||||||
|
|
||||||
OrderStats stats = calculateStats(lastMonthOrders);
|
OrderStats stats = calculateStats(lastMonthOrders);
|
||||||
contents.add(buildStatsContent("上个月统计", stats));
|
contents.add(buildStatsContentAll("上个月统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(lastMonthOrders);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(lastMonthOrders);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -441,14 +458,14 @@ public class JDUtil {
|
|||||||
|
|
||||||
case "总统计": {
|
case "总统计": {
|
||||||
OrderStats stats = calculateStats(orderRows);
|
OrderStats stats = calculateStats(orderRows);
|
||||||
contents.add(buildStatsContent("总统计", stats));
|
contents.add(buildStatsContentAll("总统计", stats));
|
||||||
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(orderRows);
|
Map<Long, OrderStats> statsByUnionId = OrderStatsUtil.groupByUnionIdAndCalculateStats(orderRows);
|
||||||
StringBuilder stringBuilder = new StringBuilder().append("详:");
|
StringBuilder stringBuilder = new StringBuilder().append("详:\n");
|
||||||
if (statsByUnionId != null) {
|
if (statsByUnionId != null) {
|
||||||
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
for (Map.Entry<Long, OrderStats> entry : statsByUnionId.entrySet()) {
|
||||||
OrderStats statsDetail = entry.getValue();
|
OrderStats statsDetail = entry.getValue();
|
||||||
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
String remarkFromJdid = getRemarkFromJdid(String.valueOf(entry.getKey()));
|
||||||
stringBuilder.append(buildStatsContent("\n粉:" + remarkFromJdid + "\n", statsDetail));
|
stringBuilder.append(buildStatsContentMin("粉:" + remarkFromJdid, statsDetail));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
contents.add(stringBuilder);
|
contents.add(stringBuilder);
|
||||||
@@ -461,7 +478,7 @@ public class JDUtil {
|
|||||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||||
// 订单总数,已付款,已取消,佣金总计
|
// 订单总数,已付款,已取消,佣金总计
|
||||||
OrderStats stats = calculateStats(todayOrders);
|
OrderStats stats = calculateStats(todayOrders);
|
||||||
contents.add(buildStatsContent("今日统计", stats));
|
contents.add(buildStatsContentAll("今日统计", stats));
|
||||||
if (!todayOrders.isEmpty()) {
|
if (!todayOrders.isEmpty()) {
|
||||||
orderUtil.orderToWxBatch(todayOrders);
|
orderUtil.orderToWxBatch(todayOrders);
|
||||||
}
|
}
|
||||||
@@ -478,7 +495,7 @@ public class JDUtil {
|
|||||||
logger.info("今日过滤后数量:{}", todayOrders.size());
|
logger.info("今日过滤后数量:{}", todayOrders.size());
|
||||||
logger.info("最终昨日订单数量:{}", yesterdayOrders.size());
|
logger.info("最终昨日订单数量:{}", yesterdayOrders.size());
|
||||||
OrderStats stats = calculateStats(yesterdayOrders);
|
OrderStats stats = calculateStats(yesterdayOrders);
|
||||||
contents.add(buildStatsContent("昨日统计", stats));
|
contents.add(buildStatsContentAll("昨日统计", stats));
|
||||||
if (!yesterdayOrders.isEmpty()) {
|
if (!yesterdayOrders.isEmpty()) {
|
||||||
orderUtil.orderToWxBatch(yesterdayOrders);
|
orderUtil.orderToWxBatch(yesterdayOrders);
|
||||||
}
|
}
|
||||||
@@ -489,7 +506,7 @@ public class JDUtil {
|
|||||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||||
last7DaysOrders.removeAll(todayOrders);
|
last7DaysOrders.removeAll(todayOrders);
|
||||||
OrderStats stats = calculateStats(last7DaysOrders);
|
OrderStats stats = calculateStats(last7DaysOrders);
|
||||||
contents.add(buildStatsContent("七日统计", stats));
|
contents.add(buildStatsContentAll("七日统计", stats));
|
||||||
|
|
||||||
if (!last7DaysOrders.isEmpty()) {
|
if (!last7DaysOrders.isEmpty()) {
|
||||||
orderUtil.orderToWxBatch(last7DaysOrders);
|
orderUtil.orderToWxBatch(last7DaysOrders);
|
||||||
@@ -1439,7 +1456,7 @@ public class JDUtil {
|
|||||||
/*直接生成闲鱼的商品文案*/
|
/*直接生成闲鱼的商品文案*/
|
||||||
StringBuilder sb1 = new StringBuilder();
|
StringBuilder sb1 = new StringBuilder();
|
||||||
|
|
||||||
sb1.append("(教你买) ").append(title).append(replaceAll).append("\n").append(WENAN_FANAN_LQD.replaceAll("更新", format + "更新"));
|
sb1.append("(标价到手) ").append(title).append(replaceAll).append("\n").append(WENAN_FANAN_LQD.replaceAll("更新", format + "更新"));
|
||||||
//textList.add("闲鱼方案的文案:\n");
|
//textList.add("闲鱼方案的文案:\n");
|
||||||
textList.add(String.valueOf(sb1));
|
textList.add(String.valueOf(sb1));
|
||||||
StringBuilder sb2 = new StringBuilder();
|
StringBuilder sb2 = new StringBuilder();
|
||||||
@@ -1447,7 +1464,7 @@ public class JDUtil {
|
|||||||
//textList.add("闲鱼正常销售:\n");
|
//textList.add("闲鱼正常销售:\n");
|
||||||
textList.add(String.valueOf(sb2));
|
textList.add(String.valueOf(sb2));
|
||||||
StringBuilder sb3 = new StringBuilder();
|
StringBuilder sb3 = new StringBuilder();
|
||||||
sb3.append("(教你买) ").append(title).append(replaceAll).append("\n").append(WENAN_FANAN_HG.replaceAll("更新", format + "更新"));
|
sb3.append("(标价到手) ").append(title).append(replaceAll).append("\n").append(WENAN_FANAN_HG.replaceAll("更新", format + "更新"));
|
||||||
textList.add(String.valueOf(sb3));
|
textList.add(String.valueOf(sb3));
|
||||||
|
|
||||||
StringBuilder sb4 = new StringBuilder();
|
StringBuilder sb4 = new StringBuilder();
|
||||||
@@ -2051,6 +2068,7 @@ public class JDUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 添加合计
|
// 添加合计
|
||||||
|
summaryBuilder.append("总计:").append(totalCount).append("\n详情:");
|
||||||
summaryBuilder.append("总计:").append("\n总数量:").append(totalCount);
|
summaryBuilder.append("总计:").append("\n总数量:").append(totalCount);
|
||||||
|
|
||||||
// 发送总统计消息
|
// 发送总统计消息
|
||||||
@@ -2060,6 +2078,13 @@ public class JDUtil {
|
|||||||
StringBuilder detailBuilder = new StringBuilder();
|
StringBuilder detailBuilder = new StringBuilder();
|
||||||
for (JDOrder order : sortedOrders) {
|
for (JDOrder order : sortedOrders) {
|
||||||
detailBuilder.append("单:").append(order.getRemark() != null ? order.getRemark() : "未提供").append("\n型号:").append(order.getModelNumber() != null ? order.getModelNumber() : "未提供").append("\n下单付款:").append(order.getPaymentAmount() != null ? String.format("%.2f", order.getPaymentAmount()) : "0.00").append(" 元").append("\n后返金额:").append(order.getRebateAmount() != null ? String.format("%.2f", order.getRebateAmount()) : "0.00").append(" 元").append("\n地址:").append(order.getAddress() != null ? order.getAddress() : "未提供").append("\n物流链接:").append(order.getLogisticsLink() != null ? order.getLogisticsLink() : "无").append("\n────────────\n");
|
detailBuilder.append("单:").append(order.getRemark() != null ? order.getRemark() : "未提供").append("\n型号:").append(order.getModelNumber() != null ? order.getModelNumber() : "未提供").append("\n下单付款:").append(order.getPaymentAmount() != null ? String.format("%.2f", order.getPaymentAmount()) : "0.00").append(" 元").append("\n后返金额:").append(order.getRebateAmount() != null ? String.format("%.2f", order.getRebateAmount()) : "0.00").append(" 元").append("\n地址:").append(order.getAddress() != null ? order.getAddress() : "未提供").append("\n物流链接:").append(order.getLogisticsLink() != null ? order.getLogisticsLink() : "无").append("\n────────────\n");
|
||||||
|
detailBuilder.append("单:").append(order.getRemark() != null ? order.getRemark() : "未提供")
|
||||||
|
.append("\n型号:").append(order.getModelNumber() != null ? order.getModelNumber() : "未提供")
|
||||||
|
.append("\n下单付款:").append(order.getPaymentAmount() != null ? String.format("%.2f", order.getPaymentAmount()) : "0.00").append(" 元")
|
||||||
|
.append("\n后返金额:").append(order.getRebateAmount() != null ? String.format("%.2f", order.getRebateAmount()) : "0.00").append(" 元")
|
||||||
|
.append("\n地址:").append(order.getAddress() != null ? order.getAddress() : "未提供")
|
||||||
|
.append("\n物流链接:\n").append(order.getLogisticsLink() != null ? order.getLogisticsLink() : "无")
|
||||||
|
.append("\n────────────\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 发送详细订单消息
|
// 发送详细订单消息
|
||||||
@@ -2124,7 +2149,7 @@ public class JDUtil {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
JDOrder byRemark = jdOrderRepository.findByRemark(jdOrder.getRemark());
|
JDOrder byRemark = jdOrderRepository.findByRemark(jdOrder.getRemark());
|
||||||
String info = "";
|
String info;
|
||||||
if (byRemark != null) {
|
if (byRemark != null) {
|
||||||
logger.info("订单已存在:{}", byRemark);
|
logger.info("订单已存在:{}", byRemark);
|
||||||
info = "更新成功";
|
info = "更新成功";
|
||||||
@@ -2165,7 +2190,7 @@ public class JDUtil {
|
|||||||
Map<String, String> fields = new HashMap<>();
|
Map<String, String> fields = new HashMap<>();
|
||||||
|
|
||||||
// 定义正则表达式提取各个字段
|
// 定义正则表达式提取各个字段
|
||||||
extractField(input, fields, "单:", "分销标记:");
|
extractField(input, fields, "单:", "备注:");
|
||||||
extractField(input, fields, "分销标记:", "型号:");
|
extractField(input, fields, "分销标记:", "型号:");
|
||||||
extractField(input, fields, "型号:", "链接:");
|
extractField(input, fields, "型号:", "链接:");
|
||||||
extractField(input, fields, "链接:", "下单付款:");
|
extractField(input, fields, "链接:", "下单付款:");
|
||||||
|
|||||||
Reference in New Issue
Block a user