diff --git a/pom.xml b/pom.xml
index 69366c5..8d20ec8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,6 +57,10 @@
org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework.boot
spring-boot-starter-validation
diff --git a/src/main/java/com/example/demo/Util/ExecutionTimeAspect.java b/src/main/java/com/example/demo/Util/ExecutionTimeAspect.java
new file mode 100644
index 0000000..201ee1b
--- /dev/null
+++ b/src/main/java/com/example/demo/Util/ExecutionTimeAspect.java
@@ -0,0 +1,29 @@
+package com.example.demo.Util;
+
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.stereotype.Component;
+
+/**
+ * @program: gold-java
+ * @ClassName ExecutionTimeAspect
+ * @description:
+ * @author: Ethan
+ * @create: 2025−07-03 10:50
+ * @Version 1.0
+ **/
+
+@Aspect
+@Component
+public class ExecutionTimeAspect {
+
+ @Around("execution(* com.example.demo.serviceImpl.WorkbenchServiceImpl.*(..))")
+ public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
+ long start = System.currentTimeMillis();
+ Object proceed = joinPoint.proceed();
+ long executionTime = System.currentTimeMillis() - start;
+ System.out.println("执行时间 " + joinPoint.getSignature() + ": " + executionTime + " ms");
+ return proceed;
+ }
+}
diff --git a/src/main/java/com/example/demo/domain/vo/WorkbenchCard.java b/src/main/java/com/example/demo/domain/vo/WorkbenchCard.java
index 8453b45..0b03299 100644
--- a/src/main/java/com/example/demo/domain/vo/WorkbenchCard.java
+++ b/src/main/java/com/example/demo/domain/vo/WorkbenchCard.java
@@ -24,6 +24,7 @@ import java.util.List;
public class WorkbenchCard implements Serializable {
private String token; //用户token
private List marketCards; // 地区卡片数据
+ private List marketGraphs; // 地区图表数据
private List markets; // 地区列表
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startDate; // 起始时间
diff --git a/src/main/java/com/example/demo/domain/vo/WorkbenchMarketGraph.java b/src/main/java/com/example/demo/domain/vo/WorkbenchMarketGraph.java
new file mode 100644
index 0000000..f2a15b4
--- /dev/null
+++ b/src/main/java/com/example/demo/domain/vo/WorkbenchMarketGraph.java
@@ -0,0 +1,29 @@
+package com.example.demo.domain.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @program: gold-java
+ * @ClassName WorkbenchMarketGraph
+ * @description:
+ * @author: Ethan
+ * @create: 2025−07-03 10:16
+ * @Version 1.0
+ **/
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class WorkbenchMarketGraph implements Serializable {
+ private String market;//地区
+ //图表
+ private Integer SumRechargePermanent; //合计充值永久金币
+ private Integer SumRechargeFree; //合计充值免费金币
+ private Integer SumConsumePermanent; //合计消费永久金币
+ private Integer SumConsumeFree; //合计消费免费金币
+ private Integer SumConsumeTask; //合计消费任务金币
+}
diff --git a/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
index 35c8833..e0d846d 100644
--- a/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
+++ b/src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java
@@ -3,6 +3,7 @@ package com.example.demo.serviceImpl;
import com.example.demo.domain.entity.Statistics;
import com.example.demo.domain.vo.WorkbenchCard;
import com.example.demo.domain.vo.WorkbenchMarketCard;
+import com.example.demo.domain.vo.WorkbenchMarketGraph;
import com.example.demo.mapper.StatisticsMapper;
import com.example.demo.mapper.WorkBenchMapper;
import com.example.demo.service.GeneralService;
@@ -73,7 +74,7 @@ public class WorkbenchServiceImpl implements WorkbenchService {
// 收集并行流结果为列表
.collect(Collectors.toList());
- return new WorkbenchCard(token, marketCards, markets, date, date);
+ return new WorkbenchCard(token, marketCards,new ArrayList<>(), markets, date, date);
/* List marketCards = new ArrayList<>();
// 遍历每个 marketCard 并填充数据
for (String market : markets) {
@@ -188,19 +189,19 @@ public class WorkbenchServiceImpl implements WorkbenchService {
@Override
public WorkbenchCard getGraph(String token, Date startDate, Date endDate, List markets) {
- List marketCards = new ArrayList<>();
+ List marketGraphs = new ArrayList<>();
for (String market : markets) {
- WorkbenchMarketCard cards = new WorkbenchMarketCard();
- cards.setMarket(market);
- cards.setSumRechargePermanent(calculateSum(market, "money",startDate,endDate));
- cards.setSumRechargeFree(calculateSum(market, "rFree",startDate,endDate));
- cards.setSumConsumePermanent(calculateSum(market, "cPermanent",startDate,endDate));
- cards.setSumConsumeFree(calculateSum(market, "cFree",startDate,endDate));
- cards.setSumConsumeTask(calculateSum(market, "cTask",startDate,endDate));
- marketCards.add( cards);
+ WorkbenchMarketGraph graphs = new WorkbenchMarketGraph();
+ graphs.setMarket(market);
+ graphs.setSumRechargePermanent(calculateSum(market, "money",startDate,endDate));
+ graphs.setSumRechargeFree(calculateSum(market, "rFree",startDate,endDate));
+ graphs.setSumConsumePermanent(calculateSum(market, "cPermanent",startDate,endDate));
+ graphs.setSumConsumeFree(calculateSum(market, "cFree",startDate,endDate));
+ graphs.setSumConsumeTask(calculateSum(market, "cTask",startDate,endDate));
+ marketGraphs.add( graphs);
}
- return new WorkbenchCard(token, marketCards,markets,startDate,endDate);
+ return new WorkbenchCard(token, new ArrayList<>(),marketGraphs,markets,startDate,endDate);
}
/*