コード例 #1
0
        /// <summary>
        /// 得到会员的激活码使用信息
        /// </summary>
        /// <param name="model"></param>
        /// <param name="totalrowcount"></param>
        /// <returns></returns>
        public List <ActiveCodeLogModel> GetActiveCodeLogListForPage(int memberid, int pageindex, int pagesize, out int totalrowcount)
        {
            List <ActiveCodeLogModel> list = new List <ActiveCodeLogModel>();
            string columms = @"ID ,MemberID ,MemberName ,MemberPhone ,ActiveCode ,AID ,Remark ,Addtime";

            string where = "";
            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.ActiveCodeLog";
            page.where     = where;
            DataTable dt = PublicHelperDAL.GetTable(page, out totalrowcount);

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow item in dt.Rows)
                {
                    ActiveCodeLogModel activelog = new ActiveCodeLogModel();
                    if (item["ID"].ToString() != "")
                    {
                        activelog.ID = int.Parse(item["ID"].ToString());
                    }
                    activelog.ActiveCode = item["ActiveCode"].ToString();
                    if (item["MemberID"].ToString() != "")
                    {
                        activelog.MemberID = int.Parse(item["MemberID"].ToString());
                    }
                    activelog.MemberPhone = item["MemberPhone"].ToString();
                    activelog.MemberName  = item["MemberName"].ToString();
                    if (item["AID"].ToString() != "")
                    {
                        activelog.AID = int.Parse(item["AID"].ToString());
                    }
                    if (item["Addtime"].ToString() != "")
                    {
                        activelog.Addtime = DateTime.Parse(item["Addtime"].ToString());
                    }
                    activelog.Remark = item["Remark"].ToString();
                    list.Add(activelog);
                }
            }
            return(list);
        }
コード例 #2
0
ファイル: OperateLogDAL.cs プロジェクト: BlogPark/SimpleWeb
        /// <summary>
        /// 添加激活码操作记录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static int AddActiveCodeLog(ActiveCodeLogModel model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into ActiveCodeLog(");
            strSql.Append("MemberID,MemberName,MemberPhone,ActiveCode,AID,Remark,Addtime");
            strSql.Append(") values (");
            strSql.Append("@MemberID,@MemberName,@MemberPhone,@ActiveCode,@AID,@Remark,GETDATE()");
            strSql.Append(") ");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@MemberID",    SqlDbType.Int),
                new SqlParameter("@MemberName",  SqlDbType.NVarChar),
                new SqlParameter("@MemberPhone", SqlDbType.NVarChar),
                new SqlParameter("@ActiveCode",  SqlDbType.NVarChar),
                new SqlParameter("@AID",         SqlDbType.Int),
                new SqlParameter("@Remark",      SqlDbType.NVarChar)
            };

            parameters[0].Value = model.MemberID;
            parameters[1].Value = model.MemberName;
            parameters[2].Value = model.MemberPhone;
            parameters[3].Value = model.ActiveCode;
            parameters[4].Value = model.AID;
            parameters[5].Value = model.Remark;

            object obj = helper.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
コード例 #3
0
ファイル: OperateLogDAL.cs プロジェクト: BlogPark/SimpleWeb
        /// <summary>
        /// 查询会员的机会码使用记录
        /// </summary>
        /// <param name="memberid"></param>
        /// <param name="top"></param>
        /// <returns></returns>
        public static List <ActiveCodeLogModel> GetActiveCodeLogByMemberID(int memberid, int top = 10)
        {
            List <ActiveCodeLogModel> list = new List <ActiveCodeLogModel>();
            string sqltxt = @"SELECT TOP ( @topnum )
        ID ,
        MemberID ,
        MemberName ,
        MemberPhone ,
        ActiveCode ,
        AID ,
        Remark ,
        Addtime
FROM    dbo.ActiveCodeLog
WHERE   MemberID = @memberid";

            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)
                {
                    ActiveCodeLogModel model = new ActiveCodeLogModel();
                    model.ActiveCode  = item["ActiveCode"].ToString();
                    model.Addtime     = item["Addtime"].ToString().ParseToDateTime(DateTime.Now);
                    model.AID         = item["AID"].ToString().ParseToInt(0);
                    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.Remark      = item["Remark"].ToString();
                    list.Add(model);
                }
            }
            return(list);
        }
