using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Edu.Common.API; using Edu.Common.Plugin; using Edu.Model.Entity.System; using Edu.Model.ViewModel.System; using Edu.Module.System; using Edu.WebApi.Filter; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; namespace Edu.WebApi.Controllers.Public { /// /// 系统公用接口 /// [Route("api/[controller]/[action]")] [ApiExceptionFilter] [ApiController] [EnableCors("AllowCors")] public class MsgController : BaseController { /// /// 短信处理类对象 /// private readonly MsgLogModule msgLogModule = new MsgLogModule(); #region 短信记录信息 /// /// 获取短信记录分页列表 /// /// [HttpPost] public ApiResult GetMsgLogPageList() { var pageModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); var query = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); query.Group_Id = base.UserInfo.Group_Id; query.School_Id = base.UserInfo.School_Id; var list = msgLogModule.GetPageListRepository(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); pageModel.Count = rowsCount; pageModel.PageData = list; return ApiResult.Success(data: pageModel); } /// /// 获取触发事件枚举 /// /// [HttpPost] public ApiResult GetMsgSendStatusEnumList() { var list = EnumHelper.EnumToList(typeof(Common.Enum.System.MsgSendStatusEnum)); return ApiResult.Success("", list); } #endregion #region 短信配置 /// /// 获取短信配置页列表 /// /// [HttpPost] public ApiResult GetMsgBasePageList() { var pageModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); var query = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); query.Group_Id = base.UserInfo.Group_Id; var list = msgLogModule.GetMsgBasePageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); foreach (var item in list) { if (!string.IsNullOrWhiteSpace(item.MsgConfigure)) { item.MsgBase = Common.Plugin.JsonHelper.DeserializeObject(item.MsgConfigure); } } pageModel.Count = rowsCount; pageModel.PageData = list; return ApiResult.Success(data: pageModel); } /// /// 获取短信配置列表 /// /// [HttpPost] public ApiResult GetMsgBaseList() { var query = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); query.Group_Id = base.UserInfo.Group_Id; var list = msgLogModule.GetMsgBaseModule(query); if (!string.IsNullOrWhiteSpace(list.MsgConfigure)) { list.MsgBase = Common.Plugin.JsonHelper.DeserializeObject(list.MsgConfigure); } return ApiResult.Success(data: list); } /// /// 添加修改短信配置 /// /// [HttpPost] public ApiResult SetMsgBase() { var extModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); var model = new RB_Msg_Base { CreateDate = DateTime.Now, CreateBy = UserInfo.Id, Group_Id = base.UserInfo.Group_Id, ID = extModel.ID, StoreType = extModel.StoreType }; if (extModel.MsgBase != null) { model.MsgConfigure = Common.Plugin.JsonHelper.Serialize(extModel.MsgBase); } bool flag = msgLogModule.SetMsgBaseModule(model); return flag ? ApiResult.Success() : ApiResult.Failed(); } /// /// 获取短信配置实体 /// /// [HttpPost] public ApiResult GetMsgBase() { var ID = base.ParmJObj.GetInt("ID", 0); var extModel = msgLogModule.GetMsgBaseModule(ID); if (!string.IsNullOrWhiteSpace(extModel.MsgConfigure)) { extModel.MsgBase = Common.Plugin.JsonHelper.DeserializeObject(extModel.MsgConfigure); } return ApiResult.Success(data: extModel); } /// /// 删除短信配置 /// /// [HttpPost] public ApiResult RemoveMsgBase() { var ClassId = base.ParmJObj.GetInt("ID", 0); var flag = msgLogModule.RemoveMsgBaseModule(ClassId); return flag ? ApiResult.Success() : ApiResult.Failed(); } #endregion #region 短信模板配置 /// /// 获取触发事件枚举 /// /// [HttpPost] public ApiResult GetBaseTemplateTypeEnumList() { var list = EnumHelper.EnumToList(typeof(Common.Enum.System.BaseTemplateTypeEnum)); return ApiResult.Success("", list); } /// /// 获取短信模板配置页列表 /// /// [HttpPost] public ApiResult GetMsgBaseTemplatePageList() { var pageModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); var query = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); query.Group_Id = base.UserInfo.Group_Id; var list = msgLogModule.GetMsgBaseTemplatePageListModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); foreach (var item in list) { item.BaseTemplateTypeStr = EnumHelper.ToName(item.BaseTemplateType); } pageModel.Count = rowsCount; pageModel.PageData = list; return ApiResult.Success(data: pageModel); } /// /// 获取短信模板配置列表 /// /// [HttpPost] public ApiResult GetMsgBaseTemplateList() { var query = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); query.Group_Id = base.UserInfo.Group_Id; var list = msgLogModule.GetMsgBaseTemplateModule(query); return ApiResult.Success(data: list); } /// /// 添加修改短信模板配置 /// /// [HttpPost] public ApiResult SetMsgBaseTemplate() { var extModel = Common.Plugin.JsonHelper.DeserializeObject(RequestParm.Msg.ToString()); extModel.CreateDate = DateTime.Now; extModel.CreateBy = UserInfo.Id; extModel.Group_Id = base.UserInfo.Group_Id; bool flag = msgLogModule.SetMsgBaseTemplateModule(extModel); return flag ? ApiResult.Success() : ApiResult.Failed(); } /// /// 获取短信模板配置实体 /// /// [HttpPost] public ApiResult GetMsgBaseTemplate() { var ID = base.ParmJObj.GetInt("ID", 0); var extModel = msgLogModule.GetMsgBaseTemplateModule(ID); return ApiResult.Success(data: extModel); } /// /// 删除短信模板配置 /// /// [HttpPost] public ApiResult RemoveMsgBaseTemplate() { var ClassId = base.ParmJObj.GetInt("ID", 0); var flag = msgLogModule.RemoveMsgBaseTemplateModule(ClassId); return flag ? ApiResult.Success() : ApiResult.Failed(); } #endregion #region 发短信测试 [HttpPost] public ApiResult TestSendMsg() { object PhoneMessage = new { OrderNo = "1111111111111", Name = "李三", Mobile = "13551132418", TripDate = "2020-11-30",//item.TripSTime.Value.ToString("yyyy-MM-dd HH:mm") + " " + ((item.UseDay ?? 0) == Convert.ToDecimal(0.5) ? "半" : Convert.ToInt32(item.UseDay ?? 0).ToString()) + "日", Address = "阳光新业2号楼", Number = "李四" }; //新增短信记录信息 var msgLogModel = new RB_Msg_Log { Group_Id = 100000, School_Id = 1, Student_Id = 2, CreateDate = DateTime.Now, SendStatus = Common.Enum.System.MsgSendStatusEnum.InReceipt, CreateBy = 0, CreateByName = "系统自动发送", SendContent = "测试内容", ReceiverName = "张学生", ReceiverPhone = "13551132417" }; msgLogModule.SendMsg(PhoneMessage, Common.Enum.System.BaseTemplateTypeEnum.OrderSuccess, msgLogModel); // ThirdCore.Message.SMSService.SendMsg("13551132417", PhoneMessage, "SMS_201722097", "印象之旅", "dysmsapi.aliyuncs.com", "LTAIwE7l9dImZSa3", "j47Ajn0d0WzUCIX8Biyj3P2r8QDltI", "cn-hangzhou"); return ApiResult.Success(""); } [HttpPost] public ApiResult TestUpdateSendMsg() { msgLogModule.UpdateMsgSendStatus(); return ApiResult.Success(""); } #endregion } }