merge from smsReportApi

This commit is contained in:
gozareshgir
2026-01-29 15:29:19 +03:30
17 changed files with 673 additions and 61 deletions

View File

@@ -1,4 +1,7 @@
using _0_Framework.Application.Sms;
using _0_Framework.Application;
using _0_Framework.Application.Enums;
using _0_Framework.Application.Sms;
using CompanyManagment.App.Contracts.InstitutionContract;
using CompanyManagment.App.Contracts.SmsResult;
using CompanyManagment.App.Contracts.SmsResult.Dto;
using Microsoft.AspNetCore.Mvc;
@@ -9,12 +12,14 @@ namespace ServiceHost.Areas.Admin.Controllers;
public class SmsReportController : AdminBaseController
{
private readonly ISmsResultApplication _smsResultApplication;
private readonly ISmsSettingApplication _smsSettingApplication;
private readonly ISmsService _smsService;
public SmsReportController(ISmsResultApplication smsResultApplication, ISmsService smsService)
public SmsReportController(ISmsResultApplication smsResultApplication, ISmsService smsService, ISmsSettingApplication smsSettingApplication)
{
_smsResultApplication = smsResultApplication;
_smsService = smsService;
_smsSettingApplication = smsSettingApplication;
}
/// <summary>
@@ -35,11 +40,25 @@ public class SmsReportController : AdminBaseController
/// </summary>
/// <param name="searchModel"></param>
/// <param name="date"></param>
/// <param name="typeOfSmsSetting"></param>
/// <returns></returns>
[HttpGet("GetExpandedList")]
public async Task<List<SmsReportListDto>> GetSmsReportExpandList(SmsReportSearchModel searchModel, string date)
public async Task<List<SmsReportListDto>> GetSmsReportExpandList(SmsReportSearchModel searchModel, string date, string typeOfSmsSetting)
{
var result =await _smsResultApplication.GetSmsReportExpandList(searchModel, date);
var result =await _smsResultApplication.GetSmsReportExpandList(searchModel, date, typeOfSmsSetting);
return result;
}
/// <summary>
/// دریافت جزئیات پیامک
/// </summary>
/// <param name="messId"></param>
/// <param name="fullName"></param>
/// <returns></returns>
[HttpGet("GetSmsDetails")]
public async Task<SmsDetailsDto> GetSmsDetails(int messId, string fullName)
{
var result =await _smsService.GetSmsDetailsByMessageId(messId, fullName);
return result;
}
@@ -56,4 +75,206 @@ public class SmsReportController : AdminBaseController
return result;
}
//تنظیمات پیامک خودکار
#region SmsSettings
/// <summary>
/// لیست تنظیمات پیامک - یادآور
/// </summary>
/// <returns></returns>
[HttpGet("ReminderSmsSettingList")]
public async Task<List<SmsSettingDto>> ReminderSmsSettingList()
{
var result = await _smsSettingApplication.GetSmsSettingList(TypeOfSmsSetting.InstitutionContractDebtReminder);
return result;
}
/// <summary>
/// لیست تنظیمات پیامک - مسدودی
/// </summary>
/// <returns></returns>
[HttpGet("BlockSmsSettingList")]
public async Task<List<SmsSettingDto>> BlockSmsSettingList()
{
var result = await _smsSettingApplication.GetSmsSettingList(TypeOfSmsSetting.BlockContractingParty);
return result;
}
/// <summary>
/// لیست تنظیمات پیامک - هشدار قضایی
/// </summary>
/// <returns></returns>
[HttpGet("WarningSmsSettingList")]
public async Task<List<SmsSettingDto>> WarningSmsSettingList()
{
var result = await _smsSettingApplication.GetSmsSettingList(TypeOfSmsSetting.Warning);
return result;
}
/// <summary>
/// لیست تنظیمات پیامک - اقدام قضایی
/// </summary>
/// <returns></returns>
[HttpGet("LegalActionSmsSettingList")]
public async Task<List<SmsSettingDto>> LegalActionSmsSettingList()
{
var result = await _smsSettingApplication.GetSmsSettingList(TypeOfSmsSetting.LegalAction);
return result;
}
/// <summary>
/// لیست تنظیمات پیامک - تایید قراداد مالی
/// </summary>
/// <returns></returns>
[HttpGet("ContractConfirmSmsSettingList")]
public async Task<List<SmsSettingDto>> ContractConfirmSmsSettingList()
{
var result = await _smsSettingApplication.GetSmsSettingList(TypeOfSmsSetting.InstitutionContractConfirm);
return result;
}
//=====================Create=========================
/// <summary>
/// ایجاد پیامک یادآور
/// </summary>
/// <returns></returns>
[HttpPost("CreateReminderSmsSetting")]
public async Task<ActionResult<OperationResult>> CreateReminderSmsSetting([FromBody] CreateSmsSettingDto command)
{
var result = await _smsSettingApplication.CreateSmsSetting(command.DayOfMonth, command.TimeOfDayDisplay, TypeOfSmsSetting.InstitutionContractDebtReminder);
return result;
}
/// <summary>
/// ایجاد پیامک مسدودی
/// </summary>
/// <returns></returns>
[HttpPost("CreateBlockSmsSetting")]
public async Task<ActionResult<OperationResult>> CreateBlockSmsSetting([FromBody] CreateSmsSettingDto command)
{
var result = await _smsSettingApplication.CreateSmsSetting(command.DayOfMonth, command.TimeOfDayDisplay, TypeOfSmsSetting.BlockContractingParty);
return result;
}
/// <summary>
/// ایجاد پیامک هشدار قضایی
/// </summary>
/// <returns></returns>
[HttpPost("CreateWarningSmsSetting")]
public async Task<ActionResult<OperationResult>> CreateWarningSmsSetting([FromBody] CreateSmsSettingDto command)
{
var result = await _smsSettingApplication.CreateSmsSetting(command.DayOfMonth, command.TimeOfDayDisplay, TypeOfSmsSetting.Warning);
return result;
}
/// <summary>
/// ایجاد پیامک اقدام قضایی
/// </summary>
/// <returns></returns>
[HttpPost("CreateLegalActionSmsSetting")]
public async Task<ActionResult<OperationResult>> CreateLegalActionSmsSetting([FromBody] CreateSmsSettingDto command)
{
var result = await _smsSettingApplication.CreateSmsSetting(command.DayOfMonth, command.TimeOfDayDisplay, TypeOfSmsSetting.LegalAction);
return result;
}
/// <summary>
/// ایجاد پیامک تایید قرارداد مالی
/// </summary>
/// <returns></returns>
[HttpPost("CreateContractConfirmSmsSetting")]
public async Task<ActionResult<OperationResult>> CreateContractConfirmSmsSetting([FromBody] CreateSmsSettingDto command)
{
var result = await _smsSettingApplication.CreateSmsSetting(command.DayOfMonth, command.TimeOfDayDisplay, TypeOfSmsSetting.InstitutionContractConfirm);
return result;
}
//=====================Edit=========================
/// <summary>
/// دریافت اطلاعات ویرایش تنظیمات پیامک
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("GetEditData")]
public async Task<SmsSettingDto> GetEditData(long id)
{
return await _smsSettingApplication.GetSmsSettingDataToEdit(id);
}
/// <summary>
/// ویرایش تنظیمات پیامک
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
[HttpPut("EditSmsSetting")]
public async Task<ActionResult<OperationResult>> EditSmsSetting([FromBody] SmsSettingDto command)
{
var result =await _smsSettingApplication.EditSmsSetting(command);
return result;
}
//=====================Remove=========================
/// <summary>
/// حذف تنظیمات پیامک
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete]
public async Task RemoveSmsSetting(long id)
{
await _smsSettingApplication.RemoveSetting(id);
}
/// <summary>
/// دریافت لیست ارسال آنی یادآور
/// </summary>
/// <returns></returns>
[HttpGet("GetInstantReminderSmsListData")]
public async Task<List<InstantReminderSendSms>> GetInstantReminderSmsListData()
{
var result =await _smsSettingApplication.GetInstantReminderSmsListData(TypeOfSmsSetting.InstitutionContractDebtReminder);
return result;
}
/// <summary>
/// دریافت لیست ارسال آنی مسدودی
/// </summary>
/// <returns></returns>
[HttpGet("GetInstantBlockSmsListData")]
public async Task<List<InstantReminderSendSms>> GetInstantBlockSmsListData()
{
var result = await _smsSettingApplication.GetInstantReminderSmsListData(TypeOfSmsSetting.BlockContractingParty);
return result;
}
/// <summary>
/// ارسال پیامک آنی یادآور
/// </summary>
/// <param name="phoneNumbers"></param>
/// <returns></returns>
[HttpPost("InstantReminderSmsSend")]
public async Task<ActionResult<OperationResult>> InstantReminderSmsSend([FromBody] List<string> phoneNumbers)
{
var result = await _smsSettingApplication.InstantSmsSendApi(TypeOfSmsSetting.InstitutionContractDebtReminder, phoneNumbers);
return result;
}
/// <summary>
/// ارسال پیامک آنی مسدودی
/// </summary>
/// <param name="phoneNumbers"></param>
/// <returns></returns>
[HttpPost("InstantBlockSmsSend")]
public async Task<ActionResult<OperationResult>> InstantBlockSmsSend([FromBody] List<string> phoneNumbers)
{
var result = await _smsSettingApplication.InstantSmsSendApi(TypeOfSmsSetting.BlockContractingParty, phoneNumbers);
return result;
}
#endregion
}