public ActionResult Send(int?type) { ViewBag.UserGroupId = new SelectList(db.WeiChat_UserGroups.ToList(), "GroupId", "Name"); var log = new WeiChat_GroupMessageLog(); return(View(log)); }
public ActionResult Send(WeiChat_GroupMessageLog model) { var res = new AjaxResponse { Success = true, Message = "发送成功!" }; if (string.IsNullOrWhiteSpace(model.MediaId)) { res.Success = false; res.Message = "请选择素材!"; } else { try { var messageType = GroupMessageType.image; switch (model.MessageType) { case SendMessageTypes.Text: messageType = GroupMessageType.text; break; case SendMessageTypes.Image: messageType = GroupMessageType.image; break; case SendMessageTypes.Voice: messageType = GroupMessageType.voice; break; case SendMessageTypes.Video: messageType = GroupMessageType.video; break; case SendMessageTypes.News: messageType = GroupMessageType.mpnews; break; default: break; } var q = db.WeiChat_Users.AsQueryable(); if (model.SexType != SexTypes.All) { var sexType = (WeChatSexTypes)((int)model.SexType - 1); q = q.Where(p => p.Sex == sexType); if (!string.IsNullOrEmpty(model.UserGroupIds)) { //var groupId = Convert.ToInt32(model.UserGroupIds); //q = q.Where(p => p.GroupIds.Contains(groupId)); q = q.Where(p => p.GroupIds.Contains(model.UserGroupIds)); } } switch (model.MessageType) { case SendMessageTypes.Text: case SendMessageTypes.Image: case SendMessageTypes.Voice: case SendMessageTypes.Video: case SendMessageTypes.News: { SetModel(model, default(long)); if (model.SexType != SexTypes.All) { var openIds = q.Select(p => p.OpenId).ToArray(); if ((openIds == null) || (openIds.Length == 0)) { res.Success = false; res.Message = "没有找到符合该条件的粉丝,请手动同步粉丝后或者修改条件后再试!"; } var result = GroupMessageApi.SendGroupMessageByOpenId(AccessToken, messageType, model.MediaId, 10000, openIds); if (result.errcode != ReturnCode.请求成功) { res.Success = false; res.Message = "发送失败!" + result.errmsg; } } else { var result = GroupMessageApi.SendGroupMessageByGroupId(AccessToken, model.UserGroupIds, model.MediaId, messageType, true); if (result.errcode != ReturnCode.请求成功) { res.Success = false; res.Message = "发送失败!" + result.errmsg; } } model.IsSuccess = res.Success; model.Message = res.Message; db.WeiChat_GroupMessageLogs.Add(model); db.SaveChanges(); break; } default: break; } } catch (Exception ex) { res.Success = false; res.Message = "发送失败!" + ex.Message; model.IsSuccess = res.Success; model.Message = res.Message; db.WeiChat_GroupMessageLogs.Add(model); db.SaveChanges(); } } return(Json(res)); }