private async Task <WxReplyMessage> GetMessageAsync(WxReplyMessage message) { if (message.MaterialType == MaterialType.Message) { var material = await _materialMessageRepository.GetAsync(message.MaterialId); if (material != null) { message.MediaId = material.MediaId; message.Items = material.Items; return(message); } } else if (message.MaterialType == MaterialType.Image) { var material = await _materialImageRepository.GetAsync(message.MaterialId); if (material != null) { message.MediaId = material.MediaId; message.Image = material; return(message); } } else if (message.MaterialType == MaterialType.Audio) { var material = await _materialAudioRepository.GetAsync(message.MaterialId); if (material != null) { message.MediaId = material.MediaId; message.Audio = material; return(message); } } else if (message.MaterialType == MaterialType.Video) { var material = await _materialVideoRepository.GetAsync(message.MaterialId); if (material != null) { message.MediaId = material.MediaId; message.Video = material; return(message); } } else if (message.MaterialType == MaterialType.Text) { return(message); } return(null); }
public async Task <ActionResult <GetResult> > Get([FromQuery] GetRequest request) { if (!await _authManager.HasSitePermissionsAsync(request.SiteId, Types.SitePermissions.WxReplyAuto, Types.SitePermissions.WxReplyBeAdded)) { return(Unauthorized()); } WxReplyMessage message = null; var account = await _wxAccountRepository.GetBySiteIdAsync(request.SiteId); var(success, _, errorMessage) = await _wxManager.GetAccessTokenAsync(account.MpAppId, account.MpAppSecret); if (success) { if (StringUtils.EqualsIgnoreCase(request.ActiveName, "replyAuto")) { if (account.MpReplyAutoMessageId > 0) { message = await _wxManager.GetMessageAsync(request.SiteId, account.MpReplyAutoMessageId); } } else if (StringUtils.EqualsIgnoreCase(request.ActiveName, "replyBeAdded")) { if (account.MpReplyBeAddedMessageId > 0) { message = await _wxManager.GetMessageAsync(request.SiteId, account.MpReplyBeAddedMessageId); } } } return(new GetResult { Success = success, ErrorMessage = errorMessage, Message = message }); }
public async Task CustomSendAsync(string accessTokenOrAppId, string openId, WxReplyMessage message) { if (message.MaterialType == MaterialType.Message) { await CustomSendMessageAsync(accessTokenOrAppId, openId, message.SiteId, message.MaterialId, message.MediaId); } else if (message.MaterialType == MaterialType.Text) { await CustomSendTextAsync(accessTokenOrAppId, openId, message.SiteId, message.Text); } else if (message.MaterialType == MaterialType.Image) { await CustomSendImageAsync(accessTokenOrAppId, openId, message.SiteId, message.MaterialId, message.MediaId); } else if (message.MaterialType == MaterialType.Audio) { await CustomSendAudioAsync(accessTokenOrAppId, openId, message.SiteId, message.MaterialId, message.MediaId); } else if (message.MaterialType == MaterialType.Video) { await CustomSendVideoAsync(accessTokenOrAppId, openId, message.SiteId, message.MaterialId, message.MediaId); } }
public async Task <ActionResult <IntResult> > Submit([FromBody] SubmitRequest request) { if (!await _authManager.HasSitePermissionsAsync(request.SiteId, MenuUtils.SitePermissions.WxReplyAuto, MenuUtils.SitePermissions.WxReplyBeAdded)) { return(Unauthorized()); } WxReplyMessage message = null; var account = await _wxAccountRepository.GetBySiteIdAsync(request.SiteId); if (StringUtils.EqualsIgnoreCase(request.ActiveName, "replyAuto")) { if (account.MpReplyAutoMessageId > 0) { message = await _wxManager.GetMessageAsync(request.SiteId, account.MpReplyAutoMessageId); } } else if (StringUtils.EqualsIgnoreCase(request.ActiveName, "replyBeAdded")) { if (account.MpReplyBeAddedMessageId > 0) { message = await _wxManager.GetMessageAsync(request.SiteId, account.MpReplyBeAddedMessageId); } } int messageId; if (message == null) { message = new WxReplyMessage { SiteId = request.SiteId, RuleId = 0, MaterialType = request.MaterialType, MaterialId = request.MaterialId, Text = request.Text }; messageId = await _wxReplyMessageRepository.InsertAsync(message); if (StringUtils.EqualsIgnoreCase(request.ActiveName, "replyAuto")) { account.MpReplyAutoMessageId = messageId; } else if (StringUtils.EqualsIgnoreCase(request.ActiveName, "replyBeAdded")) { account.MpReplyBeAddedMessageId = messageId; } await _wxAccountRepository.SetAsync(account); } else { messageId = message.Id; message.MaterialType = request.MaterialType; message.MaterialId = request.MaterialId; message.Text = request.Text; await _wxReplyMessageRepository.UpdateAsync(message); } return(new IntResult { Value = messageId }); }
public async Task UpdateAsync(WxReplyMessage message) { await _repository.UpdateAsync(message, Q .CachingRemove(GetCacheKey(message.SiteId)) ); }
public async Task <int> InsertAsync(WxReplyMessage message) { return(await _repository.InsertAsync(message, Q .CachingRemove(GetCacheKey(message.SiteId)) )); }