Example #1
0
        /// <summary>
        /// 为会员分派奖金
        /// </summary>
        /// <param name="memberphone"></param>
        /// <param name="money"></param>
        /// <returns></returns>
        public string FenPaiMoney(string memberphone, decimal money)
        {
            string          result = "0";
            MemberInfoModel member = MemberInfoDAL.GetMember(memberphone);

            if (member == null)
            {
                return("0无此会员");
            }
            using (TransactionScope scope = new TransactionScope())
            {
                int rowcount = MemberCapitalDetailDAL.UpdateMemberDynamicFunds(member.ID, money, member.TruethName, member.MobileNum);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = member.ID;
                logmodel.MemberName   = member.TruethName;
                logmodel.MemberPhone  = member.MobileNum;
                logmodel.OrderCode    = "";
                logmodel.OrderID      = 0;
                logmodel.ProduceMoney = money;
                logmodel.Remark       = "会员:" + member.MobileNum + " 得到系统派发的奖金";
                logmodel.Type         = 3;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                scope.Complete();
                result = "1";
            }
            return(result);
        }
Example #2
0
        /// <summary>
        /// 根据类型得到分页的日志数据
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pagesize"></param>
        /// <param name="type"></param>
        /// <param name="totalcount"></param>
        /// <returns></returns>
        public static List <AmountChangeLogModel> GetAmountChangeLogByTypeForPage(int pageindex, int pagesize, int type, int memberid, out int totalrowcount)
        {
            List <AmountChangeLogModel> list = new List <AmountChangeLogModel>();
            string columms = @"ID ,MemberID ,MemberPhone ,MemberName ,ProduceMoney ,Remark ,AddTime ,OrderID ,[Type] ,OrderCode";

            string where = "";
            if (type > 0)
            {
                where += " [Type]=" + type.ToString();
            }
            if (memberid > 0)
            {
                where += " [MemberID]=" + memberid.ToString();
            }
            PageProModel page = new PageProModel();

            page.colums    = columms;
            page.orderby   = "AddTime";
            page.pageindex = pageindex;
            page.pagesize  = pagesize;
            page.tablename = @"dbo.AmountChangeLog";
            page.where     = where;
            DataTable dt = PublicHelperDAL.GetTable(page, out totalrowcount);

            foreach (DataRow item in dt.Rows)
            {
                AmountChangeLogModel model = new AmountChangeLogModel();
                if (item["ID"].ToString() != "")
                {
                    model.ID = int.Parse(item["ID"].ToString());
                }
                if (item["AddTime"].ToString() != "")
                {
                    model.AddTime = DateTime.Parse(item["AddTime"].ToString());
                }
                if (item["MemberID"].ToString() != "")
                {
                    model.MemberID = int.Parse(item["MemberID"].ToString());
                }
                model.MemberPhone = item["MemberPhone"].ToString();
                if (item["ProduceMoney"].ToString() != "")
                {
                    model.ProduceMoney = decimal.Parse(item["ProduceMoney"].ToString());
                }
                model.MemberName = item["MemberName"].ToString();
                if (item["AddTime"].ToString() != "")
                {
                    model.AddTime = DateTime.Parse(item["AddTime"].ToString());
                }
                model.Remark = item["Remark"].ToString();
                if (item["OrderID"].ToString() != "")
                {
                    model.OrderID = int.Parse(item["OrderID"].ToString());
                }
                model.OrderCode = item["OrderCode"].ToString();
                model.Type      = int.Parse(item["Type"].ToString());
                list.Add(model);
            }
            return(list);
        }
Example #3
0
        /// <summary>
        /// 查询会员的资金变动记录
        /// </summary>
        /// <param name="memberid"></param>
        /// <param name="top"></param>
        /// <returns></returns>
        public static List <AmountChangeLogModel> GetAmontChangeLogByMemberID(int memberid, int top = 10)
        {
            List <AmountChangeLogModel> list = new List <AmountChangeLogModel>();
            string sqltxt = @"SELECT TOP ( @topnum )
        ID ,
        MemberID ,
        MemberPhone ,
        MemberName ,
        ProduceMoney ,
        Remark ,
        AddTime ,
        OrderID ,
        [Type] ,
        OrderCode,
        CASE [Type]
          WHEN 1 THEN '提供帮助'
          WHEN 2 THEN '接受帮助'
          WHEN 3 THEN '奖金派发'
          WHEN 4 THEN '利息结余'
          WHEN 5 THEN '系统返还'
        END AS TypeName
FROM    dbo.AmountChangeLog
WHERE   MemberID = @memberid
Order by ID desc";

            SqlParameter[] paramter =
            {
                new SqlParameter("@memberid", memberid),
                new SqlParameter("@topnum",   top)
            };
            DataTable dt = helper.Query(sqltxt, paramter).Tables[0];

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow item in dt.Rows)
                {
                    AmountChangeLogModel model = new AmountChangeLogModel();
                    model.AddTime      = item["AddTime"].ToString().ParseToDateTime(DateTime.Now);
                    model.ID           = item["ID"].ToString().ParseToInt(0);
                    model.MemberID     = item["MemberID"].ToString().ParseToInt(0);
                    model.MemberName   = item["MemberName"].ToString();
                    model.MemberPhone  = item["MemberPhone"].ToString();
                    model.OrderCode    = item["OrderCode"].ToString();
                    model.OrderID      = item["OrderID"].ToString().ParseToInt(0);
                    model.ProduceMoney = item["ProduceMoney"].ToString().ParseToDecimal(0);
                    model.Remark       = item["Remark"].ToString();
                    model.Type         = item["Type"].ToString().ParseToInt(0);
                    model.TypeName     = item["TypeName"].ToString();
                    list.Add(model);
                }
            }
            return(list);
        }
