package com.ruoyi.web.modules.screen.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.web.modules.screen.service.ITradeSalesScreenService;

/**
 * 大屏 — 交易销售统计（只读）。
 * <p>
 * 牦牛交易数据来自本地 {@code biz_trade_order} 等表；农资商城六区块（品类、订单趋势、词云等）
 * 经 {@link com.ruoyi.web.modules.screen.mallstats.MallStatsOpenApiClient} 拉取商城 Open API。
 * 商城未接入时 {@code mallStatsAvailable=false}，前端展示空态。
 *
 * @see ITradeSalesScreenService
 */
@RestController
@RequestMapping("/bigScreen/tradeSales")
public class TradeSalesScreenController extends BaseController
{
    @Autowired
    private ITradeSalesScreenService tradeSalesScreenService;

    /**
     * 交易销售看板：牦牛总览/趋势/去向/品质/产地行情 + 农资商城统计。
     *
     * @param statYear 统计年份；牦牛指标按年完成时间过滤，商城词云为全量 Top50（与年份无关）
     */
    @GetMapping("/dashboard")
    public AjaxResult dashboard(@RequestParam("statYear") String statYear)
    {
        return success(tradeSalesScreenService.loadDashboard(statYear));
    }
}
