SourceCode/jiouosdptask/BLL/Contribution.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using RFrameGenerate.BLL;
using RFrameGenerate.DAL.Enums;
using RFrameGenerate.Model;
using RFramework.SQLServer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RFramework.SQLQuery;

namespace jiouosdptask.BLL
{
    /// <summary>
    /// 贡献值
    /// </summary>
    public class Contribution
    {
        public static void Run()
        {
            GridModel gridModel = new GridModel() { page = 1, rows = 100, };
            using (var tran = new SqlRTransaction())
            {
                var query_merchants = Factory.CreateT_BAS_Merchants(tran);
                var query_order = Factory.CreateT_BAS_Orders(tran);
                var query_procedure = Factory.CreateProcedure(tran);
                var query_disProp = Factory.CreateT_BAS_DistributionProp(tran);
                var query_disType = Factory.CreateT_BAS_DistributionType(tran);

                var types = query_disType.GetList(null, false, v => v.Value, OrderMethods.DESC, isFilterMerchant: false);
                if (types == null) types = new List<T_BAS_DistributionType>();

                while (true)
                {
                    var list = query_merchants.GetPageList(gridModel, v => v.IsEnable == true, orderExpression: o => o.MerchantGuid);

                    if (list == null || list.Count <= 0)
                    {
                        GC.Collect();
                        break;
                    }

                    list.ForEach(m =>
                    {
                        var contributeList = new List<PT_Statistics_Distribute_Contribution>();

                        var _orderList = query_procedure.GetDistributeContribution(m.MerchantGuid);

                        if (_orderList != null && _orderList.Count > 0)
                        {
                            #region 获取分销商列表
                            contributeList.AddRange(_orderList);

                            var parents = contributeList.Where(v => v.ParentGuid != null && v.ParentGuid != Guid.Empty).Select(v => v.ParentGuid.Value).Distinct().ToArray();
                            var ids = GetNotExists(parents, contributeList);

                            while (ids != null && ids.Length > 0)
                            {
                                var addList = query_disProp.GetList(c => c.DistributionPropGuid.SqlIn(ids), isFilterMerchant: false);

                                if (addList == null || addList.Count <= 0) break;
后面还有 95 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。