/// <summary> /// 获取素材的默认格式 /// </summary> /// <param name="mType"></param> /// <param name="item"></param> /// <returns></returns> private string GetMediaExtension(PubMediaType mType, WxMediaShow item) { var extension = Path.GetExtension(item.Title); if (string.IsNullOrEmpty(extension)) { switch (mType) { case PubMediaType.image: extension = ".jpg"; break; case PubMediaType.voice: extension = ".mp3"; break; case PubMediaType.video: extension = ".mp4"; break; case PubMediaType.thumb: extension = ".jpg"; break; default: break; } } return(extension); }
public Result <string> UpdMediaName([FromBody] WxMediaShow item) { try { if (string.IsNullOrEmpty(item.Title)) { return(new Result <string> { Message = "请输入永久素材的名称!" }); } item.Updater = currentUser.UserName; item.UpdateTime = DateTime.Now; repo.Update(item, new List <string> { "Title", "Updater", "UpdateTime" }); return(new Result <string> { IsSucc = true, Message = "更新永久素材名称成功!" }); } catch (Exception ex) { logHelper.Error("UpdMediaName:更新永久素材名称失败:" + ex.Message + " " + ex.StackTrace); } return(new Result <string> { Message = "更新永久素材名称失败!" }); }
public Result <string> SaveMedia([FromBody] WxMediaShow item) { try { if (string.IsNullOrEmpty(item.Type) || string.IsNullOrEmpty(item.LocalUrl)) { return(new Result <string> { Message = "保存失败:参数不足!" }); } var mType = ComHelper.GetEnumValueByStr <PubMediaType>(item.Type); var filePath = ComHelper.GetPhyWWWRoot(item.LocalUrl); // 上传永久素材 var upRes = PubMediaApi.AddMaterial(mType, filePath, item.Title, item.Introduction); logHelper.Debug("SaveMedia:上传微信永久素材结果:" + upRes.JsonSerialize()); if (!upRes.IsSuss) { var msg = "上传微信永久素材失败:" + upRes.errcode + " " + upRes.errmsg; logHelper.Debug("SaveMedia:" + msg); return(new Result <string> { Message = msg }); } // 保存上传结果 var userName = currentUser.UserName; var dtNow = DateTime.Now; item.MediaId = upRes.media_id; item.WxUrl = upRes.url; item.Creater = userName; item.Updater = userName; item.CreateTime = dtNow; item.UpdateTime = dtNow; repo.Save(item); return(new Result <string> { IsSucc = true, Message = "保存永久素材成功!" }); } catch (Exception ex) { logHelper.Error("SaveMedia:保存永久素材失败:" + ex.Message + " " + ex.StackTrace); } return(new Result <string> { Message = "保存永久素材失败!" }); }
/// <summary> /// 保存同步的素材和下载 /// </summary> /// <param name="mType"></param> /// <param name="syncRes"></param> private void SyncMedias(PubMediaType mType, PubMeterialResult syncRes) { try { // 保存永久素材记录 var dtNow = DateTime.Now; var lstWxMedia = new List <WxMediaShow>(); var userName = currentUser.UserName; foreach (var media in syncRes.item) { // 判断是否存在 var exist = repo.FirstOrDefault <WxMediaShow>(x => x.MediaId == media.media_id); if (exist == null) { exist = new WxMediaShow(); exist.Creater = userName; exist.CreateTime = dtNow; exist.Title = media.name; } exist.MediaId = media.media_id; exist.Type = mType.ToString(); exist.WxUrl = media.url; exist.Updater = userName; exist.UpdateTime = dtNow; exist.IsDel = 0; repo.Save(exist); lstWxMedia.Add(exist); } // 下载附件 var upVirPath = UpPathHelper.GetUploadVirPath("wxmedia", dtNow); var upPhyPath = UpPathHelper.GetUploadPhyPath("wxmedia", dtNow); DownWxMedia(lstWxMedia, mType, upVirPath, upPhyPath); } catch (Exception ex) { logHelper.Error("SyncMedias:保存永久素材失败:" + ex.Message + " " + ex.StackTrace); } }
public Result <string> DelMedia([FromBody] WxMediaShow item) { try { // 删除永久素材 var delRes = PubMediaApi.DeleteMaterial(item.MediaId); logHelper.Debug("DelMedia:删除永久素材结果:" + delRes.JsonSerialize()); if (!delRes.IsSuss) { var msg = "删除永久素材失败:" + delRes.errcode + " " + delRes.errmsg; logHelper.Error("DelMedia:" + msg); return(new Result <string> { Message = msg }); } // 保存数据库记录 item.IsDel = 1; item.Updater = currentUser.UserName; item.UpdateTime = DateTime.Now; repo.Update(item, new List <string> { "IsDel", "Updater", "UpdateTime" }); return(new Result <string> { IsSucc = true, Message = "删除永久素材成功!" }); } catch (Exception ex) { logHelper.Error("DelMedia:删除永久素材失败:" + ex.Message + " " + ex.StackTrace); } return(new Result <string> { Message = "删除永久素材失败!" }); }