Example #4
0
        /// <summary>
        /// 惩罚会员静态金额
        /// </summary>
        /// <param name="memberphone"></param>
        /// <param name="money"></param>
        /// <returns></returns>
        public string punishmentStaticMoney(int memberid, decimal money, string reason)
        {
            string          result = "0";
            MemberInfoModel member = MemberInfoDAL.GetMember(memberid);

            if (member == null)
            {
                return("0无此会员");
            }
            using (TransactionScope scope = new TransactionScope())
            {
                int rowcount = MemberCapitalDetailDAL.UpdateStaticPunishMoney(member.ID, money, member.TruethName, member.MobileNum);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = member.ID;
                logmodel.MemberName   = member.TruethName;
                logmodel.MemberPhone  = member.MobileNum;
                logmodel.OrderCode    = "";
                logmodel.OrderID      = 0;
                logmodel.ProduceMoney = (0 - money);
                logmodel.Remark       = "会员:" + member.MobileNum + " 被平台惩罚:" + money.ToString() + " 元,原因:" + reason;
                logmodel.Type         = 3;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                try
                {
                    UserBehaviorLogModel log = new UserBehaviorLogModel();
                    log.AOrderCode     = "";
                    log.BehaviorSource = 2;
                    log.BehaviorType   = 10;
                    log.HOrderCode     = "";
                    log.MemberID       = member.ID;
                    log.MemberName     = member.TruethName;
                    log.MemberPhone    = member.MobileNum;
                    log.ProcAmount     = money;
                    log.Remark         = "会员:" + member.MobileNum + " 被惩罚静态资金" + money + "元";
                    rowcount           = UserBehaviorLogDAL.AddUserBehaviorLog(log);
                }
                catch { }
                scope.Complete();
                result = "1";
            }
            return(result);
        }
Example #5
0
        /// <summary>
        /// 为会员分派动态奖金
        /// </summary>
        /// <param name="memberphone"></param>
        /// <param name="money"></param>
        /// <returns></returns>
        public string FenPaiMoneyToDynamic(int memberid, decimal money)
        {
            string          result = "0";
            MemberInfoModel member = MemberInfoDAL.GetMember(memberid);

            if (member == null)
            {
                return("0无此会员");
            }
            using (TransactionScope scope = new TransactionScope())
            {
                int rowcount = MemberCapitalDetailDAL.UpdateMemberDynamicFunds(member.ID, money, member.TruethName, member.MobileNum);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = member.ID;
                logmodel.MemberName   = member.TruethName;
                logmodel.MemberPhone  = member.MobileNum;
                logmodel.OrderCode    = "";
                logmodel.OrderID      = 0;
                logmodel.ProduceMoney = money;
                logmodel.Remark       = "会员:" + member.MobileNum + " 得到系统派发的奖金";
                logmodel.Type         = 3;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                try
                {
                    UserBehaviorLogModel log = new UserBehaviorLogModel();
                    log.AOrderCode     = "";
                    log.BehaviorSource = 2;
                    log.BehaviorType   = 9;
                    log.HOrderCode     = "";
                    log.MemberID       = member.ID;
                    log.MemberName     = member.TruethName;
                    log.MemberPhone    = member.MobileNum;
                    log.ProcAmount     = money;
                    log.Remark         = "会员:" + member.MobileNum + " 获得系统奖励动态资金" + money + "元";
                    rowcount           = UserBehaviorLogDAL.AddUserBehaviorLog(log);
                }
                catch { }
                scope.Complete();
                result = "1";
            }
            return(result);
        }
