package com.example.demo.controller; import com.example.demo.domain.entity.Admin; import com.example.demo.domain.vo.WorkbenchCard; import com.example.demo.mapper.StatisticsMapper; import com.example.demo.service.GeneralService; import com.example.demo.service.StatisticsService; import com.example.demo.service.WorkbenchService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; import java.util.Map; /** * @program: gold-java * @ClassName WorkbenchController * @description: 工作台相关 * @author: Ethan * @create: 2025−06-17 17:13 * @Version 1.0 **/ @RestController @RequestMapping("/workbench") @RequiredArgsConstructor @CrossOrigin @Slf4j public class WorkbenchController { @Autowired private WorkbenchService workbenchService; @Autowired private StatisticsService statisticsService; @Autowired private GeneralService generalService; @Autowired private StatisticsMapper statisticsMapper; /* 获取各地区工作台卡片的数据 */ @PostMapping("getCard") public ResponseEntity card1(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { if (admin == null) { return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(null); } String account = admin.getAccount(); //获取当前用户的市场列表 List markets = generalService.getRoleMarket(account); WorkbenchCard result; //判断是否是总部 if (markets != null && markets.contains("总部")) { result = workbenchService.getCardCache(markets);//走缓存,拿全部市场的缓存数据 } else { result = workbenchService.getCard(markets);//不走缓存,计算卡片属性 } return ResponseEntity.ok(result); } /* 获取各地区工作台图表的数据 */ @PostMapping("getGraph") public ResponseEntity graph1(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) { String account = admin.getAccount(); List markets = generalService.getRoleMarket(account); workbench.setMarkets(markets); WorkbenchCard result =workbenchService.getGraph(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); return ResponseEntity.ok(result); } /* 更新统计表并获取卡片数据 */ /*@PostMapping("updateCard") public ResponseEntity updateCard(@RequestBody WorkbenchCard workbench){ statisticsService.runHourlyTaskPart1(); //更新余量数据 statisticsService.runHourlyTaskPart2(); //更新余量外数据 WorkbenchCard result =workbenchService.getCard(workbench.getMarkets()); //获取卡片数据 return ResponseEntity.ok(result); }*/ }