|
@@ -130,40 +130,49 @@ public class PushDomainService : IPushDomainService, IScopeDependency
|
|
|
/// <returns></returns>
|
|
|
public async Task PushMsgUpdateStateAsync(PushReceiveMessageDto dto, CancellationToken cancellation)
|
|
|
{
|
|
|
- var data = await _messageRepository.GetAsync(p => p.Id == dto.ExternalId, cancellation);
|
|
|
- if (data != null)
|
|
|
+ if (dto.Type != "2")
|
|
|
{
|
|
|
- if (dto.Type == "0")
|
|
|
+ var data = await _messageRepository.GetAsync(p => p.Id == dto.ExternalId, cancellation);
|
|
|
+ if (data != null)
|
|
|
{
|
|
|
- if (dto.SendState == ESendState.Sending)
|
|
|
+ if (dto.Type == "0")
|
|
|
{
|
|
|
- data.SmsWaitSendingId = dto.SmsWaitSendingId;
|
|
|
- data.SendState = ESendState.Sending;
|
|
|
- data.Status = EPushStatus.Success;
|
|
|
+ if (dto.SendState == ESendState.Sending)
|
|
|
+ {
|
|
|
+ data.SmsWaitSendingId = dto.SmsWaitSendingId;
|
|
|
+ data.SendState = ESendState.Sending;
|
|
|
+ data.Status = EPushStatus.Success;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ data.Status = EPushStatus.Failed;
|
|
|
}
|
|
|
- else
|
|
|
- data.Status = EPushStatus.Failed;
|
|
|
- }
|
|
|
- else if (dto.Type == "1")
|
|
|
- {
|
|
|
- data.SendTime = Convert.ToDateTime(dto.SendTime);
|
|
|
- data.SendState = dto.SendState;
|
|
|
- data.MsgCount = dto.MsgCount;
|
|
|
- data.SmsSendingCompletedId = dto.SmsSendingCompletedId;
|
|
|
- }
|
|
|
- else if (dto.Type == "2")
|
|
|
- {
|
|
|
- data.IsSmsReply = dto.IsSmsReply;
|
|
|
- data.SmsReplyTime = Convert.ToDateTime(dto.SmsReplyTime);
|
|
|
- data.SmsReplyContent = dto.SmsReplyContent;
|
|
|
+ else if (dto.Type == "1")
|
|
|
+ {
|
|
|
+ data.SendTime = Convert.ToDateTime(dto.SendTime);
|
|
|
+ data.SendState = dto.SendState;
|
|
|
+ data.MsgCount = dto.MsgCount;
|
|
|
+ data.SmsSendingCompletedId = dto.SmsSendingCompletedId;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- data.Reason = dto.Reason;
|
|
|
- await _messageRepository.UpdateAsync(data, cancellation);
|
|
|
+ }
|
|
|
+ else if (dto.Type == "2")
|
|
|
+ {
|
|
|
+ var messData = await _messageRepository.Queryable()
|
|
|
+ .Where(p => p.TelNumber == dto.TelNumber && (p.PushBusiness == EPushBusiness.VisitSms || p.PushBusiness == EPushBusiness.SearchSms)
|
|
|
+ && p.IsSmsReply == false)
|
|
|
+ .OrderBy(p => p.CreationTime)
|
|
|
+ .FirstAsync();
|
|
|
+ messData.IsSmsReply = dto.IsSmsReply;
|
|
|
+ messData.SmsReplyTime = Convert.ToDateTime(dto.SmsReplyTime);
|
|
|
+ messData.SmsReplyContent = dto.SmsReplyContent;
|
|
|
+ await _messageRepository.UpdateAsync(messData, cancellation);
|
|
|
|
|
|
- var notify = data.Adapt<ReceiveMessageNotify>();
|
|
|
+ var notify = messData.Adapt<ReceiveMessageNotify>();
|
|
|
notify.NotifyDto.Type = dto.Type;
|
|
|
await _publisher.PublishAsync(notify, PublishStrategy.ParallelNoWait, cancellation);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -190,5 +199,5 @@ public class PushDomainService : IPushDomainService, IScopeDependency
|
|
|
await _messageRepository.UpdateAsync(data, cancellation);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|