Example #6
0
        /// <summary>
        /// 增加资金变动日志
        /// </summary>
        public static int AddAmountChangeLog(AmountChangeLogModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into AmountChangeLog(");
            strSql.Append("Type,OrderCode,MemberID,MemberPhone,MemberName,ProduceMoney,Remark,AddTime,OrderID");
            strSql.Append(") values (");
            strSql.Append("@Type,@OrderCode,@MemberID,@MemberPhone,@MemberName,@ProduceMoney,@Remark,GETDATE(),@OrderID");
            strSql.Append(") ");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@Type",         SqlDbType.Int),
                new SqlParameter("@OrderCode",    SqlDbType.NVarChar),
                new SqlParameter("@MemberID",     SqlDbType.Int),
                new SqlParameter("@MemberPhone",  SqlDbType.NVarChar),
                new SqlParameter("@MemberName",   SqlDbType.NVarChar),
                new SqlParameter("@ProduceMoney", SqlDbType.Decimal),
                new SqlParameter("@Remark",       SqlDbType.NVarChar),
                new SqlParameter("@OrderID",      SqlDbType.Int)
            };
            parameters[0].Value = model.Type;
            parameters[1].Value = model.OrderCode;
            parameters[2].Value = model.MemberID;
            parameters[3].Value = model.MemberPhone;
            parameters[4].Value = model.MemberName;
            parameters[5].Value = model.ProduceMoney;
            parameters[6].Value = model.Remark;
            parameters[7].Value = model.OrderID;
            object obj = helper.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Example #7
0
        /// <summary>
        ///注册会员(已追加注册返还金额功能)
        /// </summary>
        public string AddMemberInfo(MemberInfoModel model)
        {
            string result = "1";
            string value  = SysAdminConfigDAL.GetConfigsByID(4);//得到注册返还金额

            #region 验证用户真实姓名 和手机
            int rows = MemberInfoDAL.GetMemberCountInfoByName(model.TruethName.Trim());
            if (rows > 2)
            {
                return("0用户姓名重复");
            }
            rows = MemberInfoDAL.GetMemberCountInfoByMobile(model.MobileNum.Trim());
            if (rows > 0)
            {
                return("0手机号已被注册");
            }
            //rows = MemberInfoDAL.GetMemberCountInfoByAlipayNum(model.AliPayNum.Trim());
            //if (rows > 0)
            //{
            //    return "0支付宝ID已被注册";
            //}
            rows = MemberInfoDAL.GetMemberCountInfoByAliPayName(model.AliPayName.Trim());
            if (rows > 0)
            {
                return("0支付宝账户已被注册");
            }
            #endregion
            using (TransactionScope scope = new TransactionScope())
            {
                int memberid = dal.AddMemberInfo(model);
                if (memberid < 1)
                {
                    return("0注册失败");
                }
                decimal amont = 0;
                if (!string.IsNullOrWhiteSpace(value))
                {
                    if (!decimal.TryParse(value, out amont))
                    {
                        return("0注册失败");
                    }
                    int row = MemberCapitalDetailDAL.UpdateMemberStaticFreezeMoney(memberid, amont, model.TruethName, model.MobileNum);
                    if (row < 1)
                    {
                        return("0注册失败");
                    }
                }
                //返还激活码金额
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = memberid;
                logmodel.MemberName   = model.TruethName;
                logmodel.MemberPhone  = model.MobileNum;
                logmodel.ProduceMoney = amont;
                logmodel.Remark       = "会员注册激活码" + amont.ToString() + "元";
                logmodel.Type         = 5;
                int rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return("0注册失败");
                }
                if (model.MemberPhone != model.MobileNum)
                {
                    //插入推荐人信息表
                    MemberInfoModel soucemember = MemberInfoDAL.GetMember(model.MemberPhone);
                    if (soucemember.MStatus == 3)
                    {
                        return("0推荐人账户被冻结");
                    }
                    ReMemberRelationModel remodel = new ReMemberRelationModel();
                    remodel.MemberID         = soucemember.ID;
                    remodel.MemberTruthName  = soucemember.TruethName;
                    remodel.MemberPhone      = soucemember.MobileNum;
                    remodel.RecommMID        = memberid;
                    remodel.RecommMPhone     = model.MobileNum;
                    remodel.RecommMTruthName = model.TruethName;
                    rowcount = ReMemberRelationDAL.AddReMemberRelation(remodel);
                    if (rowcount < 1)
                    {
                        return("0注册失败");
                    }
                }
                //初始化会员扩展信息表
                MemberExtendInfoModel extendinfo = new MemberExtendInfoModel();
                extendinfo.MemberID        = memberid;
                extendinfo.MemberHelpCount = 0;
                extendinfo.LastHelpMoney   = 0;
                extendinfo.LastHelperTime  = DateTime.Now.AddYears(-1);
                rowcount = MemberExtendInfoDAL.AddModelExtendinfo(extendinfo);
                if (rowcount < 1)
                {
                    return("0注册失败");
                }
                scope.Complete();
                result = "1";
            }
            return(result);
        }
