移动系统liao
2025-02-17 557c2711a3e103ebc3d0492344eca9730d5e92b2
CoreCms.Net.IServices/Distribution/ICoreCmsDistributionServices.cs
@@ -1,7 +1,7 @@
/***********************************************************************
 *            Project: CoreCms
 *            Project: baifenBinfa
 *        ProjectName: 百分兵法管理系统                               
 *                Web: hhtp://chuanyin.com
 *                Web: http://chuanyin.com
 *             Author:                                        
 *              Email:                               
 *         CreateTime: 202403/02   
@@ -17,16 +17,17 @@
using CoreCms.Net.Model.ViewModels.DTO.Distribution;
using CoreCms.Net.Model.ViewModels.UI;
using SqlSugar;
using static CoreCms.Net.Configuration.GlobalEnumVars;
namespace CoreCms.Net.IServices
{
    /// <summary>
    ///     分销商表 服务工厂接口
    ///     经销商表 服务工厂接口
    /// </summary>
    public interface ICoreCmsDistributionServices : IBaseServices<CoreCmsDistribution>
    {
        /// <summary>
        ///     获取分销商信息
        ///     获取经销商信息
        /// </summary>
        /// <param name="userId">用户id</param>
        /// <param name="checkStatus">是否检查满足条件</param>
@@ -69,7 +70,7 @@
        Task<WebApiCallBack> GetGradeAndCommission(int userId);
        //检查是否可以成为分销商
        //检查是否可以成为经销商
        Task CheckCondition(Dictionary<string, DictionaryKeyValues> allConfigs, CoreCmsDistribution info,
            int userId = 0);
@@ -106,6 +107,70 @@
           Expression<Func<CoreCmsDistribution, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1,
           int pageSize = 20, bool blUseNoLock = false);
        #endregion
        /// <summary>
        /// 统计到当前时间未统计业绩
        /// </summary>
        /// <param name="UserId"></param>
        /// <returns>
        /// decimal 当前统计金额
        /// DateTime 结算时间
        /// </returns>
        Task<(decimal,DateTime?, DateTime?)> AchievementTotal(int UserId);
        /// <summary>
        /// 计算当次结算应该的提成额度
        /// </summary>
        /// <param name="AttributeTotal"></param>
        /// <returns></returns>
        Task<decimal> AchievementBonus(decimal AttributeTotal);
        /// <summary>
        /// 结算绩效奖励
        /// </summary>
        /// <param name="UserId">用户ID</param>
        /// <returns></returns>
        Task<bool> SettledAchievement(int UserId);
        /// <summary>
        /// 创建一个经销商业绩单
        /// </summary>
        /// <returns></returns>
        Task<bool> CreateDistributionAchievementOrder(CreateDAOrderInParam Parma);
        /// <summary>
        /// 结算所有供应商的绩效奖励
        /// </summary>
        /// <returns></returns>
        Task<bool> SettledAllAchievement();
        /// <summary>
        ///     获取经销商推广费
        /// </summary>
        /// <returns></returns>
        List<DistributionRankingDTO> QueryAchievement(int UserId);
    }
    /// <summary>
    /// 创建经销商订单业绩输出参数
    /// </summary>
  public  class CreateDAOrderInParam
    {
        /// <summary>
        /// 父级ID
        /// </summary>
        public int UserID { get; set; }
        /// <summary>
        /// 资源ID
        /// </summary>
        public string  OderId { get; set; }
        /// <summary>
        /// 资源类型
        /// </summary>
        public UserBalanceSourceTypes SourceTypes { get; set; }
        /// <summary>
        /// 金额
        /// </summary>
        public decimal Money { get; set; }
    }
}