public void RegisterCardCoupon(RegisterCardCoupon registerCard) { using (var database = this.databaseFactory.GenerateDatabase(isWriteOnly: true)) { var parameters = new DynamicParameters(); parameters.Add("p_AppId", registerCard.AppId); parameters.Add("p_OpenId", registerCard.OpenId); parameters.Add("p_UnionId", registerCard.UnionId); parameters.Add("p_CardId", registerCard.CardId); parameters.Add("p_UserCode", registerCard.UserCode); parameters.Add("p_IsGiveByFriend", registerCard.IsGiveByFriend); parameters.Add("p_IsRestoreMemberCard", registerCard.IsRestoreMemberCard); parameters.Add("p_FriendOpenId", registerCard.FriendOpenId); parameters.Add("p_ActiveTime", registerCard.ActiveTime); parameters.Add("error_code", null, DbType.Int32, ParameterDirection.Output); database.Execute("spRegisterWxUserCard", parameters, System.Data.CommandType.StoredProcedure, true); //error_code = -1000 表示用户信息稍微登记 if (parameters.Get <int>("error_code") > 0) { throw new SharingException(string.Format("Error occured on proccess get card coupon. error code:{0}", parameters.Get <int>("error_code"))); } } }
public void RegisterCardCoupon(RegisterCardCouponContext context) { var strBld = new StringBuilder(); var details = this.sharingHostService.MerchantDetails; foreach (var card in context.CardList) { if (card.IsSuccess) { var response = this.wxapi.DecryptMCardUserCode(details.ChooseOfficial(context) , card.EncryptedCode); if (response.HasError == false) { var cardcoupon = new RegisterCardCoupon() { ActiveTime = DateTime.UtcNow.ToUnixStampDateTime(), AppId = context.AppId, CardId = card.CardId, Event = WeChatEventTypes.user_get_card, MsgType = WeChatMsgTypes.@event, FriendOpenId = string.Empty, IsGiveByFriend = false, IsRestoreMemberCard = false, OpenId = context.OpenId, UserCode = response.Code, UnionId = context.UnionId }; this.wxUserService.RegisterCardCoupon(cardcoupon); } else { Logger.Error(response.SerializeToJson()); } } } }