Example #8
0
        /// <summary>
        /// 取消提供帮助的订单
        /// </summary>
        /// <param name="hid"></param>
        /// <param name="ispipei">单据是否已经匹配</param>
        /// <returns></returns>
        public int UpdateToCancle(int hid, int ispipei = 0)
        {
            int result = 0;
            List <LeaderAmountModel> leaderlist = MemberCapitalDetailDAL.GetLeaderamountListByOrderID(hid);

            using (TransactionScope scope = new TransactionScope())
            {
                //更改订单状态
                int rowcount = HelpeOrderDAL.UpdateStatus(hid, 3);
                if (rowcount < 1)
                {
                    return(0);
                }
                //返还会员追加的资金
                HelpeOrderModel model = HelpeOrderDAL.GetHelpOrderInfo(hid);
                rowcount = MemberCapitalDetailDAL.UpdateMemberStaticFreezeMoneyAndinster(model.MemberID, (0 - model.Amount), 1, model.MemberName, model.MemberPhone);
                //rowcount = MemberCapitalDetailDAL.UpdateMemberStaticCapital(model.MemberID, (0 - model.Amount), model.MemberName, model.MemberPhone);
                if (rowcount < 1)
                {
                    return(0);
                }
                //插入会员资金变动日志
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = model.MemberID;
                logmodel.MemberName   = model.MemberName;
                logmodel.MemberPhone  = model.MemberPhone;
                logmodel.OrderCode    = model.OrderCode;
                logmodel.OrderID      = hid;
                logmodel.ProduceMoney = (0 - model.Amount);
                logmodel.Remark       = "会员:" + model.MemberPhone + " 取消提供帮助,扣减静态冻结资金 " + model.Amount.ToString() + "元";
                logmodel.Type         = 1;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return(0);
                }
                if (model.Interest > 0)
                {
                    //从账户扣减本次产生的利息
                    rowcount = MemberCapitalDetailDAL.UpdateStaticInterest(model.MemberID, (0 - model.Interest));
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                    //插入日志
                    AmountChangeLogModel logmodel1 = new AmountChangeLogModel();
                    logmodel1.MemberID     = model.MemberID;
                    logmodel1.MemberName   = model.MemberName;
                    logmodel1.MemberPhone  = model.MemberPhone;
                    logmodel1.OrderCode    = model.OrderCode;
                    logmodel1.OrderID      = hid;
                    logmodel1.ProduceMoney = (0 - model.Amount);
                    logmodel1.Remark       = "会员:" + model.MemberPhone + " 取消提供帮助,扣减利息 " + model.Interest.ToString() + "元";
                    logmodel.Type          = 4;
                    rowcount = OperateLogDAL.AddAmountChangeLog(logmodel1);
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                }
                //撤销对会员领导人的推荐奖和领导奖
                if (leaderlist != null)
                {
                    foreach (var item in leaderlist)
                    {
                        if (item.LType == 0)
                        {
                            rowcount = MemberCapitalDetailDAL.UpdateDynamicInterest(item.MemberID, (0 - item.Amount), item.MemberName, item.MemberPhone);
                        }
                        else if (item.LType == 1)
                        {
                            rowcount = MemberCapitalDetailDAL.UpdateMemberDynamicFreezeMoney(item.MemberID, (0 - item.Amount), item.MemberName, item.MemberPhone);
                        }
                    }
                }

                //更新会员统计信息
                rowcount = MemberExtendInfoDAL.CancleHelperOrder(model.MemberID, hid);
                if (rowcount < 1)
                {
                    return(0);
                }
                if (ispipei == 1)//该单已经匹配
                {
                    List <MatchOrderModel> matchs = MatchOrderDAL.GetMatchOrderInfo(hid, 0);
                    rowcount = MatchOrderDAL.UpdateStatus(hid, 0);//更改状态为取消
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                    foreach (var item in matchs)//更改接受帮助订单的状态
                    {
                        rowcount = AcceptHelpOrderDAL.CancleOrderForHelp(item.AcceptOrderID, item.MatchedMoney);
                        if (rowcount < 1)
                        {
                            return(0);
                        }
                    }
                }
                scope.Complete();
                result = 1;
            }
            return(result);
        }
