package com.gic.haoban.manage.web.controller.content;

import com.gic.api.base.commons.Page;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO;
import com.gic.haoban.manage.web.qo.content.statistics.MaterialAnalyzeDataQO;
import com.gic.haoban.manage.web.qo.content.statistics.MaterialPersonalUsedQO;
import com.gic.haoban.manage.web.qo.content.statistics.MaterialStatisticsBaseQO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialClerkUsedDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialDataOverviewVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialIndexDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialRealDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialStoreUsedDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.report.MaterialPersonalUsedDataVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 素材-好办数据统计
 **/
@RequestMapping(path = "/material/data")
@RestController
public class MaterialDataStaticsController {


    /**
     * 获取素材首页数据
     *
     * @param contentMaterialBaseQO
     * @return
     */
    @RequestMapping(path = "/content/material/index/data")
    public RestResponse<MaterialIndexDataVO> queryMaterialIndexData(@RequestBody ContentMaterialBaseQO contentMaterialBaseQO) {
        return RestResponse.successResult();
    }


    /**
     * 素材使用分析页面-实时数据统计
     *
     * @return
     */
    @RequestMapping(path = "/content/material/real/use/data")
    public RestResponse<MaterialRealDataVO> queryMaterialUsedAnalyze(@RequestBody MaterialStatisticsBaseQO materialStatisticsBaseQO) {
        return RestResponse.successResult();
    }

    /**
     * 素材使用分析页面-数据概览
     *
     * @param materialStatisticsBaseQO
     * @return
     */
    @RequestMapping(path = "/content/material/overview/data")
    public RestResponse<MaterialDataOverviewVO> queryMaterialOverviewData(@RequestBody MaterialAnalyzeDataQO materialStatisticsBaseQO) {
        return RestResponse.successResult();
    }


    /**
     * 素材使用分析页面-导购纬度使用数据
     *
     * @return
     */
    @RequestMapping(path = "/content/material/clerk/data")
    public RestResponse<Page<MaterialClerkUsedDataVO>> queryMaterialClerkUsedData(@RequestBody MaterialAnalyzeDataQO materialStatisticsBaseQO) {
        //
        return RestResponse.successResult();
    }

    /**
     * 素材使用分析页面-门店纬度使用数据
     *
     * @return
     */
    @RequestMapping(path = "/content/material/store/data")
    public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUsedData(@RequestBody MaterialAnalyzeDataQO materialStatisticsBaseQO) {
        return RestResponse.successResult();
    }


    // 导购 周报/月报数据

    /**
     * 周/月报--导购/店长-素材使用个人数据
     *
     * @return
     */
    @RequestMapping(path = "/content/material/personal/used/data")
    public RestResponse<MaterialPersonalUsedDataVO> queryMaterialUsedReport(@RequestBody MaterialPersonalUsedQO materialPersonalUsedQO) {
        return RestResponse.successResult();
    }

    /**
     * 周/月报--查询导购素材使用数据列表
     *
     * @return
     */
    @RequestMapping(path = "/content/material/personal/used/data/list")
    public RestResponse<Page<MaterialPersonalUsedDataVO>> queryMaterialUsedReportList(@RequestBody MaterialPersonalUsedQO materialPersonalUsedQO) {
        return RestResponse.successResult();
    }

    /**
     * 周/月报--查询门店纬度素材使用数据(店长和区经)
     * @param materialPersonalUsedQO
     * @return
     */
    @RequestMapping(path = "/content/material/store/used/data")
    public RestResponse<MaterialStoreUsedDataVO> queryMaterialStoreUseReport(@RequestBody MaterialPersonalUsedQO materialPersonalUsedQO) {
        return RestResponse.successResult();
    }

    /**
     * 周/月报--查询门店纬度素材使用数据列表
     * @param materialPersonalUsedQO
     * @return
     */
    @RequestMapping(path = "/content/material/store/used/data/list")
    public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUseReportList(@RequestBody MaterialPersonalUsedQO materialPersonalUsedQO) {
        return RestResponse.successResult();
    }

}
