/// <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); } }
/// <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}"); } }