Example #9
0
        /// <summary>
        /// 添加一条提供帮助单据
        /// </summary>
        public string AddHelpeOrder(HelpeOrderModel model)
        {
            string  result               = "0";
            string  minhelpamont         = SystemConfigs.GetminHelpAmont();                         //得到最小的提供帮助限制
            string  maxhelpamont         = SystemConfigs.GetmaxHelpAmont();                         //得到最大的提供帮助限制
            string  interest             = SysAdminConfigDAL.GetConfigsByID(5);                     //得到排单后的利率
            string  inteistlist          = SysAdminConfigDAL.GetConfigsByID(11);                    //得到领导奖利率
            decimal reinteist            = SysAdminConfigDAL.GetConfigsByID(16).ParseToDecimal(10); //得到首次推荐的利率
            decimal maxcount             = SysAdminConfigDAL.GetConfigsByID(17).ParseToInt(1);      //得到每日最大排单数
            MemberExtendInfoModel meinfo = MemberExtendInfoDAL.GetMemberExtendInfo(model.MemberID);
            int helpcount = HelpeOrderDAL.GetTodayHelpCount(model.MemberID);

            if (model.Amount < minhelpamont.ParseToDecimal(0))
            {
                return("0超出了平台规定的最小规定值");
            }
            if (model.Amount > maxhelpamont.ParseToDecimal(0))
            {
                return("0超出了平台规定的最大规定值");
            }

            if (helpcount >= maxcount)
            {
                return("0今天已经提供过帮助");
            }
            bool isfirst = false;//默认不是第一次

            if (meinfo == null)
            {
                isfirst = true;
            }
            else
            {
                isfirst = meinfo.MemberHelpCount == 0;
            }
            if (string.IsNullOrWhiteSpace(model.ActiveCode))
            {
                return("0没有填写排单币");
            }
            ActiveCodeModel activemodel = ActiveCodeDAL.GetActiveCodeExtendModel(model.ActiveCode);

            if (activemodel == null)//没有该激活码信息为失败
            {
                return("0排单币无效");
            }
            if (activemodel.AStatus == 10)//改激活码已使用为失败
            {
                return("0排单币已经被使用");
            }
            if (model.Amount % 100 > 0)
            {
                return("0提供金额应为100的整数倍");
            }
            ReMemberRelationModel remember = ReMemberRelationDAL.GetReMemberRelation(model.MemberID);

            using (TransactionScope scope = new TransactionScope())
            {
                //更改激活码的使用状态
                int rowcount = ActiveCodeDAL.UpdateStatus(activemodel.ID, 10);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                rowcount = ActiveCodeDAL.UpdateMemberActiveToUse(model.MemberID, model.OrderCode, model.ActiveCode);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //插入激活码的使用日志
                ActiveCodeLogModel aclogmodel = new ActiveCodeLogModel();
                aclogmodel.ActiveCode  = model.ActiveCode;
                aclogmodel.AID         = model.ActiveCodeID;
                aclogmodel.MemberID    = model.MemberID;
                aclogmodel.MemberName  = model.MemberName;
                aclogmodel.MemberPhone = model.MemberPhone;
                aclogmodel.Remark      = "会员:" + model.MemberName + " 使用排单币:" + model.ActiveCode + " 进行排单";
                rowcount = OperateLogDAL.AddActiveCodeLog(aclogmodel);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //更改会员的资金信息和利率
                decimal dinterest = 1;
                if (!string.IsNullOrWhiteSpace(interest))
                {
                    if (!decimal.TryParse(interest, out dinterest))
                    {
                        return("0操作失败");
                    }
                }
                //rowcount = MemberCapitalDetailDAL.UpdateMemberStaticCapital(model.MemberID, model.Amount, dinterest,model.MemberName,model.MemberPhone);
                rowcount = MemberCapitalDetailDAL.UpdateMemberStaticFreezeMoneyAndinster(model.MemberID, model.Amount, dinterest, model.MemberName, model.MemberPhone);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //插入表记录
                model.IsFristOrder = isfirst ? 1 : 0;
                int orderid = dal.AddHelpeOrder(model);
                if (orderid < 1)
                {
                    return("0操作失败");
                }
                //更新会员的统计信息
                rowcount = MemberExtendInfoDAL.Update(model.MemberID, model.Amount);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //插入会员的资金变动纪录
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = model.MemberID;
                logmodel.MemberName   = model.MemberName;
                logmodel.MemberPhone  = model.MemberPhone;
                logmodel.OrderCode    = model.OrderCode;
                logmodel.OrderID      = orderid;
                logmodel.ProduceMoney = model.Amount;
                logmodel.Remark       = "会员:" + model.MemberPhone + " 申请提供帮助 " + model.Amount.ToString() + "元";
                logmodel.Type         = 1;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //为推荐人添加领导奖
                rowcount = MemberCapitalDetailDAL.PaymentLeaderPrize(model.MemberID, model.Amount, inteistlist, model.OrderCode, orderid);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //若此会员第一次排单,则给推荐人奖励
                if (isfirst)
                {
                    rowcount = MemberCapitalDetailDAL.UpdateMemberDynamicFreezeMoney(remember.MemberID, (model.Amount * reinteist / 100), remember.MemberTruthName, remember.MemberPhone);
                    if (rowcount < 1)
                    {
                        return("0操作失败");
                    }
                    LeaderAmountModel leadermodel = new LeaderAmountModel();//插入领导奖记录
                    leadermodel.OrderID     = orderid;
                    leadermodel.OrderCode   = model.OrderCode;
                    leadermodel.MemberPhone = remember.MemberPhone;
                    leadermodel.MemberName  = remember.MemberTruthName;
                    leadermodel.MemberID    = remember.MemberID;
                    leadermodel.LType       = 1;
                    leadermodel.Amount      = (model.Amount * reinteist / 100);
                    rowcount = MemberCapitalDetailDAL.AddLeaderAmount(leadermodel);
                    if (rowcount < 1)
                    {
                        return("0操作失败");
                    }
                    AmountChangeLogModel logmodel1 = new AmountChangeLogModel();
                    logmodel1.MemberID     = remember.MemberID;
                    logmodel1.MemberName   = remember.MemberTruthName;
                    logmodel1.MemberPhone  = remember.MemberPhone;
                    logmodel1.OrderCode    = model.OrderCode;
                    logmodel1.OrderID      = orderid;
                    logmodel1.ProduceMoney = (model.Amount * reinteist / 100);
                    logmodel1.Remark       = "会员:" + remember.MemberPhone + " 得到来自 " + model.MemberPhone + "的首单推荐奖(已冻结)" + (model.Amount * reinteist / 100).ToString() + "元";
                    logmodel1.Type         = 3;
                    rowcount = OperateLogDAL.AddAmountChangeLog(logmodel1);
                    if (rowcount < 1)
                    {
                        return("0操作失败");
                    }
                }
                try
                {
                    UserBehaviorLogModel log = new UserBehaviorLogModel();
                    log.AOrderCode     = "";
                    log.BehaviorSource = 1;
                    log.BehaviorType   = 2;
                    log.HOrderCode     = model.OrderCode;
                    log.MemberID       = model.MemberID;
                    log.MemberName     = model.MemberName;
                    log.MemberPhone    = model.MemberPhone;
                    log.ProcAmount     = model.Amount;
                    log.Remark         = "会员:" + model.MemberPhone + "提供帮助单号为:" + model.OrderCode;
                    rowcount           = UserBehaviorLogDAL.AddUserBehaviorLog(log);
                }
                catch { }
                scope.Complete();
                result = "1";
            }
            return(result);
        }
