using CommonUtil;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using CommonUtil;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using CommonUtil.RabbitMQ;
|
using Microsoft.AspNetCore.Http.Extensions;
|
|
namespace Api.MessageReceive.Controllers
|
{
|
[Route(TopConstants.API_ROUTE)]
|
[ApiController]
|
public class SmsBackController : ControllerBase
|
{
|
private readonly IHttpContextAccessor _httpContextAccessor;
|
|
public SmsBackController(IHttpContextAccessor httpContextAccessor)
|
{
|
_httpContextAccessor = httpContextAccessor;
|
}
|
public IActionResult BackMessage([FromQuery] string msgid, string status, string mobile, string content, string xh)
|
{
|
var url= UriHelper.GetDisplayUrl(HttpContext.Request);
|
var request= _httpContextAccessor.HttpContext.Request;
|
var url1 = $"{request.Scheme}://{request.Host}{request.Path}{request.QueryString}";
|
LogUtil.Info($"url完整链接:{url}");
|
LogUtil.Info($"{msgid}:{status}:{mobile}:{content}:{xh}:{url}:{url1}", "短信回执消息记录");
|
if (msgid.IsNullOrEmpty())
|
{
|
return Ok("ok");
|
}
|
if (status.IsNullOrEmpty())
|
{//上行,直接推送mq:{mobile:****,content:*****}
|
LogUtil.Info($"{mobile}:{content}:{xh}", "客通短信回复");
|
string mqMsg = "{\"msgid\":\""+msgid+"\",\"mobile\":\"" + mobile + "\",\"content\":\""+content+"\",\"status\":\"\",\"desc_state\":\"\"}";
|
string ret = MQClientFullChannel.SendMessageStatic(0, "yys", mqMsg);
|
if (ret != "ok")
|
{
|
LogUtil.Info($"发MQ失败:{mqMsg}", "mq发送失败");
|
}
|
}
|
else
|
{
|
string restatus = status.Equals("1") ? "1" : "2";
|
string desc_state = status.Equals("1") ? "DELIVRD" : status;
|
if (restatus != "1")
|
{//这里用mq推送,格式{mobile:**,status:******}
|
string mqMsg = "{\"msgid\":\"" + msgid + "\",\"mobile\":\"" + mobile + "\",\"status\":\"" + restatus + "\",\"desc_state\":\"" + desc_state + "\"}";
|
string ret = MQClientFullChannel.SendMessageStatic(0, "yys", mqMsg);
|
if (ret != "ok")
|
{
|
LogUtil.Info($"发MQ失败:{mqMsg}", "mq发送失败");
|
}
|
}
|
LogUtil.Info($"{mobile}:{status}", "状态");
|
}
|
return Ok("ok");
|
}
|
}
|
}
|