Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

156 linhas
6.7KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using System.Linq;
  6. using MySql.Data.MySqlClient;
  7. namespace CSVDownloader.Store.CreditCSVData {
  8. class CreditCSVDataGMO : CreditCSVData {
  9. public String customer_code = "";
  10. public String output_datetime = "";
  11. public String processing_code = "";
  12. public String operation_code = "";
  13. public String return_code = "";
  14. public String device_no = "";
  15. public String target_company_code = "";
  16. public String target_company_sub_code = "";
  17. public String device_trade_no = "";
  18. public DateTime processing_date = DateTime.Today;
  19. public String approval_no = "";
  20. public int amount = 0;
  21. public int tax_send_amount = 0;
  22. public String customer_name = "";
  23. public String shop_name = "";
  24. public String cancel_receipt_no = "";
  25. public String split_count_info = "";
  26. public String paying_type = "";
  27. public enum ColName {
  28. SpotID = 100,
  29. CustomerCode = 0,
  30. OutputDatetime,
  31. ProcessingCode,
  32. OperationCode,
  33. ReturnCode,
  34. DeviceNo,
  35. TargetCompanyCode,
  36. TargetCompanySubCode,
  37. DeviceTradeNo,
  38. ProcessingDate,
  39. ApprovalNo,
  40. Amount,
  41. TaxSendAmount,
  42. CustomerName,
  43. ShopName,
  44. CancelReceiptNo,
  45. SplitCountInfo,
  46. PayingType,
  47. UpdDate,
  48. UpdStaff,
  49. RegDate,
  50. RegStaff,
  51. };
  52. }
  53. class CreditCSVDataGMOStore : CreditCSVDataStore {
  54. private static readonly String table_name_ = "creditcard_download_data_gmo";
  55. private String delete_sql_ = $"delete from {table_name_} where " +
  56. $"{CreditCSVDataGMO.ColName.ProcessingDate} between " +
  57. $"@From{CreditCSVDataGMO.ColName.ProcessingDate} and " +
  58. $"@To{CreditCSVDataGMO.ColName.ProcessingDate};";
  59. public CreditCSVDataGMOStore(MySqlConnection conn) : base(conn) {
  60. }
  61. public override void Save(List<CreditCSVData> list) {
  62. Code.ResultCode ret;
  63. var table = new DataTable();
  64. table.Columns.Add(CreditCSVDataGMO.ColName.SpotID.ToString());
  65. table.Columns.Add(CreditCSVDataGMO.ColName.CustomerCode.ToString());
  66. table.Columns.Add(CreditCSVDataGMO.ColName.OutputDatetime.ToString());
  67. table.Columns.Add(CreditCSVDataGMO.ColName.ProcessingCode.ToString());
  68. table.Columns.Add(CreditCSVDataGMO.ColName.OperationCode.ToString());
  69. table.Columns.Add(CreditCSVDataGMO.ColName.ReturnCode.ToString());
  70. table.Columns.Add(CreditCSVDataGMO.ColName.DeviceNo.ToString());
  71. table.Columns.Add(CreditCSVDataGMO.ColName.TargetCompanyCode.ToString());
  72. table.Columns.Add(CreditCSVDataGMO.ColName.TargetCompanySubCode.ToString());
  73. table.Columns.Add(CreditCSVDataGMO.ColName.DeviceTradeNo.ToString());
  74. table.Columns.Add(CreditCSVDataGMO.ColName.ProcessingDate.ToString());
  75. table.Columns.Add(CreditCSVDataGMO.ColName.ApprovalNo.ToString());
  76. table.Columns.Add(CreditCSVDataGMO.ColName.Amount.ToString());
  77. table.Columns.Add(CreditCSVDataGMO.ColName.TaxSendAmount.ToString());
  78. table.Columns.Add(CreditCSVDataGMO.ColName.CustomerName.ToString());
  79. table.Columns.Add(CreditCSVDataGMO.ColName.ShopName.ToString());
  80. table.Columns.Add(CreditCSVDataGMO.ColName.CancelReceiptNo.ToString());
  81. table.Columns.Add(CreditCSVDataGMO.ColName.SplitCountInfo.ToString());
  82. table.Columns.Add(CreditCSVDataGMO.ColName.PayingType.ToString());
  83. table.Columns.Add(CreditCSVDataGMO.ColName.UpdStaff.ToString());
  84. table.Columns.Add(CreditCSVDataGMO.ColName.RegStaff.ToString());
  85. foreach (CreditCSVDataGMO data in list) {
  86. var row = table.NewRow();
  87. row[CreditCSVDataGMO.ColName.SpotID.ToString()] = data.spot_id;
  88. row[CreditCSVDataGMO.ColName.CustomerCode.ToString()] = data.customer_code;
  89. row[CreditCSVDataGMO.ColName.OutputDatetime.ToString()] = data.output_datetime;
  90. row[CreditCSVDataGMO.ColName.ProcessingCode.ToString()] = data.processing_code;
  91. row[CreditCSVDataGMO.ColName.OperationCode.ToString()] = data.operation_code;
  92. row[CreditCSVDataGMO.ColName.ReturnCode.ToString()] = data.return_code;
  93. row[CreditCSVDataGMO.ColName.DeviceNo.ToString()] = data.device_no;
  94. row[CreditCSVDataGMO.ColName.TargetCompanyCode.ToString()] = data.target_company_code;
  95. row[CreditCSVDataGMO.ColName.TargetCompanySubCode.ToString()] = data.target_company_sub_code;
  96. row[CreditCSVDataGMO.ColName.DeviceTradeNo.ToString()] = data.device_trade_no;
  97. row[CreditCSVDataGMO.ColName.ProcessingDate.ToString()] = data.processing_date;
  98. row[CreditCSVDataGMO.ColName.ApprovalNo.ToString()] = data.approval_no;
  99. row[CreditCSVDataGMO.ColName.Amount.ToString()] = data.amount;
  100. row[CreditCSVDataGMO.ColName.TaxSendAmount.ToString()] = data.tax_send_amount;
  101. row[CreditCSVDataGMO.ColName.CustomerName.ToString()] = data.customer_name;
  102. row[CreditCSVDataGMO.ColName.ShopName.ToString()] = data.shop_name;
  103. row[CreditCSVDataGMO.ColName.CancelReceiptNo.ToString()] = data.cancel_receipt_no;
  104. row[CreditCSVDataGMO.ColName.SplitCountInfo.ToString()] = data.split_count_info;
  105. row[CreditCSVDataGMO.ColName.PayingType.ToString()] = data.paying_type;
  106. row[CreditCSVDataGMO.ColName.UpdStaff.ToString()] = data.upd_staff;
  107. row[CreditCSVDataGMO.ColName.RegStaff.ToString()] = data.reg_staff;
  108. table.Rows.Add(row);
  109. }
  110. ret = BulkInsertData(table_name_, table);
  111. if (ret != Code.ResultCode.OK) {
  112. throw new Exception("登録失敗 GMOクレジット");
  113. }
  114. }
  115. public override int Delete(DateTime from, DateTime to) {
  116. var bindlist = new List<(String, object)> {
  117. ("From"+CreditCSVDataGMO.ColName.ProcessingDate.ToString(), from.ToString("yyyy-MM-dd")),
  118. ("To"+CreditCSVDataGMO.ColName.ProcessingDate.ToString(), to.AddDays(1).ToString("yyyy-MM-dd"))
  119. };
  120. var delete_count = DeleteData(delete_sql_, bindlist);
  121. if (delete_count == -1) {
  122. throw new Exception("削除失敗 GMOクレジット");
  123. }
  124. return delete_count;
  125. }
  126. }
  127. }