
package com.kxs.stat.api.feign;

import com.kxs.common.core.constant.SecurityConstants;
import com.kxs.common.core.util.R;

import com.kxs.stat.api.dto.statUser.GetActivityStatByIdAndTimeDTO;
import com.kxs.stat.api.model.KxsLkbTrade;
import com.kxs.stat.api.model.KxsUserTrade;
import com.kxs.stat.api.vo.GetActivityStatByIdAndTimeVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.PostExchange;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author Pota1ovO
 * @date 2024/5/08
 */
public interface RemoteKxsStatService {

	/**
	 * 股东大盘分红积分计算任务
	 *
	 * @param from    调用标志
	 *
	 */
	@GetExchange("/stat-job/shdUserTradeTotalList")
    void shdUserTradeTotalList(@RequestParam(value = "para", required = false) String para, @RequestHeader(SecurityConstants.FROM) String from);

	/**
	 * 获取交易统计数据
	 *
	 * @param from    调用标志
	 *
	 */
	@GetExchange("/stat/getStatAmount")
	BigDecimal getStatAmount(@RequestParam("month") String month, @RequestHeader(SecurityConstants.FROM) String from);


	@GetExchange("/stat-job/autoStatTableCreationTasks")
    void autoStatTableCreationTasks(@RequestHeader(SecurityConstants.FROM) String from);

	/**
	 * 百城千团统计数据
	 *
	 * @param param 参数
	 * @param from  从
	 * @return {@link List}<{@link GetActivityStatByIdAndTimeVO}>
	 */
	@GetExchange("/campStat/getActivityStatByIdAndTime")
	List<GetActivityStatByIdAndTimeVO> getActivityStatByIdAndTime(@RequestBody List<GetActivityStatByIdAndTimeDTO> param, @RequestHeader(SecurityConstants.FROM) String from);

	/**
	 * 获取 LKB 交易额 AMT
	 *
	 * @param lkbTrade    lkbTrade
	 * @return {@link KxsLkbTrade}
	 */
	@PostExchange("/stat/getLkbTradeAmt")
	KxsLkbTrade getLkbTradeAmt(@RequestBody KxsLkbTrade lkbTrade, @RequestHeader(SecurityConstants.FROM) String from);
}
