示例#1
0
        /// <summary>
        /// 创建推广佣金单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public string CreateBill(BillApiModel model)
        {
            if (model == null)
            {
                return("");
            }
            LoanMarketGroup      fromGroup  = userGroup.GetUserGroup(Convert.ToInt32(model.FromUserNo));
            LoanMarketGroup      toGroup    = userGroup.GetUserGroup(Convert.ToInt32(model.ToUserNo));
            LoanMarketSpreadBill spreadBill = new LoanMarketSpreadBill()
            {
                No                = model.FromUserNo + "|" + model.ToUserNo + "|" + model.BillType.ToString() + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"),
                BillType          = model.BillType,
                Amount            = model.Amount,
                Id                = GuidTool.GenerateKey(),
                FromUserNo        = model.FromUserNo,
                FromUserGroupNo   = fromGroup.No.ToString(),
                FromUserGroupName = fromGroup.Name,
                ToUserNo          = model.ToUserNo,
                ToUserGroupNo     = toGroup == null ? "0" : toGroup.No.ToString(),
                ToUserGroupName   = toGroup == null ? "非会员,无用户组" : toGroup.Name,
                CreateTime        = DateTime.Now,
                UpateTime         = DateTime.Now
            };
            string res = bill.CreateBill(spreadBill);

            //增加用户推广佣金
            if (user.UpdateUserWithdrawAmount(Convert.ToInt32(model.FromUserNo), model.Amount) > 0)
            {
                return(res);
            }
            else
            {
                return(string.Empty);
            }
        }
示例#2
0
 /// <summary>
 /// 创建推广记录
 /// </summary>
 /// <param name="fromUserNo"></param>
 /// <param name="toUserNo"></param>
 /// <returns></returns>
 public int CreateSpread(int fromUserNo, int toUserNo)
 {
     spread.CreateSpread(new Models.LoanMarketSpread()
     {
         Id = GuidTool.GenerateKey(), FromUserNo = fromUserNo, ToUserNo = toUserNo, CreateTime = DateTime.Now, UpdateTime = DateTime.Now
     });
     try
     {
         //fromUser  是否是会员
         LoanMarketUser userInfo = user.GetUser(fromUserNo);
         if (userInfo.IsPeculiarUser == 1)
         {
             #region 会员升级
             //fromUset  所属组的升级条件
             LoanMarketGroup group = userGroup.GetUserGroup(fromUserNo);
             if (group != null)
             {
                 //fromUser  已经推广人数
                 int alreadySpreadUserCount = GetSpreadCount(fromUserNo);
                 if (alreadySpreadUserCount >= Convert.ToInt32(group.UpCondition))
                 {
                     //fromUser  进行升级
                     userGroup.UpdateUserGroup(fromUserNo, (int)group.ParentNo);
                 }
                 else
                 {
                     log.Info("不满足升级条件。" + fromUserNo);
                 }
             }
             else
             {
                 log.Info("创建推广记录SpreadBLL-CreateSpread:根据用户No查询不到所属组。" + fromUserNo);
             }
             #endregion
             #region 创建推广返佣单
             //推广人返佣30(直推)
             BillApiModel fromUserBillModel = new BillApiModel()
             {
                 Amount     = 30,
                 FromUserNo = fromUserNo.ToString(),
                 ToUserNo   = toUserNo.ToString(),
                 BillType   = (int)BillTypeEnum.直推
             };
             string fromUserBillNo = billBLL.CreateBill(fromUserBillModel);
             if (!string.IsNullOrEmpty(fromUserBillNo))
             {
                 log.Info("推广返佣单,直推人返佣单创建成功。" + fromUserNo);
             }
             else
             {
                 log.Info("推广返佣单,直推人返佣单创建失败。" + fromUserNo);
             }
             //推广人所属上级代理返佣
             List <LoanMarketSpread> leaders = spread.FindUserLeaders(fromUserNo);
             if (leaders != null && leaders.Count > 0)
             {
                 foreach (LoanMarketSpread item in leaders)
                 {
                     //上级代理的用户编号
                     int leaderUserNo = item.FromUserNo;
                     //获取上级代理所属组
                     LoanMarketGroup leaderUserGroup = userGroup.GetUserGroup(leaderUserNo);
                     //获取上级代理应返佣金
                     decimal      amount          = GetSpreadAmountByUserGroupNo(leaderUserGroup.No);
                     BillApiModel leaderBillModel = new BillApiModel()
                     {
                         Amount     = amount,
                         FromUserNo = leaderUserNo.ToString(),
                         ToUserNo   = toUserNo.ToString(),
                         BillType   = (int)BillTypeEnum.级代理
                     };
                     string leaderBillNo = billBLL.CreateBill(leaderBillModel);
                     if (!string.IsNullOrEmpty(leaderBillNo))
                     {
                         log.Info("推广返佣单,上级代理返佣单创建成功。" + JsonConvert.SerializeObject(leaderBillModel));
                     }
                     else
                     {
                         log.Info("推广返佣单,上级代理返佣单创建失败。" + JsonConvert.SerializeObject(leaderBillModel));
                     }
                 }
             }
             else
             {
                 log.Info("推广返佣金,推广人无上级代理." + fromUserNo);
             }
             #endregion
         }
         else
         {
             //非会员,不会升级,也无推广费用
             log.Info("创建推广记录SpreadBLL-CreateSpread:非会员,不会升级,也无推广费用." + fromUserNo);
         }
     }
     catch (Exception e)
     {
         log.Info("创建推广记录SpreadBLL-CreateSpread异常,异常信息为:" + e.Message + ".用户:" + fromUserNo);
     }
     return(1);
 }