package cn.superdesk.uniorder.dubbo.facade.unified;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dao.entity.unified.UnifiedServiceGroup;
import cn.superdesk.uniorder.common.security.dto.LoginSysUser;
import cn.superdesk.uniorder.dto.vo.unified.UnifiedDrowMoneyPage;
import cn.superdesk.uniorder.dto.vo.unified.UnifiedDrowMoneyParam;
import cn.superdesk.uniorder.dto.vo.unified.UnifiedEncouragePage;
import cn.superdesk.uniorder.dto.vo.unified.UnifiedEncourageParam;
import cn.superdesk.uniorder.dto.vo.wechat.WxChannelItemList;

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

public interface DubboUnifiedEncourageService {

	Map<String, Object> addObj(UnifiedEncourageParam param, LoginSysUser loginSysUser);

	Map<String, Object> updateObj(UnifiedEncourageParam param, LoginSysUser loginSysUser);

	R<List<UnifiedEncouragePage>> getPage(Map<String, Object> params, int pageNum, int pageSize);


	UnifiedServiceGroup findServiceGroupByCode(String businessCode);

	Map<String, Object> profitAdd(UnifiedDrowMoneyParam param, Long parseLong);

	R<List<UnifiedDrowMoneyPage>> getPageProfit(Map<String, Object> params, int pageNum, int pageSize);


	BigDecimal getAmountProfit(Map<String, Object> amountProfitQuery);

	BigDecimal getAmountEncourage(Map<String, Object> amountProfitQuery);

	BigDecimal getOrderAmount(Map<String, Object> amountQuery);

	Integer getVirtCountByChannelId(Map<String, Object> virtCountQuery);

	BigDecimal getAmountBack(Map<String, Object> amountProfitQuery);

	BigDecimal getAmountGetCash(Map<String, Object> amountGetCashQuery);

	List<WxChannelItemList> getChannelItemList(Map<String, Object> channelListQuery);

	List<UnifiedEncouragePage> getEncourageList(Map<String, Object> amountGetCashQuery);

	List<UnifiedServiceGroup> getServiceGroupAll(Map<String, Object> params);


}
