NewClientDataQueryDto.cs 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. using AutoMapper.Execution;
  2. using OASystem.Domain.Dtos.System;
  3. using OASystem.Domain.ViewModels;
  4. using OASystem.Domain.ViewModels.CRM;
  5. using Org.BouncyCastle.Asn1.Ocsp;
  6. using Org.BouncyCastle.Asn1.X9;
  7. using System;
  8. using System.Collections;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Reflection;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. using static Google.Protobuf.Reflection.SourceCodeInfo.Types;
  15. namespace OASystem.Domain.Dtos.CRM
  16. {
  17. public class NewClientDataQueryDto : DtoBase
  18. {
  19. public int OperationUserId { get; set; }
  20. /// <summary>
  21. /// 联系人
  22. /// </summary>
  23. public string Contact { get; set; }
  24. /// <summary>
  25. /// 地区
  26. /// </summary>
  27. public string Location { get; set; }
  28. /// <summary>
  29. /// 单位
  30. /// </summary>
  31. public string Client { get; set; }
  32. /// <summary>
  33. /// 负责人
  34. /// </summary>
  35. public string Userid { get; set; }
  36. /// <summary>
  37. /// 客户级别(地市州)
  38. /// </summary>
  39. public int Lvlid { get; set; }
  40. /// <summary>
  41. /// 业务分类
  42. /// </summary>
  43. public string Business { get; set; }
  44. /// <summary>
  45. /// 省域
  46. /// </summary>
  47. public int Range { get; set; }
  48. /// <summary>
  49. /// 客户类别
  50. /// </summary>
  51. public int Category { get; set; }
  52. }
  53. public class NewClientDataExcelDownloadDto : NewClientDataQueryDto
  54. {
  55. public int PageId { get; set; }
  56. }
  57. public class NewClientDataRecordInitDto : UserPageFuncDtoBase
  58. { }
  59. public class NewClientDataRecordDto : UserPageFuncDtoBase
  60. {
  61. public int PageIndex { get; set; } = 1;
  62. public int PageSize { get; set; } = 10;
  63. /// <summary>
  64. /// 操作类型 全部不传值、多个逗号隔开
  65. /// NoOperation, List, Details, Add, Edit, Del, Audit, Upload, Download, BatchAssignment, Login
  66. /// </summary>
  67. public string OpTypeLabel { get; set; }
  68. /// <summary>
  69. /// 操作用户 userId=21 时传值
  70. /// 全部不传值、多个逗号隔开
  71. /// 21, 22, 23
  72. /// </summary>
  73. public string OpUserLabel { get; set; }
  74. public string BeginTime { get; set; }
  75. public string EndTime { get; set; }
  76. }
  77. public class CloneUserClientDto
  78. {
  79. public int UserId { get; set; }
  80. public int ToUserId { get; set; }
  81. }
  82. public class NewClientOpDto : PortDtoBase
  83. {
  84. /// <summary>
  85. /// 操作状态
  86. /// 1 添加
  87. /// 2 修改
  88. /// </summary>
  89. public int Status { get; set; }
  90. /// <summary>
  91. /// 编号
  92. /// </summary>
  93. public int Id { get; set; }
  94. /// <summary>
  95. /// 序号
  96. /// </summary>
  97. public int Number { get; set; }
  98. /// <summary>
  99. /// 地市州Id
  100. /// </summary>
  101. public int Lvlid { get; set; }
  102. /// <summary>
  103. /// 客户单位
  104. /// </summary>
  105. public string Client { get; set; }
  106. /// <summary>
  107. /// 权重
  108. /// </summary>
  109. public string Weight { get; set; }
  110. /// <summary>
  111. /// 客户单位简写
  112. /// </summary>
  113. public string Clientshort { get; set; }
  114. /// <summary>
  115. /// 联系人
  116. /// </summary>
  117. public string Contact { get; set; }
  118. /// <summary>
  119. /// 联系人性别
  120. /// </summary>
  121. public int Gender { get; set; }
  122. /// <summary>
  123. /// 护照
  124. /// </summary>
  125. public string Passport { get; set; }
  126. /// <summary>
  127. /// 护照日期
  128. /// </summary>
  129. public DateTime PassportDate { get; set; }
  130. /// <summary>
  131. /// 职位
  132. /// </summary>
  133. public string Job { get; set; }
  134. /// <summary>
  135. /// 联系手机号
  136. /// </summary>
  137. public string Telephone { get; set; }
  138. /// <summary>
  139. /// 联系座机号
  140. /// </summary>
  141. public string Phone { get; set; }
  142. /// <summary>
  143. /// 邮件
  144. /// </summary>
  145. public string Email { get; set; }
  146. /// <summary>
  147. /// 所属区域(所在城市)
  148. /// </summary>
  149. public string Location { get; set; }
  150. /// <summary>
  151. /// 地址
  152. /// </summary>
  153. public string Address { get; set; }
  154. /// <summary>
  155. /// 生日
  156. /// </summary>
  157. public string Birthday { get; set; }
  158. /// <summary>
  159. /// 其他信息
  160. /// </summary>
  161. public string Otherinfo { get; set; }
  162. /// <summary>
  163. /// 微信
  164. /// </summary>
  165. public string Wechat { get; set; }
  166. /// <summary>
  167. /// 分类
  168. /// </summary>
  169. public int Category { get; set; }
  170. /// <summary>
  171. /// 预计出团
  172. /// </summary>
  173. public int Predele { get; set; }
  174. /// <summary>
  175. /// 已出团
  176. /// </summary>
  177. public int FinlishedDele { get; set; }
  178. /// <summary>
  179. /// 创建者Id
  180. /// </summary>
  181. public int CreateUserId { get; set; }
  182. /// <summary>
  183. /// 备注
  184. /// </summary>
  185. public string Remark { get; set; }
  186. /// <summary>
  187. /// 负责人
  188. /// </summary>
  189. public List<int> AscribedUser { get; set; }
  190. /// <summary>
  191. /// 业务归属
  192. /// </summary>
  193. public List<int> AscribedDepartment { get; set; }
  194. }
  195. /// <summary>
  196. /// 详情 Dto
  197. /// </summary>
  198. public class NewClientDataDetailsDto : PortDtoBase
  199. {
  200. public int UserId { get; set; }
  201. public int Id { get; set; }
  202. }
  203. /// <summary>
  204. /// 批量指派
  205. /// </summary>
  206. public class BatchAssignmentDto : PortDtoBase
  207. {
  208. public int UserId { get; set; }
  209. /// <summary>
  210. /// 客户资料表Id集合
  211. /// </summary>
  212. public List<int>? ClientDataIdItem { get; set; }
  213. /// <summary>
  214. /// 用户Id集合
  215. /// </summary>
  216. public List<int>? UserIdItem { get; set; }
  217. }
  218. public class MarketCustomerInitDto : PortDtoBase
  219. {
  220. public int UserId { get; set; }
  221. }
  222. public class QueryClientTypeDto
  223. {
  224. public List<int> SetDataIdArr { get; set; }
  225. }
  226. public class MCRLvSettingDto
  227. {
  228. public List<int> SetDataIdArr { get; set; }
  229. }
  230. public class RemakeComparer : IComparer
  231. {
  232. public int Compare(object x, object y)
  233. {
  234. // 使用反射获取remake属性的值
  235. PropertyInfo xProperty = x.GetType().GetProperty("Remark");
  236. PropertyInfo yProperty = y.GetType().GetProperty("Remark");
  237. if (xProperty == null || yProperty == null)
  238. {
  239. throw new ArgumentException("Both objects must have a 'remake' property.");
  240. }
  241. string xRemake = xProperty.GetValue(x, null) as string;
  242. string yRemake = yProperty.GetValue(y, null) as string;
  243. // 使用TryParse安全地将字符串转换为整数
  244. bool xIsInt = int.TryParse(xRemake, out int xValue);
  245. bool yIsInt = int.TryParse(yRemake, out int yValue);
  246. // 如果x是整数而y不是,则x应该排在y前面
  247. if (xIsInt && !yIsInt)
  248. return -1;
  249. // 如果y是整数而x不是,则x应该排在后面
  250. else if (!xIsInt && yIsInt)
  251. return 1;
  252. // 如果x和y都是整数,则比较它们的值
  253. else if (xIsInt && yIsInt)
  254. return xValue.CompareTo(yValue);
  255. // 如果x和y都不是整数,则认为它们相等
  256. else
  257. return 0;
  258. }
  259. }
  260. public class SearchClientByKeywordDto
  261. {
  262. public string Keyword { get; set; }
  263. public int UserId { get; set; }
  264. }
  265. }