Example #1
0
        /// <summary>
        /// 有新用户注册回调
        /// </summary>
        /// <param name="context"></param>
        /// <param name="userId"></param>
        /// <param name="regTime"></param>
        private static void NewUser(int userId, DateTime regTime)
        {
            var context = new Agp2pDataContext();
            var newUser = context.dt_users.Single(u => u.id == userId);

            // 创建钱包
            var wallet = new li_wallets {
                user_id = userId, last_update_time = regTime
            };

            context.li_wallets.InsertOnSubmit(wallet);

            // 创建自己的邀请码
            var codeModel = new dt_user_code
            {
                dt_users  = newUser,
                user_name = newUser.user_name,
                type      = DTEnums.CodeEnum.Register.ToString(),
                str_code  = Utils.GetCheckCode(8), //获取邀请码
                eff_time  = newUser.reg_time ?? DateTime.Now,
                add_time  = newUser.reg_time ?? DateTime.Now
            };

            context.dt_user_code.InsertOnSubmit(codeModel);

            // 注册送积分
            var dtUserPointLog = new dt_user_point_log
            {
                user_id   = newUser.id,
                user_name = newUser.user_name,
                add_time  = newUser.reg_time ?? DateTime.Now,
                value     = newUser.dt_user_groups.point ?? 0,
                remark    = "注册赠送积分"
            };

            context.dt_user_point_log.InsertOnSubmit(dtUserPointLog);

            // 发站内信
            var userConfig    = ConfigLoader.loadUserConfig();
            var dtUserMessage = new dt_user_message
            {
                type             = 1,
                accept_user_name = newUser.user_name,
                title            = "欢迎您成为本站会员",
                content          = userConfig == null ? "恭喜您注册成功,马上充值投资,赚的飞起来!" : userConfig.regmsgtxt,
                post_user_name   = "",
                post_time        = newUser.reg_time.Value,
                receiver         = newUser.id
            };

            context.dt_user_message.InsertOnSubmit(dtUserMessage);

            context.SubmitChanges();
        }
        /// <summary>
        /// 会员积分处理
        /// </summary>
        private static void HandleUserSignMsg(UserPointMsg userPointMsg)
        {
            switch (userPointMsg.Type)
            {
            case (int)Agp2pEnums.PointEnum.Register:
                userPointMsg.Point  = 38;
                userPointMsg.Remark = "注册送积分";
                break;

            case (int)Agp2pEnums.PointEnum.RealNameAuth:
                userPointMsg.Point  = 38;
                userPointMsg.Remark = "实名认证";
                break;

            case (int)Agp2pEnums.PointEnum.BindingEmail:
                userPointMsg.Point  = 28;
                userPointMsg.Remark = "绑定邮箱";
                break;

            case (int)Agp2pEnums.PointEnum.BindingBank:
                userPointMsg.Point  = 38;
                userPointMsg.Remark = "绑定银行卡";
                break;

            case (int)Agp2pEnums.PointEnum.Recharge:
                userPointMsg.Point = 50;
                break;

            case (int)Agp2pEnums.PointEnum.Invest:

                userPointMsg.Remark = "投资";
                break;

            case (int)Agp2pEnums.PointEnum.FirstInvest:
                userPointMsg.Point  = 368;
                userPointMsg.Remark = "首次投资";
                break;

            case (int)Agp2pEnums.PointEnum.InviteRegister:
                userPointMsg.Point = 888;
                break;

            case (int)Agp2pEnums.PointEnum.InviteInvest:
                userPointMsg.Point = 50;
                break;

            case (int)Agp2pEnums.PointEnum.LotteryGet:
                userPointMsg.Remark = "积分抽奖获取积分";
                break;

            case (int)Agp2pEnums.PointEnum.Lottery:
                userPointMsg.Point  = -80;
                userPointMsg.Remark = "积分抽奖消耗";
                break;
            }

            var context = new Agp2pDataContext();

            var user = context.dt_users.SingleOrDefault(u => u.id == userPointMsg.UserId);

            if (user != null)
            {
                var dtUserPointLog = new dt_user_point_log
                {
                    user_id   = userPointMsg.UserId,
                    user_name = userPointMsg.UserName,
                    add_time  = DateTime.Now,
                    value     = userPointMsg.Point,
                    type      = (short)userPointMsg.Type,
                    remark    = userPointMsg.Remark
                };
                context.dt_user_point_log.InsertOnSubmit(dtUserPointLog);
                user.point += userPointMsg.Point;
                context.SubmitChanges();
            }
        }