using Fuel.Core.Nozzle.Dto; using FuelServer.Core.Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Transactions; using static FreeSql.Internal.GlobalFilter; namespace Fuel.Application.Service { public class NozzleService : INozzleService { private readonly EntityHelper _entityHelper; public NozzleService(EntityHelper entityHelper) { _entityHelper = entityHelper; } /// /// 上传油枪 /// /// /// public async Task uploadNozzle(UploadNozzle uploadNozzle) { //RedisHelper.HSetAsync("Transaction", "11:22:33:44", "3232"); //RedisHelper.SetAsync("33:22:33:44", "qweqweqwe", 3600); // var fsdds = RedisHelper.GetAsync("33:22:33:44"); //var das = RedisHelper.ExpireAsync("33:22:33:44", 10); Guid guid = Guid.Parse("12345678-9abc-def0-1234-56789abcdef0");//站点id,先默认填这个 if (uploadNozzle.type == 1) { var isproduct = await _entityHelper.GetEntitiesAsync(_ => _.Buid == guid && _.ProductName == uploadNozzle.ProductName); var istanks = await _entityHelper.GetEntitiesAsync(_ => _.Buid == guid && _.TankNumber == uploadNozzle.TankNumber); var isnozzle = await _entityHelper.GetEntitiesAsync(_ => _.Buid == guid && _.ExternalGunNumber == uploadNozzle.ExternalGunNumber); if (isproduct.Count > 0 || istanks.Count > 0 || isnozzle.Count > 0) { return false; } product product = new product(); product.ProductPrice = uploadNozzle.ProductPrice; product.ProductName = uploadNozzle.ProductName; product.ProductCode = uploadNozzle.ProductCode; product.Buid = guid; var productid = await _entityHelper.InsertEntityAsync(product); tanks tanks = new tanks(); tanks.Buid = guid; tanks.TankNumber = uploadNozzle.TankNumber; tanks.TankCapacity = uploadNozzle.TankCapacity; tanks.ProductId = productid.Id; tanks.ProductName = uploadNozzle.ProductName; var tanksid = await _entityHelper.InsertEntityAsync(tanks); nozzle nozzle = new nozzle(); nozzle.Buid = guid; nozzle.PumpId = uploadNozzle.PumpID; nozzle.TankId = tanksid.Id; nozzle.InternalGunNumber = uploadNozzle.InternalGunNumber; nozzle.ExternalGunNumber = uploadNozzle.ExternalGunNumber; nozzle.ProductID = productid.Id; await _entityHelper.InsertEntityAsync(nozzle); } else if (uploadNozzle.type == 2) { } else if (uploadNozzle.type == 3) { } return true; } public async Task> GetNozzleInfo(int Nozzleid) { Guid guid = Guid.Parse("12345678-9abc-def0-1234-56789abcdef0"); return _entityHelper._fsql.Select() .LeftJoin((a, b, c) => a.TankId == b.Id) .LeftJoin((a, b, c) => a.ProductID == c.Id) .Where((a, b, c) => a.Buid == guid && a.ExternalGunNumber == Nozzleid) .ToList((a, b, c) => new NozzleInfo() { Nozzleid = a.ExternalGunNumber, ProductName = c.ProductName, ProductPrice = c.ProductPrice, Status = a.Status, TankNumber = b.TankNumber }); } } }