コード例 #4
0
        /// <summary>
        /// 激活会员(外用)
        /// </summary>
        /// <param name="memberid"></param>
        /// <param name="phone"></param>
        /// <param name="activecode"></param>
        /// <returns></returns>
        public string ActiveMember(int memberid, string phone, string activecode, bool isauto, int souceid = 0)
        {
            string result = "0";

            if (isauto)
            {
                activecode = ActiveCodeDAL.GetRedamActiveCode(1);
            }
            MemberInfoModel member = null;

            if (memberid != 0)
            {
                member = MemberInfoDAL.GetNotActiveMember(memberid);
            }
            if (!string.IsNullOrWhiteSpace(phone))
            {
                member = MemberInfoDAL.GetMember(phone);
            }
            if (member == null)
            {
                result = "0无此会员";
                return(result);
            }
            if (member.MStatus != 1)
            {
                result = "0会员状态不正确";
                return(result);
            }
            ActiveCodeModel activecodemodel = ActiveCodeDAL.GetActiveCodeExtendModel(activecode);

            if (activecodemodel == null)
            {
                result = @"0无此激活码";
                return(result);
            }
            if (activecodemodel.AType == 2)
            {
                result = @"0激活码类型选择不正确";
                return(result);
            }
            if (activecodemodel.AStatus == 10)
            {
                result = @"0激活码已经使用";
                return(result);
            }
            if (activecodemodel.AMStatus == 3)
            {
                result = @"0激活码已经过期";
                return(result);
            }
            using (TransactionScope scope = new TransactionScope())
            {
                //更改会员的状态
                int rowcount = MemberInfoDAL.UpdateStatus(member.ID, 2);
                if (rowcount < 1)
                {
                    result = "0更新会员状态失败";
                    return(result);
                }
                //更改激活码的状态
                rowcount = ActiveCodeDAL.UpdateStatus(activecodemodel.ID, 10);
                if (rowcount < 1)
                {
                    result = "0更新激活码状态失败";
                    return(result);
                }
                if (activecodemodel.MID > 0)
                {
                    //更改会员机会码的使用状态
                    if (souceid > 0)
                    {
                        rowcount = ActiveCodeDAL.UpdateMemberActiveCodeToUse(souceid, member.MobileNum, activecodemodel.ActivationCode);
                        if (rowcount < 1)
                        {
                            result = "0更新会员激活码表状态失败";
                            return(result);
                        }
                    }
                    else
                    {
                        rowcount = ActiveCodeDAL.UpdateMemberActiveStatus(activecodemodel.MID, 2);
                        if (rowcount < 1)
                        {
                            result = "0更新会员激活码表状态失败";
                            return(result);
                        }
                    }
                    //插入使用日志
                    ActiveCodeLogModel logmodel = new ActiveCodeLogModel();
                    logmodel.ActiveCode  = activecodemodel.ActivationCode;
                    logmodel.Addtime     = DateTime.Now;
                    logmodel.AID         = activecodemodel.ID;
                    logmodel.MemberID    = activecodemodel.MemberID;
                    logmodel.MemberName  = activecodemodel.MemberName;
                    logmodel.MemberPhone = activecodemodel.MemberPhone;
                    logmodel.Remark      = "为会员:" + member.MobileNum + " 激活";
                    rowcount             = OperateLogDAL.AddActiveCodeLog(logmodel);
                    if (rowcount < 1)
                    {
                        result = "0写入日志失败";
                        return(result);
                    }
                }
                scope.Complete();
                result = "1";
            }
            return(result);
        }
コード例 #5
0
        /// <summary>
        /// 会员间赠送激活码
        /// </summary>
        /// <param name="soucememberID">原始会员ID</param>
        /// <param name="type">赠送激活码类型</param>
        /// <param name="acceptMemberPhone">接受会员电话</param>
        /// <param name="count">赠送数量</param>
        /// <returns>返回值(-1 接受会员不存在 -2 没有足够的激活币赠送 0 数据库操作失败 1 成功)</returns>
        public int GiveActiveCodeFromMember(int soucememberID, int type, string acceptMemberPhone, int count)
        {
            int result = 0;
            //读取接受会员信息
            MemberInfoModel member = GetMember(acceptMemberPhone);

            if (member == null)
            {
                return(-1);
            }
            if (member.MStatus != 2)
            {
                return(-1);
            }
            //开启事务
            using (TransactionScope scope = new TransactionScope())
            {
                //查询该会员名下可用类型的激活码数量
                List <MemberActiveCodeModel> aclist = GetMemberActiveCodeList(soucememberID, type);
                if (aclist.Count < count)
                {
                    return(-2);
                }
                //修改激活码的所有者信息
                string         sqltxt   = @"UPDATE TOP ( @count)
        MemberActiveCode
SET     MemberID = @memberid ,
        MemberPhone = @MemberPhone ,
        MemberName = @MemberName
WHERE   MemberID = @soucemid
        AND AMStatus = 1
        AND AMType = @AMType";
                SqlParameter[] paramter =
                {
                    new SqlParameter("@memberid",    member.ID),
                    new SqlParameter("@MemberPhone", member.MobileNum),
                    new SqlParameter("@MemberName",  member.TruethName),
                    new SqlParameter("@soucemid",    soucememberID),
                    new SqlParameter("@AMType",      type),
                    new SqlParameter("@count",       count)
                };
                int row = helper.ExecuteSql(sqltxt, paramter);
                if (row < 0)
                {
                    return(0);
                }
                int rowcount = row;
                //记录转出者名下日志
                MemberInfoModel    sourcemodel = GetMember(soucememberID);
                ActiveCodeLogModel souce       = new ActiveCodeLogModel();
                souce.MemberID    = soucememberID;
                souce.MemberName  = sourcemodel.TruethName;
                souce.MemberPhone = sourcemodel.MobileNum;
                souce.ActiveCode  = "";
                souce.AID         = 0;
                souce.Remark      = " 转出" + rowcount.ToString() + "个" + (type == 1 ? "激活币" : "排单币");
                row = OperateLogDAL.AddActiveCodeLog(souce);
                if (row < 0)
                {
                    return(0);
                }
                //记录转入者名下日志
                ActiveCodeLogModel accept = new ActiveCodeLogModel();
                accept.MemberID    = member.ID;
                accept.MemberName  = member.TruethName;
                accept.MemberPhone = member.MobileNum;
                accept.ActiveCode  = "";
                accept.AID         = 0;
                accept.Remark      = "接收" + rowcount.ToString() + "个" + (type == 1 ? "激活币" : "排单币");
                row = OperateLogDAL.AddActiveCodeLog(accept);
                if (row < 0)
                {
                    return(0);
                }
                //记录系统操作日志
                try
                {
                    UserBehaviorLogModel log = new UserBehaviorLogModel();
                    log.AOrderCode     = "";
                    log.BehaviorSource = 1;
                    if (type == 1)
                    {
                        log.BehaviorType = 8;
                    }
                    else
                    {
                        log.BehaviorType = 7;
                    }
                    log.HOrderCode  = "";
                    log.MemberID    = member.ID;
                    log.MemberName  = member.TruethName;
                    log.MemberPhone = member.MobileNum;
                    log.ProcAmount  = 0;
                    log.Remark      = "会员:" + member.MobileNum + " 得到来自" + sourcemodel.MobileNum + "转来的" + rowcount.ToString() + "个" + (type == 1 ? "激活币" : "排单币");
                    UserBehaviorLogDAL.AddUserBehaviorLog(log);
                }
                catch { }
                scope.Complete();
                result = 1;
            }
            return(result);
        }
