using MyCode.Project.Domain.Businesses.BillKeeping;
using MyCode.Project.Domain.Message.Act.SalesSheetPay;
using MyCode.Project.Domain.Message.Request.CouponActivity;
using MyCode.Project.Domain.Message.Request.Message;
using MyCode.Project.Domain.Message.Response.CouponActivity;
using MyCode.Project.Domain.Message.Response.SalesSheet;
using MyCode.Project.Domain.Model;
using System;
using System.Collections.Generic;
namespace MyCode.Project.Services
{
///
/// 账单记录模块 相关服务
///
public interface IBillKeepingService
{
///
/// 库存记账
///
/// 库存记账 数据传输对象
void Stock(StockBillKeepingDto dto);
///
/// 会员服务数量记账
///
/// 会员服务数量记账 数据传输对象
void MemberServiceBook(MemberServiceBookBillKeepingDto dto,Guid MerchantId);
///
/// 会员帐户金额记账
///
/// 会员帐户金额记账 数据传输对象
void MemberAccount(MemberAccountBillKeepingDto dto, Guid MerchantId);
///
/// 会员积分记账。应用场景:充值、预售、销售
///
/// 会员积分记账 数据传输对象
/// 是否退货退款,遇到积分不够不拦截报错
void MemberIntegral(MemberIntegralBillKeepingDto dto, bool ifReturnSheet = false);
///
/// 批量库存记账,暂时只允许盘盈盘亏审核使用,其他功能请不要调用
///
/// 库存记账 数据传输对象数组
void BatchStock(List dtolist, Guid merchantId,string UserName);
///
/// 设置会员到店时间信息
///
///
///
void SetMemberShopTime(Guid memberId, Guid shopId, Guid MerchantId);
///
/// 设置会员到店服务时间信息
///
///
///
void SetMemberServiceTime(Guid memberId, Guid shopId, Guid MerchantId);
///
/// 卡券数量登记
///
///
List CardBook(CardBookDto dto);
///
/// 计算一条订单的业绩
///
///
void SetMemberExpenses(Object act1);
///
/// 核销门票
///
///
void ChangeActivityStatus(Guid sheetId);
///
/// 批量计算时间范围内的所有订单的业绩中间报表数
///
///
///
void BatchSetMemberExpenses(DateTime begin, DateTime end);
///
/// 清零指定加盟商的积分
///
///
/// 截止日期
/// 指定店铺
void ClearIntegralByCustomerId(Guid? customerId, DateTime? days = null, Guid? shopId = null);
///
/// 修改获奖记录的兑换状态为已兑换
///
///
void ChangeMemberPrizeItem(Guid sheetId);
///
/// 计算分销佣金
///
///
void CalculateCommission(string id);
///
/// 调度计算业绩新老客
///
///
void TaskSetRpShopMemberAnalyzeLog2207(string json);
///
///分析一条订单是首单还是复购或者都不是
///
///
StaMemberExpensesRecord SetShouDanFuGou(StaMemberExpensesRecord staMemberExpensesRecord);
///
/// 刷业绩记录是否护肤类服务字段
///
///
///
void SetHuFu(DateTime begin, DateTime end);
///
/// 临时的刷业绩计算结果的支付字段数值,修复BUG记录
///
///
///
void SaveReturnSheetTemp(DateTime days, DateTime end);
///
/// 恢复指定加盟商的被清零的会员积分
///
///
void ResumeMemberIntegral(Guid? customerId, DateTime begin, DateTime end );
///
/// 传店铺ID和加盟商ID,获得对应的同规则店铺ID数组
///
///
///
///
List GetShopAssetRules(Guid? customerId, Guid shopId);
///
/// 获取需要记账的积分数(如果返回0,不需要记账)
///
///
int GetIntegralToBook(Guid merchantId, Guid memberGradeId, decimal totalAmount);
///
/// 补记录计算一条订单的业绩
///
///
void BuLuMemberExpenses(MemberExpensesAct act);
///
/// 记录服务手工费
///
///
///
void SetShouGongFeiBooks(Guid headSheetId, Guid? customerId);
}
}