123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using DataTransmission.Enum;
- using SnapshotWinFormsApp.Application.Dtos;
- using SnapshotWinFormsApp.Application.Interfaces;
- using SnapshotWinFormsApp.Entities.NewHotline;
- using SnapshotWinFormsApp.Entities.OldHotline;
- using SnapshotWinFormsApp.Repository;
- using SnapshotWinFormsApp.Repository.Enum;
- using SnapshotWinFormsApp.Repository.Interfaces;
- using SnapshotWinFormsApp.Tools;
- using SqlSugar;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SnapshotWinFormsApp.Application;
- [Description("导入网格员")]
- public class GriderApplication : ImportApplicationBase<Flow03_PushContent, Citizen, int>, IImportApplication
- {
- private readonly IBaseRepository<Citizen> _userRepo;
- public GriderApplication(CreateInstanceInDto inDto) : base(inDto)
- {
- _userRepo = new BaseRepository<Citizen>(inDto);
- }
- public override ISugarQueryable<Flow03_PushContent> GetSourceList()
- {
- return _sourceRepo.Queryable()
- .Where(m => m.MemberMobile != null && m.MemberName != null)
- .GroupBy(m => new { m.MemberName, m.MemberMobile });
- }
- public override async Task<bool> HasOldDataAsync(string tableName, Flow03_PushContent item, CancellationToken token)
- {
- var userId = await _userRepo.Queryable()
- .Where(m => m.PhoneNumber == item.MemberMobile)
- .Select(m => m.Id)
- .FirstAsync(token);
- return userId.IsNullOrEmpty();
- }
- public override async Task<Citizen> GetTargetAsync(Flow03_PushContent source, CancellationToken token)
- {
- var userInfo = new Citizen
- {
- PhoneNumber = source.MemberMobile.Replace("\t", ""),
- Name = source.MemberName.Replace("\t", ""),
- CitizenType = EReadPackUserType.Guider,
- IdentityType = EIdentityType.Citizen
- };
- return await Task.FromResult(userInfo);
- }
- }
|