示例#1
0
        /// <summary>
        /// 查询已推广的用户
        /// </summary>
        /// <param name="userNo"></param>
        /// <returns></returns>
        public List <SpreadUserApiModel> FindSpreadUser(int userNo)
        {
            List <LoanMarketSpread>   list = spread.FindSpreadUser(userNo);
            List <SpreadUserApiModel> data = new List <SpreadUserApiModel>();

            if (list != null && list.Count > 0)
            {
                foreach (LoanMarketSpread item in list)
                {
                    SpreadUserApiModel spreadUserApiModel = new SpreadUserApiModel();
                    spreadUserApiModel.ToUserNo   = item.ToUserNo;
                    spreadUserApiModel.CreateTime = (DateTime)item.CreateTime;
                    LoanMarketUser loanMarketUser = user.GetUser(item.ToUserNo);
                    spreadUserApiModel.Mobile         = loanMarketUser.Mobile;
                    spreadUserApiModel.NickName       = loanMarketUser.NickName;
                    spreadUserApiModel.IsPeculiarUser = loanMarketUser.IsPeculiarUser > 0 ? true : false;
                    LoanMarketGroup leaderUserGroup = userGroup.GetUserGroup(item.ToUserNo);
                    if (leaderUserGroup != null)
                    {
                        spreadUserApiModel.UserGroupName = leaderUserGroup.Name;
                    }
                    data.Add(spreadUserApiModel);
                }
            }
            return(data);
        }
示例#2
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);
            }
        }
        /// <summary>
        /// 获取用户所属组
        /// </summary>
        /// <param name="userNo"></param>
        /// <returns></returns>
        public LoanMarketGroup GetUserGroup(int userNo)
        {
            LoanMarketUserGroup userGroup = db.LoanMarketUserGroup.Where(a => a.UserNo == userNo).FirstOrDefault();

            if (userGroup != null)
            {
                LoanMarketGroup group = db.LoanMarketGroup.Where(a => a.No == userGroup.GroupNo).FirstOrDefault();
                if (group != null)
                {
                    return(group);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
示例#4
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);
 }