Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
data-center-auto
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bltdc
data-center-auto
Commits
45e4a4b0
Commit
45e4a4b0
authored
Apr 26, 2023
by
lizefeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
2be956a6
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
68 additions
and
2 deletions
+68
-2
AmazonDataSynchroService.cs
AutoTurnOver.Services/AmazonDataSynchroService.cs
+12
-2
CsvFileHelper.cs
AutoTurnOver.Utility/CsvFileHelper.cs
+56
-0
No files found.
AutoTurnOver.Services/AmazonDataSynchroService.cs
View file @
45e4a4b0
...
...
@@ -831,6 +831,14 @@ namespace AutoTurnOver.Services
try
{
var
pamsAccount
=
ApiServices
.
GetAmazonAccountList
().
FirstOrDefault
(
s
=>
s
.
Id
==
ana_task
.
pams_account_id
);
DataTable
table
=
null
;
if
(!
string
.
IsNullOrWhiteSpace
(
ana_task
.
content
))
{
table
=
CsvFileHelper
.
StringReadFromCSV
(
ana_task
.
content
,
true
,
'\t'
);
}
else
{
var
filePath
=
DownloadReportData
(
pamsAccount
,
ana_task
.
report_id
);
StringBuilder
response_str
=
new
StringBuilder
()
{
};
using
(
StreamReader
sr
=
new
StreamReader
(
filePath
.
ReportDocumentId
))
...
...
@@ -842,7 +850,9 @@ namespace AutoTurnOver.Services
string
jsonText
=
response_str
.
ToString
();
ana_task
.
content
=
jsonText
;
var
table
=
CsvFileHelper
.
ReadFromCSV
(
filePath
.
ReportDocumentId
,
true
,
'\t'
);
table
=
CsvFileHelper
.
ReadFromCSV
(
filePath
.
ReportDocumentId
,
true
,
'\t'
);
}
foreach
(
DataRow
row
in
table
.
Rows
)
{
try
...
...
@@ -855,7 +865,7 @@ namespace AutoTurnOver.Services
fee_type
=
"月度仓储费"
,
account
=
pamsAccount
.
Account
,
asin
=
row
.
DataRowToString
(
"asin"
),
report_end_date
=
filePath
.
DataEndTime
??
new
DateTime
(
1991
,
1
,
1
)
report_end_date
=
ana_task
.
etime
.
Value
};
storageFee
.
fee
=
row
.
DataRowToNumber
(
"estimated_monthly_storage_fee"
)
??
0
;
storageFee
.
_date
=
DateTime
.
Parse
(
row
.
DataRowToString
(
"month_of_charge"
));
...
...
AutoTurnOver.Utility/CsvFileHelper.cs
View file @
45e4a4b0
...
...
@@ -67,6 +67,62 @@ namespace AutoTurnOver.Utility
}
/// <summary>
/// 将CSV文件中内容读取到DataTable中
/// </summary>
/// <param name="path">CSV文件路径</param>
/// <param name="hasTitle">是否将CSV文件的第一行读取为DataTable的列名</param>
/// <returns></returns>
public
static
DataTable
StringReadFromCSV
(
string
content
,
bool
hasTitle
=
false
,
char
separator
=
','
)
{
DataTable
dt
=
new
DataTable
();
//要输出的数据表
StringReader
sr
=
new
StringReader
(
content
);
//文件读入流
bool
bFirst
=
true
;
//指示是否第一次读取数据
//逐行读取
string
line
;
while
((
line
=
sr
.
ReadLine
())
!=
null
)
{
string
[]
elements
=
line
.
Replace
(
"\""
,
""
).
Split
(
separator
);
//第一次读取数据时,要创建数据列
if
(
bFirst
)
{
for
(
int
i
=
0
;
i
<
elements
.
Length
;
i
++)
{
dt
.
Columns
.
Add
();
}
bFirst
=
false
;
}
//有标题行时,第一行当做标题行处理
if
(
hasTitle
)
{
for
(
int
i
=
0
;
i
<
dt
.
Columns
.
Count
&&
i
<
elements
.
Length
;
i
++)
{
dt
.
Columns
[
i
].
ColumnName
=
elements
[
i
];
}
hasTitle
=
false
;
}
else
//读取一行数据
{
if
(
elements
.
Length
==
dt
.
Columns
.
Count
)
{
dt
.
Rows
.
Add
(
elements
);
}
else
{
//throw new Exception("CSV格式错误:表格各行列数不一致");
}
}
}
sr
.
Close
();
return
dt
;
}
/// <summary>
/// 将DataTable中数据写入到CSV文件中
/// </summary>
/// <param name="dt">提供保存数据的DataTable</param>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment