Пример #1
0
        /// <summary>
        /// 保存分销商关系
        /// </summary>
        /// <returns></returns>
        public Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Guid> SaveDistributorRelationExt(Jinher.AMP.BTP.Deploy.CustomDTO.DistributorUserRelationDTO distribDto)
        {
            Jinher.AMP.BTP.Deploy.CustomDTO.ResultDTO <Guid> result = new Deploy.CustomDTO.ResultDTO <Guid>();
            try
            {
                if (distribDto == null)
                {
                    result.ResultCode = 1;
                    result.Message    = "参数错误,参数不能为空!";
                    return(result);
                }
                if (distribDto.UserId == Guid.Empty ||
                    distribDto.EsAppId == Guid.Empty)
                {
                    result.ResultCode = 1;
                    result.Message    = "参数错误,参数不能为空!";
                    return(result);
                }
                if (!Jinher.AMP.BTP.TPS.BACBP.CheckAppDistribute(distribDto.EsAppId))
                {
                    result.ResultCode = 3;
                    result.Message    = "抱歉,暂不支持该功能";
                    return(result);
                }

                Distributor disParent = null;
                //DistributorId为空,当前用户将成为馆的直接分销商(一级分销商).
                if (distribDto.DistributorId == Guid.Empty)
                {
                    disParent       = new Distributor();
                    disParent.Id    = Guid.Empty;
                    disParent.Level = 0;
                    disParent.Key   = "";
                }
                else
                {
                    disParent = (from dis in Distributor.ObjectSet()
                                 where dis.Id == distribDto.DistributorId
                                 select dis).FirstOrDefault();
                    if (disParent == null)
                    {
                        result.ResultCode = 2;
                        result.Message    = "分销商信息未找到!";
                        return(result);
                    }
                    if (disParent.EsAppId != distribDto.EsAppId)
                    {
                        result.ResultCode = 4;
                        result.Message    = "请求错误,请检查后重试~";
                        return(result);
                    }
                }


                Guid disQuery = (from dis in Distributor.ObjectSet()
                                 where dis.EsAppId == distribDto.EsAppId && dis.UserId == distribDto.UserId
                                 select dis.Id).FirstOrDefault();
                if (disQuery != null && disQuery != Guid.Empty)
                {
                    result.Data       = disQuery;
                    result.ResultCode = 0;
                    result.Message    = "用户已存在分销关系!";
                    return(result);
                }

                var            uniDto         = Jinher.AMP.BTP.TPS.CBCSV.GetUserNameAndCode(distribDto.UserId);
                ContextSession contextSession = ContextFactory.CurrentThreadContext;

                Distributor distributor = Distributor.CreateDistributor();
                distributor.Id          = Guid.NewGuid();
                distributor.UserName    = uniDto.Item1;
                distributor.UserCode    = uniDto.Item2;
                distributor.SubTime     = DateTime.Now;
                distributor.ModifiedOn  = DateTime.Now;
                distributor.EsAppId     = distribDto.EsAppId;
                distributor.ParentId    = disParent.Id;
                distributor.Level       = disParent.Level + 1;
                distributor.Key         = (disParent.Key + "." + distributor.Id).Trim('.');
                distributor.UserId      = distribDto.UserId;
                distributor.UserSubTime = DateTime.Now;
                distributor.PicturePath = "";
                distributor.EntityState = System.Data.EntityState.Added;
                contextSession.SaveObject(distributor);

                //DistributorProfits distributorProfits = new DistributorProfits();
                //distributorProfits.Id = distributor.Id;
                //distributorProfits.UserName = distributor.UserName;
                //distributorProfits.UserCode = distributor.UserCode;
                //distributorProfits.SubTime = DateTime.Now;
                //distributorProfits.ModifiedOn = DateTime.Now;
                //distributorProfits.OrderAmount = 0;
                //distributorProfits.CommissionAmount = 0;
                //distributorProfits.CommmissionUnPay = 0;
                //distributorProfits.UnderlingCount = 0;
                //distributorProfits.SubUnderlingCount = 0;
                //distributorProfits.EntityState = System.Data.EntityState.Added;

                //contextSession.SaveObject(distributorProfits);

                contextSession.SaveChanges();

                result.Data = distributor.Id;
            }
            catch (Exception ex)
            {
                string errMsg = string.Format("SaveDistributorRelationExt异常,异常信息:{0}", ex);
                LogHelper.Error(errMsg);
            }

            return(result);
        }