コード例 #6
0
        /// <summary>
        /// 分配激活码
        /// </summary>
        /// <param name="codes"></param>
        /// <param name="memberphone"></param>
        /// <returns></returns>
        public int AssignedCode(List <string> codes, string memberphone)
        {
            int result = 0;
            //得到激活码信息
            List <ActiveCodeModel> codelist = GetCodeMassage(codes);
            //得到被分配会员信息
            MemberInfoModel member = GetMember(memberphone);

            if (member.MStatus != 2)
            {
                return(0);
            }
            //开启事务,分配激活码
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    //更改原表状态
                    result = UpdateStatus(codelist);
                    if (result < codelist.Count)
                    {
                        throw new Exception("更改激活码原表失败");
                    }
                    List <MemberActiveCodeModel> maclist = new List <MemberActiveCodeModel>();
                    foreach (var item in codelist)
                    {
                        MemberActiveCodeModel mac = new MemberActiveCodeModel();
                        mac.ActiveCode  = item.ActivationCode;
                        mac.MemberID    = member.ID;
                        mac.MemberName  = member.TruethName;
                        mac.MemberPhone = member.MobileNum;
                        mac.AMType      = item.AType;
                        maclist.Add(mac);
                    }
                    result = AddMemberActiveCode(maclist);
                    if (result < 1)
                    {
                        return(0);
                    }
                    ActiveCodeLogModel activemodel = new ActiveCodeLogModel();
                    activemodel.ActiveCode  = "";
                    activemodel.Addtime     = DateTime.Now;
                    activemodel.AID         = 0;
                    activemodel.MemberID    = member.ID;
                    activemodel.MemberName  = member.TruethName;
                    activemodel.MemberPhone = member.MobileNum;
                    activemodel.Remark      = "接收" + codelist.Count + "个" + (codelist[0].AType == 1 ? "激活币" : "排单币");
                    OperateLogDAL.AddActiveCodeLog(activemodel);
                    try
                    {
                        UserBehaviorLogModel log = new UserBehaviorLogModel();
                        log.AOrderCode     = "";
                        log.BehaviorSource = 2;
                        if (codelist[0].AType == 1)
                        {
                            log.BehaviorType = 8;
                        }
                        else
                        {
                            log.BehaviorType = 7;
                        }
                        log.HOrderCode  = "";
                        log.MemberID    = member.ID;
                        log.MemberName  = member.TruethName;
                        log.MemberPhone = member.MobileNum;
                        log.ProcAmount  = 0;
                        log.Remark      = "系统派发激活码/排单币" + codelist.Count + "个";
                        UserBehaviorLogDAL.AddUserBehaviorLog(log);
                    }
                    catch { }
                    scope.Complete();
                    result = 1;
                }
            }
            catch
            {
                return(0);
            }
            return(result);
        }
コード例 #7
0
ファイル: HelpeOrderBLL.cs プロジェクト: BlogPark/SimpleWeb
        /// <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);
        }