using System.Text;
using System.Text.RegularExpressions;
using System.ComponentModel.DataAnnotations;
using System.Collections.Concurrent;
using System.Security.Cryptography;
using System.Text.Json;
using System.Net.Http.Json;
using ReZero.DependencyInjection;
using Newtonsoft.Json.Linq;
using Microsoft.Extensions.Logging;
using System.Threading.Tasks;
using medical.transfomer.business;
namespace medical.insu.transfomer
{
///
/// 定义InsuranceRequest类,用于替代缺失的引用
///
public class InsuranceRequest
{
public string MsgId { get; set; } = string.Empty;
public string MdtrtareaAdmvs { get; set; } = string.Empty;
public string RecerSysCode { get; set; } = string.Empty;
public string Infver { get; set; } = string.Empty;
public int OpterType { get; set; }
public string Opter { get; set; } = string.Empty;
public string OpterName { get; set; } = string.Empty;
public DateTime InfTime { get; set; }
public string FixmedinsCode { get; set; } = string.Empty;
public string FixmedinsName { get; set; } = string.Empty;
public string Input { get; set; } = string.Empty;
public string InsuplcAdmdvs { get; set; } = string.Empty;
public string Signtype { get; set; } = string.Empty;
public string Infno { get; set; } = string.Empty;
}
///
/// 定义ResponseHeader类,用于替代缺失的引用
///
public class ResponseHeader
{
public string Version { get; set; } = string.Empty;
public string SenderCode { get; set; } = string.Empty;
public string ReceiverCode { get; set; } = string.Empty;
public string MsgId { get; set; } = string.Empty;
public string InfTime { get; set; } = string.Empty;
public string ResultCode { get; set; } = string.Empty;
public string ResultMsg { get; set; } = string.Empty;
public string SignatureAlgorithm { get; set; } = string.Empty;
public string EncryptionAlgorithm { get; set; } = string.Empty;
}
///
/// 定义Response类,用于替代缺失的引用
///
public class Response
{
public ResponseHeader Header { get; set; } = new ResponseHeader();
public string Body { get; set; } = string.Empty;
public string Signature { get; set; } = string.Empty;
}
///
/// 业务服务接口
///
public interface IInsuranceBusinessService
{
object Execute(InsuranceRequest request);
}
public class MedicalInsuranceService: IScopeContract
{
private readonly ConcurrentDictionary _serviceCache = new();
private readonly TransformerFactory _transformerFactory;
private readonly ILogger _logger;
public MedicalInsuranceService(
TransformerFactory transformerFactory,
ILogger logger)
{
_transformerFactory = transformerFactory;
_logger = logger;
}
///
/// 处理医保交易请求
///
/// 操作类型
/// 交易数据
/// 处理结果
public async Task