using AutoMapper.Execution; using OASystem.Domain.Dtos.System; using OASystem.Domain.ViewModels; using OASystem.Domain.ViewModels.CRM; using Org.BouncyCastle.Asn1.Ocsp; using Org.BouncyCastle.Asn1.X9; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using static Google.Protobuf.Reflection.SourceCodeInfo.Types; namespace OASystem.Domain.Dtos.CRM { public class NewClientDataQueryDto:DtoBase { public int OperationUserId { get; set; } /// <summary> /// 联系人 /// </summary> public string Contact { get; set; } /// <summary> /// 地区 /// </summary> public string Location { get; set; } /// <summary> /// 单位 /// </summary> public string Client { get; set; } /// <summary> /// 负责人 /// </summary> public string Userid { get; set; } /// <summary> /// 客户级别(地市州) /// </summary> public int Lvlid { get; set; } /// <summary> /// 业务分类 /// </summary> public string Business { get; set; } /// <summary> /// 省域 /// </summary> public int Range { get; set; } /// <summary> /// 客户类别 /// </summary> public int Category { get; set; } } public class NewClientDataExcelDownloadDto : NewClientDataQueryDto { public int PageId { get; set; } } public class NewClientDataRecordInitDto : UserPageFuncDtoBase { } public class NewClientDataRecordDto : UserPageFuncDtoBase { public int PageIndex { get; set; } = 1; public int PageSize { get; set; } = 10; /// <summary> /// 操作类型 全部不传值、多个逗号隔开 /// NoOperation, List, Details, Add, Edit, Del, Audit, Upload, Download, BatchAssignment, Login /// </summary> public string OpTypeLabel { get; set; } /// <summary> /// 操作用户 userId=21 时传值 /// 全部不传值、多个逗号隔开 /// 21, 22, 23 /// </summary> public string OpUserLabel { get; set; } public string BeginTime { get; set; } public string EndTime { get; set; } } public class NewClientOpDto:PortDtoBase { /// <summary> /// 操作状态 /// 1 添加 /// 2 修改 /// </summary> public int Status { get; set; } /// <summary> /// 编号 /// </summary> public int Id { get; set; } /// <summary> /// 序号 /// </summary> public int Number { get; set; } /// <summary> /// 地市州Id /// </summary> public int Lvlid { get; set; } /// <summary> /// 客户单位 /// </summary> public string Client { get; set; } /// <summary> /// 权重 /// </summary> public string Weight { get; set; } /// <summary> /// 客户单位简写 /// </summary> public string Clientshort { get; set; } /// <summary> /// 联系人 /// </summary> public string Contact { get; set; } /// <summary> /// 联系人性别 /// </summary> public int Gender { get; set; } /// <summary> /// 护照 /// </summary> public string Passport { get; set; } /// <summary> /// 护照日期 /// </summary> public DateTime PassportDate { get; set; } /// <summary> /// 职位 /// </summary> public string Job { get; set; } /// <summary> /// 联系手机号 /// </summary> public string Telephone { get; set; } /// <summary> /// 联系座机号 /// </summary> public string Phone { get; set; } /// <summary> /// 邮件 /// </summary> public string Email { get; set; } /// <summary> /// 所属区域(所在城市) /// </summary> public string Location { get; set; } /// <summary> /// 地址 /// </summary> public string Address { get; set; } /// <summary> /// 生日 /// </summary> public string Birthday { get; set; } /// <summary> /// 其他信息 /// </summary> public string Otherinfo { get; set; } /// <summary> /// 微信 /// </summary> public string Wechat { get; set; } /// <summary> /// 分类 /// </summary> public int Category { get; set; } /// <summary> /// 预计出团 /// </summary> public int Predele { get; set; } /// <summary> /// 已出团 /// </summary> public int FinlishedDele { get; set; } /// <summary> /// 创建者Id /// </summary> public int CreateUserId { get; set; } /// <summary> /// 备注 /// </summary> public string Remark { get; set; } /// <summary> /// 负责人 /// </summary> public List<int> AscribedUser { get; set; } /// <summary> /// 业务归属 /// </summary> public List<int> AscribedDepartment { get; set; } } /// <summary> /// 详情 Dto /// </summary> public class NewClientDataDetailsDto:PortDtoBase { public int UserId { get; set; } public int Id { get; set; } } /// <summary> /// 批量指派 /// </summary> public class BatchAssignmentDto : PortDtoBase { public int UserId { get; set; } /// <summary> /// 客户资料表Id集合 /// </summary> public List<int>? ClientDataIdItem { get; set; } /// <summary> /// 用户Id集合 /// </summary> public List<int>? UserIdItem { get; set; } } public class MarketCustomerInitDto : PortDtoBase { public int UserId { get; set;} } public class QueryClientTypeDto { public List<int> SetDataIdArr { get; set; } } public class MCRLvSettingDto { public List<int> SetDataIdArr { get; set; } } public class RemakeComparer : IComparer { public int Compare(object x, object y) { // 使用反射获取remake属性的值 PropertyInfo xProperty = x.GetType().GetProperty("Remark"); PropertyInfo yProperty = y.GetType().GetProperty("Remark"); if (xProperty == null || yProperty == null) { throw new ArgumentException("Both objects must have a 'remake' property."); } string xRemake = xProperty.GetValue(x, null) as string; string yRemake = yProperty.GetValue(y, null) as string; // 使用TryParse安全地将字符串转换为整数 bool xIsInt = int.TryParse(xRemake, out int xValue); bool yIsInt = int.TryParse(yRemake, out int yValue); // 如果x是整数而y不是,则x应该排在y前面 if (xIsInt && !yIsInt) return -1; // 如果y是整数而x不是,则x应该排在后面 else if (!xIsInt && yIsInt) return 1; // 如果x和y都是整数,则比较它们的值 else if (xIsInt && yIsInt) return xValue.CompareTo(yValue); // 如果x和y都不是整数,则认为它们相等 else return 0; } } }