Commit 0ed24383 authored by 吴春's avatar 吴春

提交代码

parent fa037662
...@@ -273,5 +273,14 @@ namespace Edu.Common ...@@ -273,5 +273,14 @@ namespace Edu.Common
return _isOnline; return _isOnline;
} }
} }
public static int IsSendMsg {
get
{
int.TryParse(ReadConfigKey("IsSendMsg"), out int _isSendMsg);
return _isSendMsg;
}
}
} }
} }
\ No newline at end of file
...@@ -16,6 +16,11 @@ namespace Edu.Common.Enum.Public ...@@ -16,6 +16,11 @@ namespace Edu.Common.Enum.Public
/// 阿里云 /// 阿里云
/// </summary> /// </summary>
[EnumField("阿里云")] [EnumField("阿里云")]
Alicloud = 2 Alicloud = 2,
/// <summary>
/// 系统
/// </summary>
[EnumField("系统")]
System = 3
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Plugin;
namespace Edu.Common.Enum.System
{
public enum BaseTemplateTypeEnum
{
/// <summary>
/// 订单下单成功通知
/// </summary>
[EnumField("订单下单成功通知")]
OrderSuccess = 1,
/// <summary>
/// 订单下单失败通知
/// </summary>
[EnumField("订单下单失败通知")]
OrderFail = 2
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Plugin;
namespace Edu.Common.Enum.System
{
public enum MsgSendStatusEnum
{
//发送状态1:等待回执,2:发送失败,3:发送成功。
/// <summary>
/// 等待回执
/// </summary>
[EnumField("等待回执")]
InReceipt = 1,
/// <summary>
/// 发送失败
/// </summary>
[EnumField("发送失败")]
Fail = 2,
/// <summary>
/// 发送成功
/// </summary>
[EnumField("发送成功")]
Success = 3,
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Common.Enum.Public;
using Edu.Common.Enum.System;
using VT.FW.DB;
namespace Edu.Model.Entity.System
{
/// <summary>
/// 短信发送记录实体表
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Msg_BaseTemplate
{
public int ID { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 模板状态,0-正常,1-禁用
/// </summary>
public int TemplateStaus { get; set; }
public BaseTemplateTypeEnum BaseTemplateType { get; set; }
/// <summary>
/// 存储位置,1-腾讯云,2-阿里,3-其他
/// </summary>
public StoreTypeEnum StoreType { get; set; }
/// <summary>
/// 签名
/// </summary>
public string Sign { get; set; }
/// <summary>
/// 消息配置信息
/// </summary>
public string TemplateId { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateDate { get; set; }
}
}
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using Edu.Common.Enum.System;
using VT.FW.DB; using VT.FW.DB;
namespace Edu.Model.Entity.System namespace Edu.Model.Entity.System
...@@ -36,10 +37,10 @@ namespace Edu.Model.Entity.System ...@@ -36,10 +37,10 @@ namespace Edu.Model.Entity.System
public DateTime CreateDate { get; set; } public DateTime CreateDate { get; set; }
/// <summary> /// <summary>
/// 发送状态1-失败,2-成功 /// 发送状态1:等待回执,2:发送失败,3:发送成功。
/// </summary> /// </summary>
public int SendStatus { get; set; } public MsgSendStatusEnum? SendStatus { get; set; }
/// <summary> /// <summary>
...@@ -67,5 +68,17 @@ namespace Edu.Model.Entity.System ...@@ -67,5 +68,17 @@ namespace Edu.Model.Entity.System
/// 接收人电话 /// 接收人电话
/// </summary> /// </summary>
public string ReceiverPhone { get; set; } public string ReceiverPhone { get; set; }
/// <summary>
/// 存储位置,1-腾讯云,2-阿里,3-其他
/// </summary>
public Common.Enum.Public.StoreTypeEnum StoreType { get; set; }
/// <summary>
/// 消息配置信息
/// </summary>
public string MsgConfigure { get; set; }
} }
} }
...@@ -56,6 +56,10 @@ namespace Edu.Model.Public ...@@ -56,6 +56,10 @@ namespace Edu.Model.Public
/// </summary> /// </summary>
public string CustomDomain { get; set; } public string CustomDomain { get; set; }
/// <summary>
/// 上传域名
/// </summary>
public string UploadDomain { get; set; }
/// <summary> /// <summary>
/// 自定义域名 /// 自定义域名
...@@ -65,7 +69,7 @@ namespace Edu.Model.Public ...@@ -65,7 +69,7 @@ namespace Edu.Model.Public
/// 自定义域名 /// 自定义域名
/// </summary> /// </summary>
public string SecretId { get; set; } public string SecretId { get; set; }
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
using Edu.Model.Entity.System;
namespace Edu.Model.ViewModel.System
{
public class RB_Msg_BaseTemplate_ViewModel: RB_Msg_BaseTemplate
{
/// <summary>
/// 创建时间字符串
/// </summary>
public string CreateDateStr
{
get
{
return Common.ConvertHelper.FormatTime(this.CreateDate);
}
}
public string BaseTemplateTypeStr { get; set; }
}
}
...@@ -28,5 +28,8 @@ namespace Edu.Model.ViewModel.System ...@@ -28,5 +28,8 @@ namespace Edu.Model.ViewModel.System
/// </summary> /// </summary>
public string EndDate { get; set; } public string EndDate { get; set; }
public RB_Msg_Base_ViewModel MsgBase { get; set; }
} }
} }
...@@ -9,6 +9,13 @@ ...@@ -9,6 +9,13 @@
<ProjectReference Include="..\Edu.Common\Edu.Common.csproj" /> <ProjectReference Include="..\Edu.Common\Edu.Common.csproj" />
<ProjectReference Include="..\Edu.Model\Edu.Model.csproj" /> <ProjectReference Include="..\Edu.Model\Edu.Model.csproj" />
<ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" /> <ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" />
<ProjectReference Include="..\Edu.ThirdCore\Edu.ThirdCore.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="aliyun-net-sdk-dysmsapi">
<HintPath>..\Edu.ThirdCore\lib\aliyun-net-sdk-dysmsapi.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
</Project> </Project>
This diff is collapsed.
...@@ -7,7 +7,7 @@ using Edu.Model.ViewModel.System; ...@@ -7,7 +7,7 @@ using Edu.Model.ViewModel.System;
namespace Edu.Repository.System namespace Edu.Repository.System
{ {
public class RB_Msg_BaseRepository:BaseRepository<RB_Msg_Base> public class RB_Msg_BaseRepository : BaseRepository<RB_Msg_Base>
{ {
/// <summary> /// <summary>
/// 表名称 /// 表名称
...@@ -22,7 +22,7 @@ namespace Edu.Repository.System ...@@ -22,7 +22,7 @@ namespace Edu.Repository.System
public List<RB_Msg_Base_Function_ViewModel> GetListRepository(RB_Msg_Base_Function_ViewModel query) public List<RB_Msg_Base_Function_ViewModel> GetListRepository(RB_Msg_Base_Function_ViewModel query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} "); builder.Append($" SELECT * FROM {TableName} where Status=0 ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
...@@ -31,9 +31,9 @@ namespace Edu.Repository.System ...@@ -31,9 +31,9 @@ namespace Edu.Repository.System
} }
if (query.StoreType > 0) if (query.StoreType > 0)
{ {
builder.Append($" AND {nameof(RB_Msg_Base.StoreType)}={query.StoreType}"); builder.Append($" AND {nameof(RB_Msg_Base.StoreType)}={(int)query.StoreType}");
} }
} }
return Get<RB_Msg_Base_Function_ViewModel>(builder.ToString()).ToList(); return Get<RB_Msg_Base_Function_ViewModel>(builder.ToString()).ToList();
...@@ -48,7 +48,7 @@ namespace Edu.Repository.System ...@@ -48,7 +48,7 @@ namespace Edu.Repository.System
public List<RB_Msg_Base_Function_ViewModel> GetPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Msg_Base_Function_ViewModel query) public List<RB_Msg_Base_Function_ViewModel> GetPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Msg_Base_Function_ViewModel query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} where 1=1 "); builder.Append($" SELECT * FROM {TableName} where Status=0 ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
...@@ -57,7 +57,7 @@ namespace Edu.Repository.System ...@@ -57,7 +57,7 @@ namespace Edu.Repository.System
} }
if (query.StoreType > 0) if (query.StoreType > 0)
{ {
builder.Append($" AND {nameof(RB_Msg_Base.StoreType)}={query.StoreType}"); builder.Append($" AND {nameof(RB_Msg_Base.StoreType)}={(int)query.StoreType}");
} }
} }
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Edu.Model.Entity.System;
using Edu.Model.ViewModel.System;
namespace Edu.Repository.System
{
/// <summary>
/// 短信模板仓储层
/// </summary>
public class RB_Msg_BaseTemplateRepository : BaseRepository<RB_Msg_BaseTemplate>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_Msg_BaseTemplate); } }
/// <summary>
/// 获取短信模板配置信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Msg_BaseTemplate_ViewModel> GetListRepository(RB_Msg_BaseTemplate_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} where 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.Append($" AND {nameof(RB_Msg_BaseTemplate.Group_Id)}={query.Group_Id}");
}
if (query.StoreType > 0)
{
builder.Append($" AND {nameof(RB_Msg_BaseTemplate.StoreType)}={(int)query.StoreType}");
}
if (query.BaseTemplateType > 0)
{
builder.Append($" AND {nameof(RB_Msg_BaseTemplate.BaseTemplateType)}={(int)query.BaseTemplateType}");
}
}
return Get<RB_Msg_BaseTemplate_ViewModel>(builder.ToString()).ToList();
}
/// <summary>
/// 获取短信模板配置信息
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Msg_BaseTemplate_ViewModel> GetPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Msg_BaseTemplate_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} where 1=1 ");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.Append($" AND {nameof(RB_Msg_BaseTemplate.Group_Id)}={query.Group_Id}");
}
if (query.StoreType > 0)
{
builder.Append($" AND {nameof(RB_Msg_BaseTemplate.StoreType)}={(int)query.StoreType}");
}
if (query.BaseTemplateType > 0)
{
builder.Append($" AND {nameof(RB_Msg_BaseTemplate.BaseTemplateType)}={(int)query.BaseTemplateType}");
}
}
return GetPage<RB_Msg_BaseTemplate_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
...@@ -21,7 +21,7 @@ namespace Edu.Repository.System ...@@ -21,7 +21,7 @@ namespace Edu.Repository.System
public List<RB_Msg_Log> GetListRepository(RB_Msg_Log query) public List<RB_Msg_Log> GetListRepository(RB_Msg_Log query)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.Append($" SELECT * FROM {TableName} "); builder.Append($" SELECT * FROM {TableName} where 1=1 ");
if (query != null) if (query != null)
{ {
if (query.Group_Id > 0) if (query.Group_Id > 0)
...@@ -32,7 +32,7 @@ namespace Edu.Repository.System ...@@ -32,7 +32,7 @@ namespace Edu.Repository.System
{ {
builder.Append($" AND {nameof(RB_Msg_Log.School_Id)}={query.School_Id}"); builder.Append($" AND {nameof(RB_Msg_Log.School_Id)}={query.School_Id}");
} }
if (query.SendStatus > 0) if (query.SendStatus.HasValue&& query.SendStatus > 0)
{ {
builder.Append($" AND {nameof(RB_Msg_Log.SendStatus)}={(int)query.SendStatus}"); builder.Append($" AND {nameof(RB_Msg_Log.SendStatus)}={(int)query.SendStatus}");
} }
...@@ -62,7 +62,7 @@ namespace Edu.Repository.System ...@@ -62,7 +62,7 @@ namespace Edu.Repository.System
builder.Append($" AND {nameof(RB_Msg_Log.School_Id)}={query.School_Id}"); builder.Append($" AND {nameof(RB_Msg_Log.School_Id)}={query.School_Id}");
} }
if (query.SendStatus > 0) if (query.SendStatus.HasValue && query.SendStatus > 0)
{ {
builder.Append($" AND {nameof(RB_Msg_Log.SendStatus)}={(int)query.SendStatus}"); builder.Append($" AND {nameof(RB_Msg_Log.SendStatus)}={(int)query.SendStatus}");
} }
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Folder Include="Oss\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Aliyun.Net.SDK.Core" Version="1.0.3" />
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.10.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
</ItemGroup>
<ItemGroup>
<Reference Include="aliyun-net-sdk-core">
<HintPath>lib\aliyun-net-sdk-core.dll</HintPath>
</Reference>
<Reference Include="aliyun-net-sdk-dysmsapi">
<HintPath>lib\aliyun-net-sdk-dysmsapi.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
This diff is collapsed.
using System.Collections.Generic;
using System.Linq;
using System.Threading;
namespace Edu.ThirdCore.Message
{
/// <summary>
/// 消息队列
/// </summary>
public class QueueHelper
{
/// <summary>
/// 任务队列
/// </summary>
public static Queue<string> Queue = new Queue<string>();
/// <summary>
/// 线程锁
/// </summary>
private static object locker = new object();
/// <summary>
/// 添加消息到队列
/// </summary>
/// <param name="task"></param>
public static void EnqueueTask(string task)
{
lock (locker)
{
//同样的任务,不同时加入
IList<string> tasks = Queue.ToList();
if (tasks.Count(p => p == task) == 0)
{
Queue.Enqueue(task);
Monitor.PulseAll(locker);
}
}
}
}
}

