6 changed files with 392 additions and 0 deletions
-
86src/Shentun.Sms.Application.Contracts/SmsTasks/CreateSmsTaskDto.cs
-
88src/Shentun.Sms.Application.Contracts/SmsTasks/SmsTaskDto.cs
-
86src/Shentun.Sms.Application.Contracts/SmsTasks/UpdateSmsTaskDto.cs
-
131src/Shentun.Sms.Application/SmsTasks/SmsTaskAppService.cs
-
0src/Shentun.Sms.Application/SmsTypes/SmsTypeAppService.cs
-
1src/Shentun.Sms.HttpApi.Host/SmsHttpApiHostModule.cs
@ -0,0 +1,86 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace Shentun.Sms.SmsTasks |
|||
{ |
|||
public class CreateSmsTaskDto |
|||
{ |
|||
/// <summary>
|
|||
/// 短信类别ID
|
|||
/// </summary>
|
|||
public Guid SmsTypeId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 人员ID
|
|||
/// </summary>
|
|||
public string PersonId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 姓名
|
|||
/// </summary>
|
|||
public string PersonName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 手机号国家代码
|
|||
/// </summary>
|
|||
public string CountryCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 手机号
|
|||
/// </summary>
|
|||
public string MobileTelephone { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 短信内容
|
|||
/// </summary>
|
|||
public string Content { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 应用ID
|
|||
/// </summary>
|
|||
public Guid SmsAppId { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 第三方系统唯一ID
|
|||
/// </summary>
|
|||
public string? ThirdId { get; set; } |
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 任务周期类别
|
|||
/// </summary>
|
|||
public char TaskCycleType { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 任务表达式
|
|||
/// </summary>
|
|||
public string? TaskCorn { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 停止执行时间
|
|||
/// </summary>
|
|||
public DateTime? StopTime { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 是否启用
|
|||
/// </summary>
|
|||
public char IsActive { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 发送者用户ID
|
|||
/// </summary>
|
|||
public string? SenderId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 发送者用户名
|
|||
/// </summary>
|
|||
public string? SenderName { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,88 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.ComponentModel.DataAnnotations.Schema; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using System.Text; |
|||
|
|||
namespace Shentun.Sms.SmsTasks |
|||
{ |
|||
public class SmsTaskDto : AuditedEntityGuidDtoName |
|||
{ |
|||
/// <summary>
|
|||
/// 短信类别ID
|
|||
/// </summary>
|
|||
public Guid SmsTypeId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 人员ID
|
|||
/// </summary>
|
|||
public string PersonId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 姓名
|
|||
/// </summary>
|
|||
public string PersonName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 手机号国家代码
|
|||
/// </summary>
|
|||
public string CountryCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 手机号
|
|||
/// </summary>
|
|||
public string MobileTelephone { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 短信内容
|
|||
/// </summary>
|
|||
public string Content { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 应用ID
|
|||
/// </summary>
|
|||
public Guid SmsAppId { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 第三方系统唯一ID
|
|||
/// </summary>
|
|||
public string? ThirdId { get; set; } |
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 任务周期类别
|
|||
/// </summary>
|
|||
public char TaskCycleType { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 任务表达式
|
|||
/// </summary>
|
|||
public string? TaskCorn { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 停止执行时间
|
|||
/// </summary>
|
|||
public DateTime? StopTime { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 是否启用
|
|||
/// </summary>
|
|||
public char IsActive { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 发送者用户ID
|
|||
/// </summary>
|
|||
public string? SenderId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 发送者用户名
|
|||
/// </summary>
|
|||
public string? SenderName { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,86 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
|
|||
namespace Shentun.Sms.SmsTasks |
|||
{ |
|||
public class UpdateSmsTaskDto |
|||
{ |
|||
/// <summary>
|
|||
/// 短信类别ID
|
|||
/// </summary>
|
|||
public Guid SmsTypeId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 人员ID
|
|||
/// </summary>
|
|||
public string PersonId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 姓名
|
|||
/// </summary>
|
|||
public string PersonName { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 手机号国家代码
|
|||
/// </summary>
|
|||
public string CountryCode { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 手机号
|
|||
/// </summary>
|
|||
public string MobileTelephone { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 短信内容
|
|||
/// </summary>
|
|||
public string Content { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 应用ID
|
|||
/// </summary>
|
|||
public Guid SmsAppId { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 第三方系统唯一ID
|
|||
/// </summary>
|
|||
public string? ThirdId { get; set; } |
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 任务周期类别
|
|||
/// </summary>
|
|||
public char TaskCycleType { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 任务表达式
|
|||
/// </summary>
|
|||
public string? TaskCorn { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 停止执行时间
|
|||
/// </summary>
|
|||
public DateTime? StopTime { get; set; } |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 是否启用
|
|||
/// </summary>
|
|||
public char IsActive { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 发送者用户ID
|
|||
/// </summary>
|
|||
public string? SenderId { get; set; } |
|||
|
|||
/// <summary>
|
|||
/// 发送者用户名
|
|||
/// </summary>
|
|||
public string? SenderName { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,131 @@ |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Shentun.Sms.SmsTasks; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Services; |
|||
using Volo.Abp.Domain.Repositories; |
|||
using Volo.Abp.Identity; |
|||
|
|||
namespace Shentun.Sms.SmsTasks |
|||
{ |
|||
/// <summary>
|
|||
/// 短信任务计划
|
|||
/// </summary>
|
|||
public class SmsTaskAppService : ApplicationService |
|||
{ |
|||
private readonly IRepository<SmsTask, Guid> _smsTaskRepository; |
|||
private readonly IRepository<IdentityUser, Guid> _userRepository; |
|||
private readonly SmsTaskManager _smsTaskManager; |
|||
|
|||
public SmsTaskAppService( |
|||
SmsTaskManager smsTaskManager, |
|||
IRepository<SmsTask, Guid> smsTaskRepository, |
|||
IRepository<IdentityUser, Guid> userRepository |
|||
) |
|||
{ |
|||
_smsTaskManager = smsTaskManager; |
|||
_smsTaskRepository = smsTaskRepository; |
|||
_userRepository = userRepository; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 获取应用对象
|
|||
/// </summary>
|
|||
/// <param name="id"></param>
|
|||
/// <returns></returns>
|
|||
[HttpGet("api/app/sms_task/get")] |
|||
public async Task<SmsTaskDto> GetAsync(Guid id) |
|||
{ |
|||
var userList = await _userRepository.GetListAsync(); |
|||
var entity = await _smsTaskRepository.GetAsync(id); |
|||
var entityDto = ObjectMapper.Map<SmsTask, SmsTaskDto>(entity); |
|||
entityDto.CreatorName = EntityHelper.GetUserName(userList, entityDto.CreatorId.Value); |
|||
entityDto.LastModifierName = EntityHelper.GetUserName(userList, entityDto.LastModifierId.Value); |
|||
return entityDto; |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
/// <summary>
|
|||
/// 创建
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/sms_task/create")] |
|||
public async Task CreateAsync(CreateSmsTaskDto input) |
|||
{ |
|||
DataHelper.CheckEntityIsNull(input, "", "参数有误"); |
|||
|
|||
var entity = new SmsTask(GuidGenerator.Create()) |
|||
{ |
|||
Content = input.Content, |
|||
CountryCode = input.CountryCode, |
|||
IsActive = input.IsActive, |
|||
MobileTelephone = input.MobileTelephone, |
|||
PersonId = input.PersonId, |
|||
PersonName = input.PersonName, |
|||
SenderId = input.SenderId, |
|||
SenderName = input.SenderName, |
|||
SmsAppId = input.SmsAppId, |
|||
SmsTypeId = input.SmsTypeId, |
|||
StopTime = input.StopTime, |
|||
TaskCorn = input.TaskCorn, |
|||
TaskCycleType = input.TaskCycleType, |
|||
ThirdId = input.ThirdId |
|||
}; |
|||
|
|||
entity = _smsTaskManager.CreateAsync(entity); |
|||
|
|||
await _smsTaskRepository.InsertAsync(entity); |
|||
|
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 修改
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/sms_task/update")] |
|||
public async Task UpdateAsync(Guid id, UpdateSmsTaskDto input) |
|||
{ |
|||
DataHelper.CheckEntityIsNull(input, "", "参数有误"); |
|||
|
|||
var entity = await _smsTaskRepository.GetAsync(id); |
|||
var sourceEntity = new SmsTask(GuidGenerator.Create()) |
|||
{ |
|||
Content = input.Content, |
|||
CountryCode = input.CountryCode, |
|||
IsActive = input.IsActive, |
|||
MobileTelephone = input.MobileTelephone, |
|||
PersonId = input.PersonId, |
|||
PersonName = input.PersonName, |
|||
SenderId = input.SenderId, |
|||
SenderName = input.SenderName, |
|||
SmsAppId = input.SmsAppId, |
|||
SmsTypeId = input.SmsTypeId, |
|||
StopTime = input.StopTime, |
|||
TaskCorn = input.TaskCorn, |
|||
TaskCycleType = input.TaskCycleType, |
|||
ThirdId = input.ThirdId |
|||
}; |
|||
|
|||
_smsTaskManager.UpdateAsync(sourceEntity, entity); |
|||
|
|||
await _smsTaskRepository.UpdateAsync(entity); |
|||
|
|||
|
|||
} |
|||
|
|||
/// <summary>
|
|||
/// 删除
|
|||
/// </summary>
|
|||
/// <returns></returns>
|
|||
[HttpPost("api/app/sms_task/delete")] |
|||
public async Task DeleteAsync(Guid id) |
|||
{ |
|||
await _smsTaskManager.CheckIsDeleteAsync(id); |
|||
} |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue