public ActionResult SendGroupMessage() { SendGroupMessageArgs args = RequestArgs <SendGroupMessageArgs>(); if (args == null) { return(RespondResult(false, "参数无效。")); } string result = _groupMessageManager.SendGroupMessage(DomainContext, args); ApiResult apiResult = new ApiResult(); if (String.IsNullOrEmpty(result)) { apiResult.Success = true; } else { apiResult.Message = result; } #region 操作日志 _operatedLogManager.Create(new OperatedLogEntity() { Domain = DomainContext.Domain.Id, AppId = DomainContext.AppId, User = UserContext.User.Id, IP = Request.UserHostAddress, Module = EnumModule.Member, Description = "群发消息" }); #endregion return(RespondResult(apiResult)); }
public string SendGroupMessage(DomainContext domainContext, SendGroupMessageArgs args) { if (args == null) { return("参数错误。"); } GroupMessageEntity groupMessage = new GroupMessageEntity(); groupMessage.AppId = domainContext.AppId; if (args.GroupId >= 0) { groupMessage.IsToAll = false; groupMessage.GroupId = args.GroupId; } else { groupMessage.IsToAll = true; } groupMessage.Type = args.Type; groupMessage.Content = args.Content; groupMessage.Url = args.Url; groupMessage.Name = args.Name; groupMessage.MediaId = args.MediaId; groupMessage.ArticleId = args.ArticleId; WeixinGroupMessageSendAllArgs apiArgs = null; switch (groupMessage.Type) { case EnumGroupMessageType.Text: WeixinGroupMessageSendAllArgs_Text textMsg = new WeixinGroupMessageSendAllArgs_Text(); textMsg.Content.Content = groupMessage.Content; apiArgs = textMsg; break; case EnumGroupMessageType.Image: WeixinGroupMessageSendAllArgs_Image imageMsg = new WeixinGroupMessageSendAllArgs_Image(); imageMsg.Image.MediaId = groupMessage.MediaId; apiArgs = imageMsg; break; case EnumGroupMessageType.Article: string mediaId = _materialManager.GetArticleMaterialMediaId(args.ArticleId.Value); if (String.IsNullOrEmpty(mediaId) == false) { WeixinGroupMessageSendAllArgs_Mpnews articleMsg = new WeixinGroupMessageSendAllArgs_Mpnews(); articleMsg.Mpnews.MediaId = mediaId; apiArgs = articleMsg; } break; default: break; } if (apiArgs == null) { return("参数错误。"); } //先往微信后台添加,成功后写数据库 apiArgs.Filter.IsToAll = groupMessage.IsToAll; if (groupMessage.GroupId.HasValue && groupMessage.GroupId >= 0) { apiArgs.Filter.GroupId = groupMessage.GroupId.ToString(); } // apiArgs.MsgType RequestApiResult <WeixinGroupMessageSendAllResult> sendAllResult = GroupMessageApiWrapper.SendAll(domainContext, apiArgs); if (sendAllResult.Success == false) { return(sendAllResult.Message); } groupMessage.MsgId = sendAllResult.ApiResult.MsgId; groupMessage.MsgDataId = sendAllResult.ApiResult.MsgDataId; groupMessage.Domain = domainContext.Domain.Id; _dataBase.Insert(groupMessage); return(null); }