Commit c069f1c2 authored by Hoang Viet Dung's avatar Hoang Viet Dung 🏃

...

parent f1ef6b07
......@@ -65,13 +65,13 @@ async Task ProcessByDay(DateTime date, AnalyticViewService analyticViewService,
//push into Mongo
if (isMakeNewData)
{
await audienceObjectService.AddMany(audienceObjects);
await audienceObjectService.InsertManyAsync(audienceObjects);
}
else
{
foreach (var audienceObject in audienceObjects)
{
await audienceObjectService.SaveUpdate(audienceObject);
await audienceObjectService.UpdateOrInsertOneAsync(audienceObject);
}
}
totalAddToMongoByTimeline += audienceObjects.Count;
......
......@@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<History>True|2022-09-26T11:24:36.0454585Z;True|2022-09-26T18:24:03.1448588+07:00;True|2022-09-26T18:16:31.5544749+07:00;True|2022-09-26T18:15:02.4832791+07:00;True|2022-09-26T16:40:05.2917765+07:00;True|2022-09-26T16:32:33.3711265+07:00;True|2022-09-26T16:20:03.6242054+07:00;True|2022-09-26T16:18:06.2414658+07:00;</History>
<History>True|2022-09-29T03:22:10.4938256Z;True|2022-09-26T18:24:36.0454585+07:00;True|2022-09-26T18:24:03.1448588+07:00;True|2022-09-26T18:16:31.5544749+07:00;True|2022-09-26T18:15:02.4832791+07:00;True|2022-09-26T16:40:05.2917765+07:00;True|2022-09-26T16:32:33.3711265+07:00;True|2022-09-26T16:20:03.6242054+07:00;True|2022-09-26T16:18:06.2414658+07:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
\ No newline at end of file
# MigrageAudienceHash
Mục đích:
#Mục đích:
- Đồng bộ dữ liệu từ bảng analytic_view của Postgres sang audienceObject của Mongo.
- Đồng bộ theo ngày, nhóm dữ liệu theo: place, campaign, pageCode, audienceHash.
......
......@@ -26,24 +26,20 @@ namespace MigrageAudienceHash.Service
return results;
}
public async Task SaveUpdate(AudienceObject audienceObject)
public async Task UpdateOrInsertOneAsync(AudienceObject audienceObject)
{
var id = (await _context.AudienceObject.Find(x =>
x.timeline == audienceObject.timeline &&
x.placeId == audienceObject.placeId &&
x.campaignId == audienceObject.campaignId &&
x.pageCode == audienceObject.pageCode &&
x.audienceHash == audienceObject.audienceHash).FirstOrDefaultAsync())?._id;
if (id != null)
var update = Builders<AudienceObject>.Update.AddToSetEach(x => x.audiencies, audienceObject.audiencies);
var item = await _context.AudienceObject.FindOneAndUpdateAsync(x =>
x.timeline == audienceObject.timeline &&
x.audienceHash == audienceObject.audienceHash &&
x.placeId == audienceObject.placeId &&
x.campaignId == audienceObject.campaignId , update);
if (item == null)
{
var update = Builders<AudienceObject>.Update.AddToSetEach(x => x.audiencies, audienceObject.audiencies);
await _context.AudienceObject.UpdateOneAsync(x => x._id == id, update);
}
else
await _context.AudienceObject.InsertOneAsync(audienceObject);
}
}
public async Task AddMany(List<AudienceObject> audienceObjects)
public async Task InsertManyAsync(List<AudienceObject> audienceObjects)
{
await _context.AudienceObject.InsertManyAsync(audienceObjects);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment