package com.ichaoj.ams.controller; import com.ichaoj.ams.service.IAmsAddressAccountService; import com.ichaoj.ams.service.IAmsTradeRecordService; import com.ichaoj.common.annotation.AuthResource; import com.ichaoj.common.model.PublicResult; import com.ichaoj.common.model.PublicUserInfo; import com.ichaoj.web.context.SuperWhaleContext; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author : cjwen * @date : 2023/05/23 18:37 */ @RestController @RequestMapping("/statistics") @Tag(name = "统计模块") public class StatisticsController { @Resource private IAmsTradeRecordService tradeService; @Resource private IAmsAddressAccountService accountService; @GetMapping("daily-cost") @Operation(summary = "每日消耗gas和本金") @AuthResource public PublicResult> dailyCostStatistics() { Map map = new HashMap<>(5); String userId = SuperWhaleContext.getContext(PublicUserInfo.class).getUserId(); List batchAddresses = accountService.queryGroupList(1); // 从链上获取当日gas费用 BigDecimal dailyGasCost = getDailyGasCost(userId); // 从链上获取当日本金消耗量 // BigDecimal dailyPrincipalCost = getDailyPrincipalCost(userId); // 总消耗 = gas费用 + 本金消耗 // BigDecimal totalCost = dailyGasCost.add(dailyPrincipalCost); return PublicResult.success(map); } private void getGroupAndWalletNum(Map map) { List list = accountService.queryGroupList(0); map.put("premiumCount", list.size()); } private BigDecimal getDailyGasCost(String userId) { return BigDecimal.ZERO; } }