diff --git a/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ChargeRequests/Hzcy/ChargeRequestPlugInsHzcy.cs b/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ChargeRequests/Hzcy/ChargeRequestPlugInsHzcy.cs index 153c579..dd47240 100644 --- a/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ChargeRequests/Hzcy/ChargeRequestPlugInsHzcy.cs +++ b/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/ChargeRequests/Hzcy/ChargeRequestPlugInsHzcy.cs @@ -238,7 +238,7 @@ namespace Shentun.Peis.PlugIns.Extensions.ChargeRequests.Hzcy } public override Task DoWork() { - var queryDaysStr = InterfaceConfig.GetSection("Scheduler").GetSection("QueryDays").Value; + var queryDaysStr = InterfaceConfig.GetSection("Interface").GetSection("Scheduler").GetSection("QueryDays").Value; if (string.IsNullOrWhiteSpace(queryDaysStr)) { queryDaysStr = "1"; diff --git a/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/ChargeRequestPlugInsHzcyTest.cs b/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/ChargeRequestPlugInsHzcyTest.cs index 7ba217d..82c6cf0 100644 --- a/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/ChargeRequestPlugInsHzcyTest.cs +++ b/ThirdPlugIns/Shentun.Peis.PlugIns.Gem/test/Shentun.Peis.PlugIns.Gem.Test/ChargeRequestPlugInsHzcyTest.cs @@ -27,6 +27,18 @@ namespace Shentun.Peis.PlugIns.Extensions.Test await input.SyncChargeRequestFlagFromInterfaceAsync(new Guid("3a12e00d-7c60-64a8-c02d-1ba915cc601e")); + } + + [Fact] + public async Task DoWork() + { + + + var input = new ChargeRequestPlugInsHzcy(new Guid("1c8cb151-cbc6-4ab5-b50b-0644bf2d515c")); + var loginResult = input.LoginAsync().Result; + await input.DoWork(); + + } } } diff --git a/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs b/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs index 76507f6..15e658c 100644 --- a/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs +++ b/src/Shentun.ColumnReferencePlugIns/ChargeRequests/ChargeRequestPlugInsBase.cs @@ -166,58 +166,61 @@ where patient.id = patient_register.patient_id and { using (DbConnection conn = new NpgsqlConnection(AppConnctionStr)) { - var trans = conn.BeginTransaction(); - try + await conn.OpenAsync(); + + using (var trans = await conn.BeginTransactionAsync()) { - //加ConcurrencyStamp,以防止并发 - string sql; - sql = @" update charge_request set charge_request_flag =" + chargeRequestFlag + - @" where id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp - "; - await conn.ExecuteAsync(sql, - new - { - chargeRequestForPlugIns.ChargeRequestId, - chargeRequestForPlugIns.ConcurrencyStamp - }, trans); - - foreach (var chargeRequestAsbitem in chargeRequestForPlugIns.Asbitems) + try { - if (chargeRequestFlag == ChargeRequestFlag.AlreadyCharge) + string sql; + sql = @" update charge_request set charge_request_flag =" + chargeRequestFlag + + @" where id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp + "; + await conn.ExecuteAsync(sql, + new + { + chargeRequestForPlugIns.ChargeRequestId, + chargeRequestForPlugIns.ConcurrencyStamp + }, trans); + + foreach (var chargeRequestAsbitem in chargeRequestForPlugIns.Asbitems) { - sql = @" update register_check_asbitem set is_charge = 'Y' + if (chargeRequestFlag == ChargeRequestFlag.AlreadyCharge) + { + sql = @" update register_check_asbitem set is_charge = 'Y' where charge_request_id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp "; - await conn.ExecuteAsync(sql, - new - { - chargeRequestForPlugIns.ChargeRequestId, - chargeRequestAsbitem.ConcurrencyStamp - }, trans); - } - else if (chargeRequestFlag == ChargeRequestFlag.AlreadyRefund) - { - sql = @" update register_check_asbitem set is_charge = 'N' + await conn.ExecuteAsync(sql, + new + { + chargeRequestForPlugIns.ChargeRequestId, + chargeRequestAsbitem.ConcurrencyStamp + }, trans); + } + else if (chargeRequestFlag == ChargeRequestFlag.AlreadyRefund) + { + sql = @" update register_check_asbitem set is_charge = 'N' where charge_request_id = @ChargeRequestId and concurrency_stamp = @ConcurrencyStamp "; - await conn.ExecuteAsync(sql, - new - { - chargeRequestForPlugIns.ChargeRequestId, - chargeRequestAsbitem.ConcurrencyStamp - }, trans); + await conn.ExecuteAsync(sql, + new + { + chargeRequestForPlugIns.ChargeRequestId, + chargeRequestAsbitem.ConcurrencyStamp + }, trans); + } } - } - trans.Commit(); - } - catch (Exception ex) - { - trans.Rollback(); - throw ex; + await trans.CommitAsync(); + } + catch (Exception ex) + { + await trans.RollbackAsync(); + throw ex; + } + } - } }