コード例 #1
0
ファイル: GFDal.cs プロジェクト: hujie0419/springbootdemo
        /// <summary>
        /// 插入广发联名卡记录
        /// </summary>
        /// <param name="record"></param>
        /// <returns></returns>
        public async Task <bool> InsertGFBankCardRecord(GFBankCardRecord record)
        {
            var sql = @"IF NOT EXISTS ( SELECT  1
                FROM    Tuhu_groupon..GFBankCardRecord WITH ( NOLOCK )
                WHERE   Mobile = @Mobile
                        AND SourceFileName = @SourceFileName )
    INSERT  Tuhu_groupon..GFBankCardRecord
            ( UserId ,
              Mobile ,
              UserName ,
              CardLevel ,
              BusinessType ,
              SourceFileName 
            )
    VALUES  ( @UserId ,
              @Mobile ,
              @UserName ,
              @CardLevel ,
              @BusinessType ,
              @SourceFileName
            );";

            using (var dbHelper = DbHelper.CreateDbHelper(Tuhu_Groupon_Write_Str))
                using (var cmd = dbHelper.CreateCommand(sql))
                {
                    cmd.Parameters.Add(new SqlParameter("@UserId", record.UserId));
                    cmd.Parameters.Add(new SqlParameter("@Mobile", record.Mobile));
                    cmd.Parameters.Add(new SqlParameter("@UserName", record.UserName));
                    cmd.Parameters.Add(new SqlParameter("@CardLevel", record.CardLevel));
                    cmd.Parameters.Add(new SqlParameter("@BusinessType", record.BusinessType));
                    cmd.Parameters.Add(new SqlParameter("@SourceFileName", record.SourceFileName));
                    return((await dbHelper.ExecuteNonQueryAsync(cmd)) > 0);
                }
        }
コード例 #2
0
        /// <summary>
        /// 创建广发记录和发券任务
        /// </summary>
        /// <returns></returns>
        public async Task CreateCardRecordAndTask()
        {
            var user = await UserAccountServiceProxy.GetOrCreateUser(this._mobile);

            if (user != null)
            {
                _userId = user.UserId;
                var record = new GFBankCardRecord
                {
                    UserId         = _userId,
                    Mobile         = _mobile,
                    UserName       = _userName,
                    CardLevel      = _cardLevel,
                    BusinessType   = _businessType,
                    SourceFileName = _sourceFileName
                };
                var insertResult = await _gfDal.InsertGFBankCardRecord(record);

                var userPromotionTasks = await _gfDal.SelectGFBankPromotionTaskByMobile(_mobile);

                var lastPromotionTask = userPromotionTasks.FirstOrDefault();
                if (lastPromotionTask == null || !string.Equals(lastPromotionTask.BusinessType, _businessType))
                {
                    await CreatePromotionTask();
                }

                var userRedemptionCodeTasks = await _gfDal.SelectGFBankRedemptionCodeTask(_mobile);

                var lastRedemptionTask = userRedemptionCodeTasks.FirstOrDefault();
                if (lastRedemptionTask == null || !string.Equals(lastRedemptionTask.BusinessType, _businessType))
                {
                    await CreateRedemptionCodeTask();
                }
            }
            else
            {
                JobLogger.GFLogger.Error($"根据广发数据创建用户失败,{this.ToString}");
            }
        }