Example #10
0
        /// <summary>
        /// 更新状态为已取消(前端使用)
        /// </summary>
        /// <param name="aid"></param>
        /// <returns></returns>
        public int UpdateToCancle(int aid, int ispipei)
        {
            int result = 0;

            using (TransactionScope scope = new TransactionScope())
            {
                //更改单据状态
                int rowcount = AcceptHelpOrderDAL.UpdateStatus(aid, 3);
                if (rowcount < 1)
                {
                    return(0);
                }
                //返还会员对应类型的资金
                AcceptHelpOrderModel order = AcceptHelpOrderDAL.GetAcceptOrderInfo(aid);
                if (order.SourceType == 1)//静态资金
                {
                    rowcount = MemberCapitalDetailDAL.UpdateMemberStaticCapital(order.MemberID, order.Amount, order.MemberName, order.MemberPhone);
                }
                else if (order.SourceType == 2)//动态资金
                {
                    rowcount = MemberCapitalDetailDAL.UpdateMemberDynamicFunds(order.MemberID, order.Amount, order.MemberName, order.MemberPhone);
                }
                if (rowcount < 1)
                {
                    return(0);
                }
                //插入会员资金变动日志
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = order.MemberID;
                logmodel.MemberName   = order.MemberName;
                logmodel.MemberPhone  = order.MemberPhone;
                logmodel.OrderCode    = order.OrderCode;
                logmodel.OrderID      = aid;
                logmodel.ProduceMoney = order.Amount;
                logmodel.Remark       = "会员:" + order.MemberPhone + " 取消提供帮助,返还扣减的资金 " + order.Amount.ToString() + "元";
                logmodel.Type         = 5;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return(0);
                }
                if (ispipei > 0)//若已经匹配则取消对应单据的信息
                {
                    List <MatchOrderModel> matchs = MatchOrderDAL.GetMatchOrderInfo(0, aid);
                    rowcount = MatchOrderDAL.UpdateStatus(0, aid);//更改状态为取消
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                    foreach (var item in matchs)//更改接受帮助订单的状态
                    {
                        rowcount = HelpeOrderDAL.CancleOrderForHelp(item.HelperOrderID, item.MatchedMoney);
                        if (rowcount < 1)
                        {
                            return(0);
                        }
                    }
                }
                scope.Complete();
                result = 1;
            }
            return(result);
        }
