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, ...@@ -65,13 +65,13 @@ async Task ProcessByDay(DateTime date, AnalyticViewService analyticViewService,
//push into Mongo //push into Mongo
if (isMakeNewData) if (isMakeNewData)
{ {
await audienceObjectService.AddMany(audienceObjects); await audienceObjectService.InsertManyAsync(audienceObjects);
} }
else else
{ {
foreach (var audienceObject in audienceObjects) foreach (var audienceObject in audienceObjects)
{ {
await audienceObjectService.SaveUpdate(audienceObject); await audienceObjectService.UpdateOrInsertOneAsync(audienceObject);
} }
} }
totalAddToMongoByTimeline += audienceObjects.Count; totalAddToMongoByTimeline += audienceObjects.Count;
......
...@@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. ...@@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
--> -->
<Project> <Project>
<PropertyGroup> <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 /> <LastFailureDetails />
</PropertyGroup> </PropertyGroup>
</Project> </Project>
\ No newline at end of file
# MigrageAudienceHash # 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ộ 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. - Đồng bộ theo ngày, nhóm dữ liệu theo: place, campaign, pageCode, audienceHash.
......
...@@ -26,24 +26,20 @@ namespace MigrageAudienceHash.Service ...@@ -26,24 +26,20 @@ namespace MigrageAudienceHash.Service
return results; return results;
} }
public async Task SaveUpdate(AudienceObject audienceObject) public async Task UpdateOrInsertOneAsync(AudienceObject audienceObject)
{ {
var id = (await _context.AudienceObject.Find(x => var update = Builders<AudienceObject>.Update.AddToSetEach(x => x.audiencies, audienceObject.audiencies);
var item = await _context.AudienceObject.FindOneAndUpdateAsync(x =>
x.timeline == audienceObject.timeline && x.timeline == audienceObject.timeline &&
x.audienceHash == audienceObject.audienceHash &&
x.placeId == audienceObject.placeId && x.placeId == audienceObject.placeId &&
x.campaignId == audienceObject.campaignId && x.campaignId == audienceObject.campaignId , update);
x.pageCode == audienceObject.pageCode && if (item == null)
x.audienceHash == audienceObject.audienceHash).FirstOrDefaultAsync())?._id;
if (id != 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); await _context.AudienceObject.InsertOneAsync(audienceObject);
} }
public async Task AddMany(List<AudienceObject> audienceObjects) }
public async Task InsertManyAsync(List<AudienceObject> audienceObjects)
{ {
await _context.AudienceObject.InsertManyAsync(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