ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理

2019-05-22 09:44:12刘景俊

对应的枚举 

 public enum WeChatReplyCategory
 {
 //文本
 Text =1,
 //图文
 Image =2,
 //语音
 Voice =3,
 //相等,用于回复关键字
 Equal=4,
 //包含,用于回复关键字
 Contain = 5
 }

 public enum WeChatRequestRuleEnum
 {
 /// <summary>
 /// 默认回复,没有处理的
 /// </summary>
 Default =0,
 /// <summary>
 /// 关注回复
 /// </summary>
 Subscriber =1,
 /// <summary>
 /// 文本回复
 /// </summary>
 Text =2,
 /// <summary>
 /// 图片回复
 /// </summary>
 Image =3,
 /// <summary>
 /// 语音回复
 /// </summary>
 Voice =4,
 /// <summary>
 /// 视频回复
 /// </summary>
 Video =5,
 /// <summary>
 /// 超链接回复
 /// </summary>
 Link =6,
 /// <summary>
 /// LBS位置回复
 /// </summary>
 Location =7,
 }

枚举其实对应就是我省掉的其余两张表
 到这里,相信表的设计已经非常清晰 

后台代码 

增删改查非常普通,主要关注点在前端,前端处理提交的消息中,必须包含规则,类型,来指定消息的最终表达

Controller

[HttpPost]
 [SupportFilter(ActionName = "Edit")]
 public JsonResult PostData(WC_MessageResponseModel model)
 {
  WC_OfficalAccountsModel accountModel = account_BLL.GetCurrentAccount();
  if (string.IsNullOrEmpty(model.Id))
  {
  model.Id = ResultHelper.NewId;
  }
  
  model.CreateBy = GetUserId();
  model.CreateTime = ResultHelper.NowTime;
  model.ModifyBy = GetUserId();
  model.ModifyTime = ResultHelper.NowTime;
  model.OfficalAccountId = accountModel.Id;
  model.Enable = true;
  model.IsDefault = true;
  if (m_BLL.PostData(ref errors, model))
  {
  LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",OfficalAccountId" + model.OfficalAccountId, "成功", "保存", "WC_MessageResponse");
  return Json(JsonHandler.CreateMessage(1, Resource.SaveSucceed));
  }
  else
  {
  string ErrorCol = errors.Error;
  LogHandler.WriteServiceLog(GetUserId(), "Id" + model.Id + ",OfficalAccountId" + model.OfficalAccountId + "," + ErrorCol, "失败", "保存", "WC_MessageResponse");
  return Json(JsonHandler.CreateMessage(0, Resource.SaveFail + ErrorCol));
  }

 }

BLL

public bool PostData(ref ValidationErrors errors, WC_MessageResponseModel model)
 {
  try
  {

  WC_MessageResponse entity = new WC_MessageResponse();

  if (IsExists(model.Id))
  {
   entity = m_Rep.GetById(model.Id);
  }

  entity.Id = model.Id;
  entity.OfficalAccountId = model.OfficalAccountId;
  entity.MessageRule = model.MessageRule;
  entity.Category = model.Category;
  entity.MatchKey = model.MatchKey;
  entity.TextContent = model.TextContent;
  entity.ImgTextContext = model.ImgTextContext;
  entity.ImgTextUrl = model.ImgTextUrl;
  entity.ImgTextLink = model.ImgTextLink;
  entity.MeidaUrl = model.MeidaUrl;
  entity.Enable = model.Enable;
  entity.IsDefault = model.IsDefault;
  entity.Remark = model.Remark;
  entity.CreateTime = model.CreateTime;
  entity.CreateBy = model.CreateBy;
  entity.Sort = model.Sort;
  entity.ModifyTime = model.ModifyTime;
  entity.ModifyBy = model.ModifyBy;
  if (m_Rep.PostData(entity))
  {
   return true;
  }
  else
  {
   errors.Add(Resource.NoDataChange);
   return false;
  }

  }
  catch (Exception ex)
  {
  errors.Add(ex.Message);
  ExceptionHander.WriteException(ex);
  return false;
  }
 }