Example #11
0
        /// <summary>
        /// 更新状态为已完成
        /// </summary>
        /// <returns></returns>
        public int UpdateSingleOrderToComplete(int aid, int hid)
        {
            int result = 0;
            //List<MatchOrderModel> matchorders = MatchOrderDAL.GetMatchOrderInfo(0, aid);
            HelpeOrderModel        helporder = HelpeOrderDAL.GetHelpOrderInfo(hid);        //查询提供帮助的单据
            AcceptHelpOrderModel   accorder  = AcceptHelpOrderDAL.GetAcceptOrderInfo(aid); //查询接受单据的信息
            List <MatchOrderModel> matchinfo = MatchOrderDAL.GetMatchOrderInfo(hid, aid);  //单据的匹配信息
            string value       = SysAdminConfigDAL.GetConfigsByID(4);                      //得到注册返还金额
            string scvalue     = SysAdminConfigDAL.GetConfigsByID(6);                      //得到注册返还金额
            string inteistlist = SysAdminConfigDAL.GetConfigsByID(11);                     //得到领导奖利率
            int    day         = SysAdminConfigDAL.GetConfigsByID(22).ParseToInt(20);      //得到领导奖推荐奖冻结天数
            string inteist     = SysAdminConfigDAL.GetConfigsByID(7);                      //得到打款后利率

            using (TransactionScope scope = new TransactionScope())
            {
                //更改当前的接受单据状态和完成金额
                int rowcount = AcceptHelpOrderDAL.UpdateStatusAndMoneyToComplete(aid, matchinfo[0].MatchedMoney);
                if (rowcount < 1)
                {
                    return(0);
                }
                //更改匹配信息
                rowcount = MatchOrderDAL.UpdateStatusToComplete(hid, aid);
                if (rowcount < 1)
                {
                    return(0);
                }
                //更改匹配的提供帮助订单的状态
                rowcount = HelpeOrderDAL.UpdateStatusForCompleteV1(helporder.ID, matchinfo[0].MatchedMoney);
                if (rowcount < 1)
                {
                    return(0);
                }
                decimal diffamount = (helporder.Amount - helporder.PayedAmount - matchinfo[0].MatchedMoney);
                if (diffamount == 0)
                {
                    //返还匹配会员的静态冻结资金和利息
                    rowcount = MemberCapitalDetailDAL.UpdateStaticInterestAndStaticFreezeMoney(helporder.MemberID, helporder.Amount, helporder.Interest);
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                    //更改单据利率为高利率
                    rowcount = HelpeOrderDAL.UpdateCurrentInterest(hid, inteist.ParseToInt(2));
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                    //更改该单据的利息为0
                    rowcount = HelpeOrderDAL.UpdateHelperOrderClearInterest(helporder.ID);
                    if (rowcount < 1)
                    {
                        return(0);
                    }
                    //返还推荐奖
                    if (helporder.IsFristOrder == 1 && helporder.IsRecommendBack == 0)
                    {
                        decimal inster = SysAdminConfigDAL.GetConfigsByID(16).ParseToInt(10);//得到首次推荐的利率
                        decimal money  = helporder.Amount * inster / 100;
                        ReMemberRelationModel model = ReMemberRelationDAL.GetReMemberRelation(helporder.MemberID);
                        if (day == 0)//若为0,则当时返还
                        {
                            //返还推荐奖
                            rowcount = MemberCapitalDetailDAL.UpdateDynamicInterestForComplete(model.MemberID, money);
                            if (rowcount < 1)
                            {
                                return(0);
                            }
                            AmountChangeLogModel logmodel = new AmountChangeLogModel();
                            logmodel.MemberID     = model.MemberID;
                            logmodel.MemberName   = model.MemberTruthName;
                            logmodel.MemberPhone  = model.MemberPhone;
                            logmodel.OrderCode    = helporder.OrderCode;
                            logmodel.OrderID      = helporder.ID;
                            logmodel.ProduceMoney = money;
                            logmodel.Remark       = "会员:" + model.MemberPhone + " 得到来自单据:" + helporder.OrderCode + "的推荐奖";
                            logmodel.Type         = 3;
                            rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                            if (rowcount < 1)
                            {
                                return(result);
                            }
                        }
                        else
                        {
                            //返还推荐奖到待返还列表
                            WaitFreeLeaderAmountModel waitfreemodel = new WaitFreeLeaderAmountModel();
                            waitfreemodel.MemberID       = model.MemberID;
                            waitfreemodel.MemberName     = model.MemberTruthName;
                            waitfreemodel.MemberPhone    = model.MemberPhone;
                            waitfreemodel.Amount         = money;
                            waitfreemodel.AStatus        = 1;
                            waitfreemodel.TheoryFreeTime = DateTime.Now.AddDays(day);
                            waitfreemodel.Type           = 2;
                            waitfreemodel.OrderCode      = helporder.OrderCode;
                            waitfreemodel.OrderID        = helporder.ID;
                            rowcount = MemberCapitalDetailDAL.AddWaitFreeMoney(waitfreemodel);
                            if (rowcount < 1)
                            {
                                return(0);
                            }
                        }
                        //返还激活码的钱
                        rowcount = MemberCapitalDetailDAL.UpdateStaticFreezeMoneyForReiger(helporder.MemberID, value.ParseToDecimal(0));
                        //更改单据为已经派发推荐奖
                        rowcount = HelpeOrderDAL.UpdateHelperOrderIsRecommendBack(helporder.ID);
                    }
                    if (helporder.IsLeaderBack == 0)
                    {
                        if (day == 0)
                        {
                            //返还领导奖
                            rowcount = MemberCapitalDetailDAL.PaymentLeaderPrizeForComplete(helporder.MemberID, inteistlist, helporder.OrderCode, helporder.ID);
                        }
                        else
                        {
                            //返还领导奖到待返还列表
                            rowcount = MemberCapitalDetailDAL.PaymentLeaderPrizeForComplete(helporder.MemberID, inteistlist, helporder.OrderCode, helporder.ID, day);
                        }
                        //更新单据状态
                        rowcount = HelpeOrderDAL.UpdateHelperOrderIsLeaderBack(helporder.ID);
                    }
                    //返还该单据排单币的金额
                    if (helporder.SchedulingAmount == 0)
                    {
                        rowcount = MemberCapitalDetailDAL.UpdateMemberStaticCapital(helporder.MemberID, scvalue.ParseToDecimal(0), helporder.MemberName, helporder.MemberPhone);
                        if (rowcount < 1)
                        {
                            return(0);
                        }
                        rowcount = HelpeOrderDAL.UpdateHelperOrderIsRecommendBack(helporder.ID, scvalue.ParseToDecimal(0));//更新单据的排单币金额
                        if (rowcount < 1)
                        {
                            return(0);
                        }
                        AmountChangeLogModel logmodel = new AmountChangeLogModel();
                        logmodel.MemberID     = helporder.MemberID;
                        logmodel.MemberName   = helporder.MemberName;
                        logmodel.MemberPhone  = helporder.MemberPhone;
                        logmodel.OrderCode    = helporder.OrderCode;
                        logmodel.OrderID      = helporder.ID;
                        logmodel.ProduceMoney = scvalue.ParseToDecimal(0);
                        logmodel.Remark       = "会员:" + helporder.MemberPhone + " 打款完成,返还排单币" + scvalue + "元";
                        logmodel.Type         = 5;
                        rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                        if (rowcount < 1)
                        {
                            return(0);
                        }
                    }
                }
                try
                {
                    UserBehaviorLogModel log = new UserBehaviorLogModel();
                    log.AOrderCode     = accorder.OrderCode;
                    log.BehaviorSource = 1;
                    log.BehaviorType   = 5;
                    log.HOrderCode     = helporder.OrderCode;
                    log.MemberID       = accorder.MemberID;
                    log.MemberName     = accorder.MemberName;
                    log.MemberPhone    = accorder.MemberPhone;
                    log.ProcAmount     = matchinfo[0].MatchedMoney;
                    log.Remark         = "会员:" + accorder.MemberPhone + "为单据" + accorder.OrderCode + "确认收款";
                    rowcount           = UserBehaviorLogDAL.AddUserBehaviorLog(log);
                }
                catch { }
                scope.Complete();
                result = 1;
            }
            return(result);
        }
