You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.7 KiB

package com.example.demo.service;
import com.example.demo.domain.entity.Statistics;
import com.example.demo.domain.vo.WorkbenchCard;
import com.example.demo.domain.vo.WorkbenchMarketCard;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @program: gold-java
* @ClassName WorkbenchService
* @description:
* @author: Ethan
* @create: 2025−06-18 10:21
* @Version 1.0
**/
public interface WorkbenchService {
//获取不同地区的工作台统计卡片
WorkbenchCard getCard(List<String> markets );
//缓存卡片数据
WorkbenchCard getCardCache( List<String> markets);
//获取卡片数据
WorkbenchMarketCard createWorkbenchMarketCard(String market, Statistics currentStatistics,Statistics ydayStatistics, Date currentDate);
//获取不同地区的工作台柱状图数据(根据类型,起止时间,地区查询)
WorkbenchCard getGraph(Date startDate, Date endDate, List<String> markets);
//根据类型获取年初至今的统计数据
Map<String, Integer> calculateAllSum(String market, Date startDate, Date endDate);
//获取该日期该市场的日环比
Integer calculateDayOverDay(String market,Date date);
//获取总体日环比
Integer calculateAllDayOverDay(Date date,List<String> markets);
//获取该日期该市场的周同比
Integer calculateWeekOverWeek(String market, Date date);
//获取该日期总体的周同比
Integer calculateAllWeekOverWeek( Date date,List<String> markets);
//获取与传入的日期相差XX天的日期
Date addDays(Date date, int days);
//获取传入时间所在周的第一天(周一)
Date getStartOfWeek(Date date);
}