|
@@ -10,8 +10,10 @@ using Hotline.Share.Dtos.Push.FWMessage;
|
|
using Hotline.Share.Enums.Push;
|
|
using Hotline.Share.Enums.Push;
|
|
using Hotline.Share.Mq;
|
|
using Hotline.Share.Mq;
|
|
using Hotline.Share.Tools;
|
|
using Hotline.Share.Tools;
|
|
|
|
+using Hotline.Tools;
|
|
using Hotline.Users;
|
|
using Hotline.Users;
|
|
using J2N.Text;
|
|
using J2N.Text;
|
|
|
|
+using JiebaNet.Segmenter.Common;
|
|
using MapsterMapper;
|
|
using MapsterMapper;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
@@ -131,14 +133,23 @@ namespace Hotline.Api.Controllers
|
|
[HttpPost("send")]
|
|
[HttpPost("send")]
|
|
public async Task<string> SendMessage([FromBody] MessageInDto dto)
|
|
public async Task<string> SendMessage([FromBody] MessageInDto dto)
|
|
{
|
|
{
|
|
- var telNumbers = dto.TelNumbers.Split(",");
|
|
|
|
|
|
+ dto.ValidateObject();
|
|
|
|
+ if (dto.TelNumbers == null && dto.UserIds == null)
|
|
|
|
+ throw UserFriendlyException.SameMessage("电话号码和用户Id不能同时为空");
|
|
|
|
+ var telNumbers = new List<Kv>();
|
|
|
|
+ if (dto.TelNumbers.NotNullOrEmpty())
|
|
|
|
+ telNumbers = dto.TelNumbers.Split(",").Select(m => new Kv(m, m)).ToList();
|
|
|
|
+ if (dto.UserIds.IsNotEmpty())
|
|
|
|
+ telNumbers = await _userRepository.Queryable()
|
|
|
|
+ .Where(m => dto.UserIds.Contains(m.Id))
|
|
|
|
+ .Select(m => new Kv { Key = m.PhoneNo, Value = m.Name })
|
|
|
|
+ .ToListAsync();
|
|
var count = 0;
|
|
var count = 0;
|
|
var errorSB = new StringBuilder("失败原因: ");
|
|
var errorSB = new StringBuilder("失败原因: ");
|
|
var errorCount = 0;
|
|
var errorCount = 0;
|
|
- for (int i = 0;i < telNumbers.Length;i++)
|
|
|
|
|
|
+ foreach (var telNumber in telNumbers)
|
|
{
|
|
{
|
|
- var telNumber = telNumbers[i];
|
|
|
|
- if (telNumber.IsPhoneNumber() == false)
|
|
|
|
|
|
+ if (telNumber.Key.IsPhoneNumber() == false)
|
|
{
|
|
{
|
|
errorCount++;
|
|
errorCount++;
|
|
errorSB.Append($" {telNumber}不是合法的手机号码.");
|
|
errorSB.Append($" {telNumber}不是合法的手机号码.");
|
|
@@ -147,10 +158,10 @@ namespace Hotline.Api.Controllers
|
|
|
|
|
|
var inDto = new MessageDto
|
|
var inDto = new MessageDto
|
|
{
|
|
{
|
|
- TelNumber = telNumber,
|
|
|
|
|
|
+ TelNumber = telNumber.Key,
|
|
Content = dto.Content,
|
|
Content = dto.Content,
|
|
PushBusiness = EPushBusiness.ManualSms,
|
|
PushBusiness = EPushBusiness.ManualSms,
|
|
- Name = "",
|
|
|
|
|
|
+ Name = telNumber.Value,
|
|
};
|
|
};
|
|
try
|
|
try
|
|
{
|
|
{
|