diff --git a/Service/Cloud/Client/MyTask/ChargeOrderUploadTask.cs b/Service/Cloud/Client/MyTask/ChargeOrderUploadTask.cs new file mode 100644 index 0000000..0d55097 --- /dev/null +++ b/Service/Cloud/Client/MyTask/ChargeOrderUploadTask.cs @@ -0,0 +1,45 @@ +using Entity.DbModel.Station; +using HybirdFrameworkCore.Autofac.Attribute; +using log4net; +using Repository.Station; +using Service.BusinessTask; + +namespace Service.Cloud.Client.MyTask; + +[Scope("SingleInstance")] +public class ChargeOrderUploadTask : AbstractTaskHandler +{ + private static readonly ILog Log = LogManager.GetLogger(typeof(ChargeOrderUploadTask)); + + private readonly ChargeOrderRepository _chargeOrderRepository; + + public ChargeOrderUploadTask(ChargeOrderRepository chargeOrderRepository) + { + _chargeOrderRepository = chargeOrderRepository; + } + + protected override int Interval() + { + return 1000 * 10; + } + + protected override void Handle() + { + List? chargeOrders = _chargeOrderRepository.QueryListByClause(it => it.CloudReportStatus != 1); + + Log.Info($"there are {chargeOrders?.Count ?? 0} to upload"); + if (chargeOrders is { Count: > 0 }) + { + foreach (ChargeOrder chargeOrder in chargeOrders) + { + //TODO + //CloudClientMgr.CloudClient?.Publish(); + } + } + } + + protected override string Name() + { + return "ChargeOrderUploadTask"; + } +} \ No newline at end of file