Example #12
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public string AddAcceptHelpOrder(AcceptHelpOrderModel model)
        {
            string result = "0";
            MemberCapitalDetailModel moneydetail = MemberCapitalDetailDAL.GetMemberStaticCapital(model.MemberID);
            int rows = AcceptHelpOrderDAL.GetNotFinishOrderByMember(model.MemberID);

            if (rows > 0)
            {
                return("0还有未完成的接受帮助单据");
            }
            string maxacceptamont = SystemConfigs.GetmaxAcceptAmont(); //得到最大的接受帮助限制
            string minacceptamont = SystemConfigs.GetminAcceptAmont(); //得到最小的接受帮助限制

            if (model.Amount > maxacceptamont.ParseToDecimal(0))
            {
                return("0超出了平台规定的最大接受值");
            }
            if (model.Amount < minacceptamont.ParseToDecimal(0))
            {
                return("0超出了平台规定的最小接受值");
            }
            int daynum = SysAdminConfigBLL.GetConfigValue(24).ParseToInt(15);
            MemberExtendInfoModel extentmember = MemberExtendInfoDAL.GetMemberExtendInfo(model.MemberID);

            if (DateTime.Now < extentmember.LastHelperTime.AddDays(daynum))
            {
                return("0会员提供帮助单据仍处于冻结期");
            }
            using (TransactionScope scope = new TransactionScope())
            {
                //插入表
                int orderid = dal.AddAcceptHelpOrder(model);
                if (orderid < 1)
                {
                    return("0操作失败");
                }
                //扣减会员的相应金额记录
                int rowcount = 0;
                if (model.SourceType == 1)
                {
                    if (moneydetail.StaticCapital < model.Amount)
                    {
                        return("0操作失败");
                    }
                    rowcount = MemberCapitalDetailDAL.DeductionMemberStaticCapital(model.MemberID, 0 - model.Amount, 0);
                    //清空会员的利率(不判断结果,不排除没有这样单据的可能,因为存在特殊账户)
                    int rowcounts = HelpeOrderDAL.UpdateCurrentInterestToClear(model.MemberID);
                }
                else
                {
                    if (moneydetail.DynamicFunds < model.Amount)
                    {
                        return("0操作失败");
                    }
                    rowcount = MemberCapitalDetailDAL.DeductionMemberDynamicFunds(model.MemberID, 0 - model.Amount, 0);
                }
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                //点击接受帮助后不再为会员计算利息
                //增加会员的资金变动记录
                AmountChangeLogModel logmodel = new AmountChangeLogModel();
                logmodel.MemberID     = model.MemberID;
                logmodel.MemberName   = model.MemberName;
                logmodel.MemberPhone  = model.MemberPhone;
                logmodel.OrderCode    = model.OrderCode;
                logmodel.OrderID      = orderid;
                logmodel.ProduceMoney = 0 - model.Amount;
                logmodel.Remark       = "会员:" + model.MemberPhone + " 申请接受帮助 " + model.Amount.ToString() + "元";
                logmodel.Type         = 1;
                rowcount = OperateLogDAL.AddAmountChangeLog(logmodel);
                if (rowcount < 1)
                {
                    return("0操作失败");
                }
                try
                {
                    UserBehaviorLogModel log = new UserBehaviorLogModel();
                    log.AOrderCode     = model.OrderCode;
                    log.BehaviorSource = 1;
                    log.BehaviorType   = 3;
                    log.HOrderCode     = "";
                    log.MemberID       = model.MemberID;
                    log.MemberName     = model.MemberName;
                    log.MemberPhone    = model.MemberPhone;
                    log.ProcAmount     = model.Amount;
                    log.Remark         = "会员:" + model.MemberPhone + "接受帮助单号为:" + model.OrderCode;
                    rowcount           = UserBehaviorLogDAL.AddUserBehaviorLog(log);
                }
                catch { }
                scope.Complete();
                result = "1";
            }
            return(result);
        }