Browse Source

7-3aop

lijianlin/feature-20250623120104-工作台与审核
jianlin 20 hours ago
parent
commit
8c7605fe82
  1. 4
      pom.xml
  2. 29
      src/main/java/com/example/demo/Util/ExecutionTimeAspect.java
  3. 1
      src/main/java/com/example/demo/domain/vo/WorkbenchCard.java
  4. 29
      src/main/java/com/example/demo/domain/vo/WorkbenchMarketGraph.java
  5. 23
      src/main/java/com/example/demo/serviceImpl/WorkbenchServiceImpl.java

4
pom.xml

@ -57,6 +57,10 @@
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>

29
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: 202507-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;
}
}

1
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<WorkbenchMarketCard> marketCards; // 地区卡片数据
private List<WorkbenchMarketGraph> marketGraphs; // 地区图表数据
private List<String> markets; // 地区列表
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date startDate; // 起始时间

29
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: 202507-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; //合计消费任务金币
}

23
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<WorkbenchMarketCard> 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<String> markets) {
List<WorkbenchMarketCard> marketCards = new ArrayList<>();
List<WorkbenchMarketGraph> 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);
}
/*

Loading…
Cancel
Save