You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
3.0 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. using Dapper;
  2. using Microsoft.Extensions.Configuration;
  3. using Npgsql;
  4. using Shentun.Utilities;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Data.Common;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace Shentun.Peis.PlugIns
  12. {
  13. public class ThirdPlugInsBase: PlugInsBase
  14. {
  15. public ThirdPlugInsBase(string parmValue):base(parmValue)
  16. {
  17. }
  18. public async Task<List<ColumnReferenceInterfaceCodeValue>> GetColumnReferenceInterfaceCodeValuesAsync(Guid columnReferenceId,
  19. string appCodeValue)
  20. {
  21. using (DbConnection conn = new NpgsqlConnection(AppConnctionStr))
  22. {
  23. string sql;
  24. sql = @"
  25. SELECT
  26. column_reference_interface.interface_code_value
  27. from column_reference
  28. join column_reference_code on column_reference.id = column_reference_code.column_reference_id
  29. join column_reference_interface on column_reference_code.id = column_reference_interface.column_reference_code_id
  30. where column_reference.id = @ColumnReferenceId and
  31. column_reference_code.code_value = @CodeValue
  32. ";
  33. var columnReferenceInterfaceCodeValues = (await conn.QueryAsync<ColumnReferenceInterfaceCodeValue>(sql,
  34. new { ColumnReferenceId = columnReferenceId, CodeValue =appCodeValue })).ToList();
  35. return columnReferenceInterfaceCodeValues;
  36. }
  37. }
  38. public async Task<List<ColumnReferenceCodeValue>> GetColumnReferenceCodeValuesAsync(Guid columnReferenceId,
  39. string interfaceCodeValue)
  40. {
  41. if(string.IsNullOrWhiteSpace(interfaceCodeValue))
  42. {
  43. throw new Exception("第三方编码不能为空");
  44. }
  45. interfaceCodeValue = interfaceCodeValue.Trim();
  46. using (DbConnection conn = new NpgsqlConnection(AppConnctionStr))
  47. {
  48. string sql;
  49. sql = @"
  50. SELECT
  51. column_reference_code.code_value
  52. from column_reference
  53. join column_reference_code on column_reference.id = column_reference_code.column_reference_id
  54. join column_reference_interface on column_reference_code.id = column_reference_interface.column_reference_code_id
  55. where column_reference.id = @ColumnReferenceId and
  56. column_reference_interface.interface_code_value = @InterfaceCodeValue
  57. ";
  58. var columnReferenceCodeValues = (await conn.QueryAsync<ColumnReferenceCodeValue>(sql,
  59. new { ColumnReferenceId = columnReferenceId, InterfaceCodeValue = interfaceCodeValue })).ToList();
  60. //if(columnReferenceCodeValues.Count == 0)
  61. //{
  62. // throw new Exception($"{interfaceCodeValue}没有找到对照");
  63. //}
  64. return columnReferenceCodeValues;
  65. }
  66. }
  67. }
  68. }