123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375 |
- using Lottomat.Application.Busines.PublicInfoManage;
- using Lottomat.Application.Code;
- using Lottomat.Application.Entity.PublicInfoManage;
- using Lottomat.Util;
- using Lottomat.Util.Extension;
- using Lottomat.Util.WebControl;
- using System.Web.Mvc;
- using Lottomat.Utils.Date;
- namespace Lottomat.Application.Admin.Areas.PublicInfoManage.Controllers
- {
- /// <summary>
- /// 版 本 1.0
- /// Copyright (c) 2016-2017
- /// 创建人:赵轶
- /// 日 期:2015.12.8 11:31
- /// 描 述:邮件中心
- /// </summary>
- public class EmailController : MvcControllerBase
- {
- private EmailCategoryBLL emailCategoryBLL = new EmailCategoryBLL();
- private EmailContentBLL emailContentBLL = new EmailContentBLL();
- #region 视图功能
- /// <summary>
- /// 邮件中心
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [HandlerAuthorize(PermissionMode.Enforce)]
- public ActionResult Index()
- {
- return View();
- }
- /// <summary>
- /// 邮件分类表单
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult EmailCategoryForm()
- {
- return View();
- }
- /// <summary>
- /// 写邮件
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult EmailWriteForm()
- {
- return View();
- }
- /// <summary>
- /// 查看邮件
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult EmailLookDetail()
- {
- string keyValue = Request["keyValue"];
- EmailAddresseeEntity emailAddresseeEntity = emailContentBLL.GetAddresseeEntity(keyValue);
- if (emailAddresseeEntity != null)
- {
- ViewBag.contentId = emailAddresseeEntity.ContentId;
- }
- else
- {
- ViewBag.contentId = keyValue;
- keyValue = "";
- }
- ViewBag.keyValue = keyValue;
- return View();
- }
- #endregion
- #region 获取数据
- /// <summary>
- /// 分类列表
- /// </summary>
- /// <returns>返回列表Json</returns>
- [HttpGet]
- public ActionResult GetCategoryListJson()
- {
- string UserId = OperatorProvider.Provider.Current().UserId;
- var data = emailCategoryBLL.GetList(UserId);
- return ToJsonResult(data);
- }
- /// <summary>
- /// 分类实体
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <returns>返回对象Json</returns>
- [HttpGet]
- public ActionResult GetCategoryFormJson(string keyValue)
- {
- var data = emailCategoryBLL.GetEntity(keyValue);
- return ToJsonResult(data);
- }
- /// <summary>
- /// 统计邮箱数量(未读、星标、草稿、回收、收件、已发)
- /// </summary>
- /// <returns>返回数量</returns>
- public ActionResult GetMailCount()
- {
- string userId = OperatorProvider.Provider.Current().UserId;
- var unreadcount = emailContentBLL.GetUnreadMailCount(userId);
- var asteriskcount = emailContentBLL.GetAsteriskMailCount(userId);
- var sentcount = emailContentBLL.GetSentMailCount(userId);
- var draftcount = emailContentBLL.GetDraftMailCount(userId);
- var recyclecount = emailContentBLL.GetRecycleMailCount(userId);
- var addresseecount = emailContentBLL.GetAddresseeMailCount(userId);
- var count = new
- {
- unread = unreadcount,
- asterisk = asteriskcount,
- draft = draftcount,
- recycle = recyclecount,
- addressee = addresseecount,
- sent = sentcount,
- };
- return Content(count.ToJson());
- }
- /// <summary>
- /// 未读邮件列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="keyword">关键字</param>
- /// <returns>返回列表Json</returns>
- public ActionResult GetUnreadMailJson(Pagination pagination, string keyword)
- {
- var watch = CommonHelper.TimerStart();
- string userId = OperatorProvider.Provider.Current().UserId;
- var data = emailContentBLL.GetUnreadMail(pagination, userId, keyword);
- var JsonData = new
- {
- rows = data,
- total = pagination.total,
- page = pagination.page,
- records = pagination.records,
- costtime = CommonHelper.TimerEnd(watch)
- };
- return Content(JsonData.ToJson());
- }
- /// <summary>
- /// 星标邮件列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="keyword">关键字</param>
- /// <returns>返回列表Json</returns>
- public ActionResult GetAsteriskMailJson(Pagination pagination, string keyword)
- {
- var watch = CommonHelper.TimerStart();
- string userId = OperatorProvider.Provider.Current().UserId;
- var data = emailContentBLL.GetAsteriskMail(pagination, userId, keyword);
- var JsonData = new
- {
- rows = data,
- total = pagination.total,
- page = pagination.page,
- records = pagination.records,
- costtime = CommonHelper.TimerEnd(watch)
- };
- return Content(JsonData.ToJson());
- }
- /// <summary>
- /// 草稿箱列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="keyword">关键字</param>
- /// <returns>返回列表Json</returns>
- public ActionResult GetDraftMailJson(Pagination pagination, string keyword)
- {
- var watch = CommonHelper.TimerStart();
- string userId = OperatorProvider.Provider.Current().UserId;
- var data = emailContentBLL.GetDraftMail(pagination, userId, keyword);
- var JsonData = new
- {
- rows = data,
- total = pagination.total,
- page = pagination.page,
- records = pagination.records,
- costtime = CommonHelper.TimerEnd(watch)
- };
- return Content(JsonData.ToJson());
- }
- /// <summary>
- /// 回收箱列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="keyword">关键字</param>
- /// <returns>返回列表Json</returns>
- public ActionResult GetRecycleMailJson(Pagination pagination, string keyword)
- {
- var watch = CommonHelper.TimerStart();
- string userId = OperatorProvider.Provider.Current().UserId;
- var data = emailContentBLL.GetRecycleMail(pagination, userId, keyword);
- var JsonData = new
- {
- rows = data,
- total = pagination.total,
- page = pagination.page,
- records = pagination.records,
- costtime = CommonHelper.TimerEnd(watch)
- };
- return Content(JsonData.ToJson());
- }
- /// <summary>
- /// 收件箱列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="keyword">关键字</param>
- /// <returns>返回列表Json</returns>
- public ActionResult GetAddresseeMailJson(Pagination pagination, string keyword)
- {
- var watch = CommonHelper.TimerStart();
- string userId = OperatorProvider.Provider.Current().UserId;
- var data = emailContentBLL.GetAddresseeMail(pagination, userId, keyword);
- var JsonData = new
- {
- rows = data,
- total = pagination.total,
- page = pagination.page,
- records = pagination.records,
- costtime = CommonHelper.TimerEnd(watch)
- };
- return Content(JsonData.ToJson());
- }
- /// <summary>
- /// 已发送列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="keyword">关键字</param>
- /// <returns>返回列表Json</returns>
- public ActionResult GetSentMailJson(Pagination pagination, string keyword)
- {
- var watch = CommonHelper.TimerStart();
- string userId = OperatorProvider.Provider.Current().UserId;
- var data = emailContentBLL.GetSentMail(pagination, userId, keyword);
- var JsonData = new
- {
- rows = data,
- total = pagination.total,
- page = pagination.page,
- records = pagination.records,
- costtime = CommonHelper.TimerEnd(watch)
- };
- return Content(JsonData.ToJson());
- }
- /// <summary>
- /// 邮件实体
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <returns>返回对象Json</returns>
- [HttpGet]
- public ActionResult GetEmailFormJson(string keyValue)
- {
- var data = emailContentBLL.GetEntity(keyValue);
- string strJson = data.ToJson();
- strJson = strJson.Insert(1, "\"SenderTimeName\":\"" + DateTimeHelper.GetChineseDateTime(data.SenderTime.ToDate()) + "\",");
- return Content(strJson);
- }
- #endregion
- #region 提交数据
- /// <summary>
- /// 删除分类
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult RemoveCategoryForm(string keyValue)
- {
- emailCategoryBLL.RemoveForm(keyValue);
- return Success("删除成功。");
- }
- /// <summary>
- /// 保存分类表单(新增、修改)
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <param name="emailCategoryEntity">分类实体</param>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveCategoryForm(string keyValue, EmailCategoryEntity emailCategoryEntity)
- {
- emailCategoryBLL.SaveForm(keyValue, emailCategoryEntity);
- return Success("操作成功。");
- }
- /// <summary>
- /// 删除邮件
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <param name="emailType">邮件类型:unreadMail starredMail draftMail recycleMail addresseeMail sendMail</param>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- [HandlerAuthorize(PermissionMode.Enforce)]
- public ActionResult RemoveEmailForm(string keyValue, string emailType)
- {
- emailContentBLL.RemoveForm(keyValue, emailType);
- return Success("删除成功。");
- }
- /// <summary>
- /// 彻底删除邮件
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <param name="emailType">邮件类型:unreadMail starredMail draftMail recycleMail addresseeMail sendMail</param>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- [HandlerAuthorize(PermissionMode.Enforce)]
- public ActionResult ThoroughRemoveEmailForm(string keyValue, string emailType)
- {
- emailContentBLL.ThoroughRemoveForm(keyValue, emailType);
- return Success("删除成功。");
- }
- /// <summary>
- /// 保存写邮件表单(发送、草稿、编辑)
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <param name="emailContentEntity">邮件信息实体</param>
- /// <param name="addresssIds">收件人</param>
- /// <param name="copysendIds">抄送人</param>
- /// <param name="bccsendIds">密送人</param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- [ValidateInput(false)]
- public ActionResult SaveEmailForm(string keyValue, EmailContentEntity emailContentEntity, string addresssIds, string copysendIds, string bccsendIds)
- {
- emailContentBLL.SaveForm(keyValue, emailContentEntity, addresssIds, copysendIds, bccsendIds);
- if (emailContentEntity.SendState == 1)
- {
- return Success("邮件发送成功。");
- }
- else
- {
- return Success("存入草稿成功。");
- }
- }
- /// <summary>
- /// 设置邮件已读/未读
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <param name="IsRead">是否已读:0-未读1-已读</param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult ReadEmail(string keyValue, int IsRead = 1)
- {
- emailContentBLL.ReadEmail(keyValue, IsRead);
- return Success("操作成功。");
- }
- /// <summary>
- /// 设置邮件星标/取消星标
- /// </summary>
- /// <param name="keyValue">主键值</param>
- /// <param name="asterisk">星标:0-取消星标1-星标</param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult SteriskEmail(string keyValue, int asterisk = 1)
- {
- emailContentBLL.SteriskEmail(keyValue, asterisk);
- return Success("操作成功。");
- }
- #endregion
- }
- }
|