using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Edu.ThirdCore.Message
{
/// <summary>
/// 短信消息
/// </summary>
public class SMSService
{
/// <summary>
/// 发送证码
/// </summary>
/// <param name="phoneNumber">电话号码</param>
/// <param name="code">验证码</param>
public static void SendCode(string phoneNumber, string code, string templateCode, string SignName, string Domain, string AccessKeyId, string AccessKeySecret, string RegionId, string OutId)
{
JObject obj = new JObject();
obj["cmd"] = "sms";
obj["phoneNumber"] = phoneNumber;
obj["templateCode"] = templateCode;
obj["SignName"] = SignName;
obj["Domain"] = Domain;
obj["AccessKeyId"] = AccessKeyId;
obj["AccessKeySecret"] = AccessKeySecret;
obj["RegionId"] = RegionId;
var TemplateParam = new { code = code };
obj["OutId"] = OutId;
obj["templateParam"] = JsonConvert.SerializeObject(TemplateParam);
QueueHelper.EnqueueTask(JsonConvert.SerializeObject(obj));
}
/// <summary>
/// 发送短信通知
/// </summary>
/// <param name="phoneNumber"></param>
/// <param name="content"></param>
/// <param name="templateCode"></param>
public static void SendMsg(string phoneNumber, string content, string templateCode, string SignName, string Domain, string AccessKeyId, string AccessKeySecret, string RegionId, string OutId)
{
JObject obj = new JObject();
obj["cmd"] = "sms";
obj["phoneNumber"] = phoneNumber;
obj["templateCode"] = templateCode;
obj["SignName"] = SignName;
obj["Domain"] = Domain;
obj["AccessKeyId"] = AccessKeyId;
obj["RegionId"] = RegionId;
obj["AccessKeySecret"] = AccessKeySecret;
var TemplateParam = new { content };
obj["OutId"] = OutId;
obj["templateParam"] = JsonConvert.SerializeObject(TemplateParam);
//LogHelper.WriteInfo("发送短信信息");
QueueHelper.EnqueueTask(JsonConvert.SerializeObject(obj));
}
/// <summary>
/// 发送短信通知
/// </summary>
/// <param name="phoneNumber"></param>
/// <param name="templateParam">通知参数</param>
/// <param name="templateCode"></param>
public static void SendMsg(string phoneNumber, object templateParam, string templateCode, string SignName, string Domain, string AccessKeyId, string AccessKeySecret, string RegionId,string OutId)
{
JObject obj = new JObject();
obj["cmd"] = "sms";
obj["phoneNumber"] = phoneNumber;
obj["templateCode"] = templateCode;
var TemplateParam = templateParam;
obj["SignName"] = SignName;
obj["Domain"] = Domain;
obj["RegionId"] = RegionId;
obj["AccessKeyId"] = AccessKeyId;
obj["AccessKeySecret"] = AccessKeySecret;
obj["OutId"] = OutId;
obj["templateParam"] = JsonConvert.SerializeObject(TemplateParam);
QueueHelper.EnqueueTask(JsonConvert.SerializeObject(obj));
}
}
}
...@@ -28,7 +28,7 @@ namespace Edu.WebApi.Controllers.Public ...@@ -28,7 +28,7 @@ namespace Edu.WebApi.Controllers.Public
/// </summary> /// </summary>
private readonly MsgLogModule msgLogModule = new MsgLogModule(); private readonly MsgLogModule msgLogModule = new MsgLogModule();
#region 短信记录信息
/// <summary> /// <summary>
/// 获取短信记录分页列表 /// 获取短信记录分页列表
/// </summary> /// </summary>
...@@ -47,6 +47,18 @@ namespace Edu.WebApi.Controllers.Public ...@@ -47,6 +47,18 @@ namespace Edu.WebApi.Controllers.Public
} }
/// <summary>
/// 获取触发事件枚举
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMsgSendStatusEnumList()
{
var list = EnumHelper.EnumToList(typeof(Common.Enum.System.MsgSendStatusEnum));
return ApiResult.Success("", list);
}
#endregion
#region 短信配置 #region 短信配置
...@@ -71,6 +83,7 @@ namespace Edu.WebApi.Controllers.Public ...@@ -71,6 +83,7 @@ namespace Edu.WebApi.Controllers.Public
} }
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
pageModel.PageData = list; pageModel.PageData = list;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
...@@ -106,13 +119,14 @@ namespace Edu.WebApi.Controllers.Public ...@@ -106,13 +119,14 @@ namespace Edu.WebApi.Controllers.Public
var model = new RB_Msg_Base(); var model = new RB_Msg_Base();
model.CreateDate = DateTime.Now; model.CreateDate = DateTime.Now;
model.CreateBy = UserInfo.Id; model.CreateBy = UserInfo.Id;
model.Group_Id = this.UserInfo.Group_Id; model.Group_Id = base.UserInfo.Group_Id;
model.ID = extModel.ID; model.ID = extModel.ID;
model.StoreType = extModel.StoreType;
if (extModel.MsgBase != null) if (extModel.MsgBase != null)
{ {
model.MsgConfigure = Common.Plugin.JsonHelper.Serialize(extModel.MsgBase); model.MsgConfigure = Common.Plugin.JsonHelper.Serialize(extModel.MsgBase);
} }
bool flag = msgLogModule.SetMsgBaseModule(extModel); bool flag = msgLogModule.SetMsgBaseModule(model);
return flag ? ApiResult.Success() : ApiResult.Failed(); return flag ? ApiResult.Success() : ApiResult.Failed();
} }
...@@ -145,5 +159,153 @@ namespace Edu.WebApi.Controllers.Public ...@@ -145,5 +159,153 @@ namespace Edu.WebApi.Controllers.Public
} }
#endregion #endregion
#region 短信模板配置
/// <summary>
/// 获取触发事件枚举
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetBaseTemplateTypeEnumList()
{
var list = EnumHelper.EnumToList(typeof(Common.Enum.System.BaseTemplateTypeEnum));
return ApiResult.Success("", list);
}
/// <summary>
/// 获取短信模板配置页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMsgBaseTemplatePageList()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = Common.Plugin.JsonHelper.DeserializeObject<RB_Msg_BaseTemplate_ViewModel>(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);
}
/// <summary>
/// 获取短信模板配置列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMsgBaseTemplateList()
{
var query = Common.Plugin.JsonHelper.DeserializeObject<RB_Msg_BaseTemplate_ViewModel>(RequestParm.Msg.ToString());
query.Group_Id = base.UserInfo.Group_Id;
var list = msgLogModule.GetMsgBaseTemplateModule(query);
return ApiResult.Success(data: list);
}
/// <summary>
/// 添加修改短信模板配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetMsgBaseTemplate()
{
var extModel = Common.Plugin.JsonHelper.DeserializeObject<RB_Msg_BaseTemplate_ViewModel>(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();
}
/// <summary>
/// 获取短信模板配置实体
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetMsgBaseTemplate()
{
var ID = base.ParmJObj.GetInt("ID", 0);
var extModel = msgLogModule.GetMsgBaseTemplateModule(ID);
return ApiResult.Success(data: extModel);
}
/// <summary>
/// 删除短信模板配置
/// </summary>
/// <returns></returns>
[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
} }
} }
...@@ -369,8 +369,17 @@ namespace Edu.WebApi.Controllers.Public ...@@ -369,8 +369,17 @@ namespace Edu.WebApi.Controllers.Public
[HttpPost] [HttpPost]
public ApiResult GetStoreTypeEnumList() public ApiResult GetStoreTypeEnumList()
{ {
int type = base.ParmJObj.GetInt("ID", 0);
var list = EnumHelper.EnumToList(typeof(Common.Enum.Public.StoreTypeEnum)); var list = EnumHelper.EnumToList(typeof(Common.Enum.Public.StoreTypeEnum));
return ApiResult.Success("", list); if (type == 1)
{
return ApiResult.Success("", list.Where(x => x.Id != 3));
}
else
{
return ApiResult.Success("", list);
}
} }
/// <summary> /// <summary>
......
using System.Collections.Generic; using System.Collections.Generic;
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
using System.Text.Unicode; using System.Text.Unicode;
using System.Threading.Tasks;
using Edu.ThirdCore.Message;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
...@@ -50,7 +52,7 @@ namespace Edu.WebApi ...@@ -50,7 +52,7 @@ namespace Edu.WebApi
}; };
services.AddCors(options => options.AddPolicy("AllowCors", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(corsArray.ToArray()))); services.AddCors(options => options.AddPolicy("AllowCors", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(corsArray.ToArray())));
} }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime appLifetime) public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime appLifetime)
...@@ -67,7 +69,9 @@ namespace Edu.WebApi ...@@ -67,7 +69,9 @@ namespace Edu.WebApi
app.UseCors("AllowCors"); app.UseCors("AllowCors");
app.UseAuthorization(); app.UseAuthorization();
//启动信息发送
// Task.Run(() => MessageCore.Init());
Task.Run(() => MessageCore.Init());
app.UseEndpoints(endpoints => app.UseEndpoints(endpoints =>
{ {
endpoints.MapControllers(); endpoints.MapControllers();
......
{ {
"ConnectionStrings": { "ConnectionStrings": {
"DefaultConnection": "server=192.168.1.214;user id=reborn;password=Reborn@2018;database=reborn_edu;CharSet=utf8mb4; Convert Zero Datetime=true; ", "DefaultConnection": "server=192.168.1.214;user id=reborn;password=Reborn@2018;database=reborn_edu;CharSet=utf8mb4; Convert Zero Datetime=true; ",
"DefaultConnectionPName": "MySql.Data.MySqlClient" "DefaultConnectionPName": "MySql.Data.MySqlClient"
}, },
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Information", "Default": "Information",
"Microsoft": "Warning", "Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information" "Microsoft.Hosting.Lifetime": "Information"
} }
}, },
"JwtSecretKey": "@VIITTOREBORN*2018", "JwtSecretKey": "@VIITTOREBORN*2018",
"JwtExpirTime": 2592000, "JwtExpirTime": 2592000,
"AllowedHosts": "*", "IsSendMsg": 1,
"OpenValidation": "False", "AllowedHosts": "*",
"UploadSiteUrl": "http://192.168.1.214:8120", "OpenValidation": "False",
"ViewFileSiteUrl": "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com", "UploadSiteUrl": "http://192.168.1.214:8120",
"Mongo": "mongodb://47.96.25.130:27017", "ViewFileSiteUrl": "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com",
"MongoDBName": "Edu", "Mongo": "mongodb://47.96.25.130:27017",
"RabbitMqConfig": { "MongoDBName": "Edu",
"HostName": "47.96.25.130", "RabbitMqConfig": {
"VirtualHost": "/", "HostName": "47.96.25.130",
"Port": 5672, "VirtualHost": "/",
"UserName": "guest", "Port": 5672,
"Password": "viitto2019" "UserName": "guest",
}, "Password": "viitto2019"
"RedisSetting": { },
"RedisServer": "47.96.23.199", "RedisSetting": {
"RedisPort": "6379", "RedisServer": "47.96.23.199",
"RedisPwd": "Viitto2018" "RedisPort": "6379",
}, "RedisPwd": "Viitto2018"
"VirtualDirectory": "WebFile", },
//Ƿϻ "VirtualDirectory": "WebFile",
"IsOnline": false //Ƿϻ
"IsOnline": false
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment