SIMPosMerchantTradeService.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488
  1. using System;
  2. using System.Threading;
  3. using System.Linq;
  4. using System.Data;
  5. using Library;
  6. using MySystem.Models;
  7. using System.Collections.Generic;
  8. using LitJson;
  9. using Newtonsoft.Json;
  10. /// <summary>
  11. /// 广电卡交易数据导入
  12. /// </summary>
  13. namespace MySystem
  14. {
  15. public class SIMPosMerchantTradeService
  16. {
  17. public readonly static SIMPosMerchantTradeService Instance = new SIMPosMerchantTradeService();
  18. private SIMPosMerchantTradeService()
  19. {
  20. }
  21. public void Start()//启动
  22. {
  23. Thread thread = new Thread(ImportPostDo); // 广电卡导激活和交易
  24. thread.IsBackground = true;
  25. thread.Start();
  26. Thread thread1 = new Thread(SIMActDo); // 通过接口获取广电卡激活数据
  27. thread1.IsBackground = true;
  28. thread1.Start();
  29. }
  30. public void ImportPostDo()
  31. {
  32. while (true)
  33. {
  34. try
  35. {
  36. string data = RedisDbconn.Instance.RPop<string>("SIMPosMerchantTradeQueue");
  37. if (!string.IsNullOrEmpty(data))
  38. {
  39. string[] dataList = data.Split("#cut#");
  40. string _ExcelPath = dataList[0];
  41. string _Kind = dataList[1];
  42. string checkKey = dataList[2];
  43. string Operator = dataList[3]; // 操作人
  44. int SuccessCount = 0;
  45. int DoCount = 0;
  46. string FullExcelPath = function.getPath(_ExcelPath);
  47. FullExcelPath = FullExcelPath.Replace("//", "/");
  48. DataTable list = new PublicFunction().ExcelToDataTable(FullExcelPath);
  49. int TotalCount = list.Rows.Count;
  50. while (DoCount < list.Rows.Count)
  51. {
  52. WebCMSEntities db = new WebCMSEntities();
  53. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  54. //导激活
  55. if (_Kind == "1")
  56. {
  57. var tran = db.Database.BeginTransaction();
  58. try
  59. {
  60. int Size = 100;
  61. if (list.Rows.Count - DoCount < 100)
  62. {
  63. Size = list.Rows.Count - DoCount;
  64. }
  65. Dictionary<string, int> storeData = new Dictionary<string, int>();
  66. for (int i = DoCount; i < DoCount + Size; i++)
  67. {
  68. DataRow dr = list.Rows[i];
  69. SIMActInfo sIMActInfo = new SIMActInfo
  70. {
  71. OrderNo = dr["订单编码"].ToString(),
  72. CreateDate = dr["订单创建时间"].ToString(),
  73. PhoneNumber = dr["选择号码"].ToString(),
  74. HasFirstCharge = dr["是否有首充"].ToString(),
  75. FirstChargeAmount = dr["首充金额(元)"].ToString(),
  76. Province = dr["号码归属省份"].ToString(),
  77. City = dr["号码归属地市"].ToString(),
  78. ProductName = dr["商品名称"].ToString(),
  79. ActiveName = dr["促销活动名称"].ToString(),
  80. ProductType = dr["商品类型名称"].ToString(),
  81. ActualAmount = dr["实付金额(元)"].ToString(),
  82. OrderStatus = dr["订单状态"].ToString(),
  83. ActStatus = dr["激活状态名称"].ToString(),
  84. ActDate = dr["激活时间"].ToString(),
  85. WorkNo = dr["BOSS员工工号"].ToString(),
  86. AccountName = dr["账号姓名"].ToString(),
  87. SimNo = dr["SIM卡号"].ToString()
  88. };
  89. AddSIMActInfo(sIMActInfo);
  90. SuccessCount += 1;
  91. }
  92. DoCount += Size;
  93. spdb.SaveChanges();
  94. tran.Commit();
  95. if (DoCount >= list.Rows.Count)
  96. {
  97. RedisDbconn.Instance.Set("SIMPosMerchantTradeCheckImport:" + checkKey, "success|" + SuccessCount);
  98. RedisDbconn.Instance.SetExpire("SIMPosMerchantTradeCheckImport:" + checkKey, 60000);
  99. }
  100. }
  101. catch (Exception ex)
  102. {
  103. DoCount = list.Rows.Count;
  104. function.WriteLog(ex.ToString(), "导入广电卡激活数据");
  105. tran.Rollback();
  106. ErrorMsg msg = new ErrorMsg()
  107. {
  108. Time = DateTime.Now,
  109. ErrorContent = ex.ToString(),
  110. };
  111. function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "导入广电卡激活数据Excel文件异常");
  112. }
  113. tran.Dispose();
  114. }
  115. //导交易
  116. if (_Kind == "2")
  117. {
  118. var tran = db.Database.BeginTransaction();
  119. try
  120. {
  121. int Size = 100;
  122. if (list.Rows.Count - DoCount < 100)
  123. {
  124. Size = list.Rows.Count - DoCount;
  125. }
  126. Dictionary<string, int> storeData = new Dictionary<string, int>();
  127. for (int i = DoCount; i < DoCount + Size; i++)
  128. {
  129. DataRow dr = list.Rows[i];
  130. SIMTradeInfo sIMTradeInfo = new SIMTradeInfo
  131. {
  132. Mobile = dr["用户手机号"].ToString(),
  133. SimNo = dr["SIM卡号"].ToString(),
  134. CreateMonth = dr["入网月份"].ToString(),
  135. SettleMonth = dr["结算月份"].ToString(),
  136. SettleTime = dr["结算账期"].ToString(),
  137. SettleSpace = dr["结算场景"].ToString(),
  138. BusinessType = dr["业务类型"].ToString(),
  139. Province = dr["用户省份"].ToString(),
  140. City = dr["用户地市"].ToString(),
  141. Team = dr["团队归属"].ToString(),
  142. WorkName = dr["行销宝姓名"].ToString(),
  143. WorkNo = dr["行销宝工号"].ToString(),
  144. ProductName = dr["商品名称"].ToString(),
  145. TotalAmount = dr["账单总金额"].ToString(),
  146. InAmount = dr["套内金额"].ToString(),
  147. OutAmount = dr["套外金额"].ToString(),
  148. UserStatus = dr["用户状态"].ToString(),
  149. ChannelCode = dr["渠道编码"].ToString(),
  150. ChannelName = dr["渠道名称"].ToString(),
  151. OrderCreateTime = dr["订单创建时间"].ToString(),
  152. OrderStatus = dr["订单状态"].ToString(),
  153. ActTime = dr["激活时间"].ToString(),
  154. SourceProductName = dr["原订单商品名称"].ToString(),
  155. ProductType = dr["商品类型名称"].ToString(),
  156. ActivityName = dr["促销活动名称"].ToString(),
  157. Percent = dr["分成比例"].ToString(),
  158. OrgDivi = dr["机构分成"].ToString()
  159. };
  160. AddSIMTradeInfo(sIMTradeInfo);
  161. SuccessCount += 1;
  162. }
  163. DoCount += Size;
  164. db.SaveChanges();
  165. tran.Commit();
  166. if (DoCount >= list.Rows.Count)
  167. {
  168. RedisDbconn.Instance.Set("SIMPosMerchantTradeCheckImport:" + checkKey, "success|" + SuccessCount);
  169. RedisDbconn.Instance.SetExpire("SIMPosMerchantTradeCheckImport:" + checkKey, 60000);
  170. }
  171. }
  172. catch (Exception ex)
  173. {
  174. DoCount = list.Rows.Count;
  175. function.WriteLog(ex.ToString(), "导入广电卡交易数据");
  176. tran.Rollback();
  177. ErrorMsg msg = new ErrorMsg()
  178. {
  179. Time = DateTime.Now,
  180. ErrorContent = ex.ToString(),
  181. };
  182. function.WriteLog(Newtonsoft.Json.JsonConvert.SerializeObject(msg), "导入广电卡交易数据Excel文件异常");
  183. }
  184. tran.Dispose();
  185. }
  186. }
  187. }
  188. else
  189. {
  190. Thread.Sleep(5000);
  191. }
  192. }
  193. catch (Exception ex)
  194. {
  195. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "后台导入Excel文件队列异常");
  196. }
  197. }
  198. }
  199. /// <summary>
  200. /// 通过接口获取广电卡激活数据
  201. /// </summary>
  202. public void SIMActDo()
  203. {
  204. while (true)
  205. {
  206. string Info = RedisDbconn.Instance.RPop<string>("SIMActInfo");
  207. if (!string.IsNullOrEmpty(Info))
  208. {
  209. try
  210. {
  211. var time = function.ReadInstance("/GetSIMActInfo/LastDate.txt");
  212. if(string.IsNullOrEmpty(time))
  213. {
  214. time = "2024-03-18";
  215. }
  216. string check = function.ReadInstance("/GetSIMActInfo/check" + time + ".txt");
  217. if (string.IsNullOrEmpty(check))
  218. {
  219. function.WritePage("/GetSIMActInfo/", "check" + time + ".txt", DateTime.Now.ToString("HH:mm:ss"));
  220. var result = RadioCardHelper.Instance.QueryCardOrderInfo(time, time, "1", "99999");
  221. result = result.Replace("null", "\"\"");
  222. JsonData jsonObj = JsonMapper.ToObject(result);
  223. if (jsonObj["resultCode"].ToString() == "1")
  224. {
  225. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  226. var data = jsonObj["data"]["records"];
  227. for (int i = 0; i < data.Count; i++)
  228. {
  229. var iccId = data[i]["iccId"].ToString();
  230. var bindRecord = spdb.BindRecord.FirstOrDefault(m => m.MerSnNo == iccId) ?? new SpModels.BindRecord();
  231. var merchants = spdb.Merchants.FirstOrDefault(m => m.SnNo == iccId) ?? new SpModels.Merchants();
  232. if (bindRecord.Id == 0 && merchants.Id == 0)
  233. {
  234. // {"orderNo":"B20240319215437195664","orderCreateTime":"03/19/2024 21:54:37","phoneNo":"19238664877","firstCharge":"否","initialChargeAmount":"0.00","province":"贵州省","city":"遵义市","productName":"双百套餐","promotionName":null,"productTypeName":"基础套餐","paidInAmount":"100.00","orderStatus":"已完成","activationStatusName":"已激活","activationTime":"03/19/2024 21:58:23","jobId":"VCH010131087","iccId":"89861500232320195477"}
  235. SIMActInfo sIMActInfo = new SIMActInfo
  236. {
  237. OrderNo = data[i]["orderNo"].ToString(), //订单编码
  238. CreateDate = data[i]["orderCreateTime"].ToString(), //订单创建时间
  239. PhoneNumber = data[i]["phoneNo"].ToString(), //选择号码
  240. HasFirstCharge = data[i]["firstCharge"].ToString(), //是否有首充
  241. FirstChargeAmount = data[i]["initialChargeAmount"].ToString(), //首充金额(元)
  242. Province = data[i]["province"].ToString(), //号码归属省份
  243. City = data[i]["city"].ToString(), //号码归属地市
  244. ProductName = data[i]["productName"].ToString(), //商品名称
  245. ActiveName = data[i]["promotionName"].ToString(), //促销活动名称
  246. ProductType = data[i]["productTypeName"].ToString(), //商品类型名称
  247. ActualAmount = data[i]["paidInAmount"].ToString(), //实付金额(元)
  248. OrderStatus = data[i]["orderStatus"].ToString(), //订单状态
  249. ActStatus = data[i]["activationStatusName"].ToString(), //激活状态名称
  250. ActDate = data[i]["activationTime"].ToString(), //激活时间
  251. WorkNo = data[i]["jobId"].ToString(), //BOSS员工工号
  252. // sIMActInfo.AccountName = data[""].ToString(); //账号姓名
  253. AccountName = "", //账号姓名
  254. SimNo = iccId //SIM卡号
  255. };
  256. AddSIMActInfo(sIMActInfo);
  257. }
  258. }
  259. }
  260. }
  261. function.WritePage("/GetSIMActInfo/", "LastDate.txt", DateTime.Now.ToString("yyyy-MM-dd"));
  262. }
  263. catch (Exception ex)
  264. {
  265. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "获取广电卡激活信息队列异常");
  266. }
  267. }
  268. Thread.Sleep(6000);
  269. }
  270. }
  271. /// <summary>
  272. /// 添加广电卡激活数据
  273. /// </summary>
  274. /// <param name="sIMActInfo"></param>
  275. public void AddSIMActInfo(SIMActInfo sIMActInfo)
  276. {
  277. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  278. string json = "{";
  279. json += "\"OrderNo\":\"" + sIMActInfo.OrderNo + "\",";
  280. json += "\"CreateDate\":\"" + sIMActInfo.CreateDate + "\",";
  281. json += "\"PhoneNumber\":\"" + sIMActInfo.PhoneNumber + "\",";
  282. json += "\"HasFirstCharge\":\"" + sIMActInfo.HasFirstCharge + "\",";
  283. json += "\"FirstChargeAmount\":\"" + sIMActInfo.FirstChargeAmount + "\",";
  284. json += "\"Province\":\"" + sIMActInfo.Province + "\",";
  285. json += "\"City\":\"" + sIMActInfo.City + "\",";
  286. json += "\"ProductName\":\"" + sIMActInfo.ProductName + "\",";
  287. json += "\"ActiveName\":\"" + sIMActInfo.ActiveName + "\",";
  288. json += "\"ProductType\":\"" + sIMActInfo.ProductType + "\",";
  289. json += "\"ActualAmount\":\"" + sIMActInfo.ActualAmount + "\",";
  290. json += "\"OrderStatus\":\"" + sIMActInfo.OrderStatus + "\",";
  291. json += "\"ActStatus\":\"" + sIMActInfo.ActStatus + "\",";
  292. json += "\"ActDate\":\"" + sIMActInfo.ActDate + "\",";
  293. json += "\"WorkNo\":\"" + sIMActInfo.WorkNo + "\",";
  294. json += "\"AccountName\":\"" + sIMActInfo.AccountName + "\",";
  295. json += "\"SimNo\":\"" + sIMActInfo.SimNo + "\"";
  296. json += "}";
  297. spdb.BindRecord.Add(new SpModels.BindRecord()
  298. {
  299. CreateDate = DateTime.Parse(sIMActInfo.CreateDate),
  300. UpdateTime = DateTime.Parse(sIMActInfo.CreateDate), //机具绑定、解绑时间
  301. CreateTime = DateTime.Parse(sIMActInfo.CreateDate), //商户操作时间
  302. MerNewSnNo = sIMActInfo.PhoneNumber, //商户手机号
  303. MerSnNo = sIMActInfo.SimNo, //序列号
  304. MerName = sIMActInfo.AccountName, //商户名称
  305. MerNo = sIMActInfo.PhoneNumber, //商户编号
  306. Remark = sIMActInfo.ProductType,
  307. Field1 = sIMActInfo.Province,
  308. Field2 = sIMActInfo.ActiveName,
  309. Field3 = sIMActInfo.ProductName,
  310. Field4 = sIMActInfo.WorkNo,
  311. Field5 = sIMActInfo.ActStatus,
  312. SeoTitle = sIMActInfo.ActualAmount,
  313. SeoKeyword = sIMActInfo.ActDate,
  314. SeoDescription = json,
  315. ProductType = "14",
  316. Status = 1,
  317. });
  318. spdb.Merchants.Add(new SpModels.Merchants()
  319. {
  320. SnNo = sIMActInfo.SimNo,
  321. CreateTime = DateTime.Parse(sIMActInfo.CreateDate),
  322. UpdateTime = DateTime.Parse(sIMActInfo.CreateDate),
  323. AgentName = sIMActInfo.AccountName,
  324. MerRealName = sIMActInfo.AccountName,
  325. MerMobile = sIMActInfo.PhoneNumber,
  326. MerNo = sIMActInfo.PhoneNumber,
  327. MerName = sIMActInfo.AccountName,
  328. ProductType = "14",
  329. Status = 1,
  330. });
  331. spdb.SaveChanges();
  332. }
  333. /// <summary>
  334. /// 添加广电卡激活数据
  335. /// </summary>
  336. /// <param name="sIMActInfo"></param>
  337. public void AddSIMTradeInfo(SIMTradeInfo sIMTradeInfo)
  338. {
  339. WebCMSEntities db = new WebCMSEntities();
  340. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  341. string json = "{";
  342. json += "\"Mobile\":\"" + sIMTradeInfo.Mobile + "\",";
  343. json += "\"SimNo\":\"" + sIMTradeInfo.SimNo + "\",";
  344. json += "\"CreateMonth\":\"" + sIMTradeInfo.CreateMonth + "\",";
  345. json += "\"SettleMonth\":\"" + sIMTradeInfo.SettleMonth + "\",";
  346. json += "\"SettleTime\":\"" + sIMTradeInfo.SettleTime + "\",";
  347. json += "\"SettleSpace\":\"" + sIMTradeInfo.SettleSpace + "\",";
  348. json += "\"BusinessType\":\"" + sIMTradeInfo.BusinessType + "\",";
  349. json += "\"Province\":\"" + sIMTradeInfo.Province + "\",";
  350. json += "\"City\":\"" + sIMTradeInfo.City + "\",";
  351. json += "\"Team\":\"" + sIMTradeInfo.Team + "\",";
  352. json += "\"WorkName\":\"" + sIMTradeInfo.WorkName + "\",";
  353. json += "\"WorkNo\":\"" + sIMTradeInfo.WorkNo + "\",";
  354. json += "\"ProductName\":\"" + sIMTradeInfo.ProductName + "\",";
  355. json += "\"TotalAmount\":\"" + sIMTradeInfo.TotalAmount + "\",";
  356. json += "\"InAmount\":\"" + sIMTradeInfo.InAmount + "\",";
  357. json += "\"OutAmount\":\"" + sIMTradeInfo.OutAmount + "\",";
  358. json += "\"UserStatus\":\"" + sIMTradeInfo.UserStatus + "\",";
  359. json += "\"ChannelCode\":\"" + sIMTradeInfo.ChannelCode + "\",";
  360. json += "\"ChannelName\":\"" + sIMTradeInfo.ChannelName + "\",";
  361. json += "\"OrderCreateTime\":\"" + sIMTradeInfo.OrderCreateTime + "\",";
  362. json += "\"OrderStatus\":\"" + sIMTradeInfo.OrderStatus + "\",";
  363. json += "\"ActTime\":\"" + sIMTradeInfo.ActTime + "\",";
  364. json += "\"SourceProductName\":\"" + sIMTradeInfo.SourceProductName + "\",";
  365. json += "\"ProductType\":\"" + sIMTradeInfo.ProductType + "\",";
  366. json += "\"ActivityName\":\"" + sIMTradeInfo.ActivityName + "\",";
  367. json += "\"Percent\":\"" + sIMTradeInfo.Percent + "\",";
  368. json += "\"OrgDivi\":\"" + sIMTradeInfo.OrgDivi + "\"";
  369. json += "}";
  370. bool op = true;
  371. string OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
  372. decimal TotalAmountNum = decimal.Parse(function.CheckNum(numberString: sIMTradeInfo.TotalAmount));
  373. DateTime CreateDate = DateTime.Parse(sIMTradeInfo.OrderCreateTime);
  374. string CheckDate = DateTime.Now.AddMonths(-3).ToString("yyyyMM");
  375. if (int.Parse(sIMTradeInfo.CreateMonth) >= int.Parse(CheckDate)) op = false;
  376. if (sIMTradeInfo.OrderStatus == "待激活") op = false;
  377. if (sIMTradeInfo.UserStatus.Contains("注销") || sIMTradeInfo.UserStatus.Contains("欠费"))
  378. {
  379. op = false;
  380. SimposMerchantInfo checkSimMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  381. if (checkSimMer != null)
  382. {
  383. checkSimMer.Status = -1;
  384. if (sIMTradeInfo.UserStatus.Contains("欠费") && checkSimMer.Status != -1)
  385. {
  386. checkSimMer.Status = -2;
  387. }
  388. db.SaveChanges();
  389. }
  390. PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  391. if (checkMer != null)
  392. {
  393. checkMer.Status = -1;
  394. if (sIMTradeInfo.UserStatus.Contains("欠费") && checkMer.Status != -1)
  395. {
  396. checkMer.Status = -2;
  397. }
  398. db.SaveChanges();
  399. }
  400. PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == sIMTradeInfo.SimNo);
  401. if (pos != null)
  402. {
  403. pos.Status = -1;
  404. if (sIMTradeInfo.UserStatus.Contains("欠费") && pos.Status != -1)
  405. {
  406. pos.Status = -2;
  407. }
  408. db.SaveChanges();
  409. }
  410. }
  411. if (sIMTradeInfo.UserStatus.Contains("正常"))
  412. {
  413. SimposMerchantInfo checkSimMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  414. if (checkSimMer != null)
  415. {
  416. if (checkSimMer.Status == -2) checkSimMer.Status = 0;
  417. db.SaveChanges();
  418. }
  419. PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  420. if (checkMer != null)
  421. {
  422. if (checkMer.Status == -2) checkMer.Status = 1;
  423. db.SaveChanges();
  424. }
  425. PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == sIMTradeInfo.SimNo);
  426. if (pos != null && pos.Status < 0)
  427. {
  428. if (pos.Status == -2)
  429. {
  430. pos.Status = 0;
  431. }
  432. db.SaveChanges();
  433. }
  434. }
  435. if (TotalAmountNum > 0 && op)
  436. {
  437. spdb.TradeRecord.Add(new SpModels.TradeRecord()
  438. {
  439. CreateDate = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-20 HH:mm:ss")), //创建时间
  440. TradeSerialNo = OrderNo, //订单编号
  441. AgentNo = sIMTradeInfo.WorkName + sIMTradeInfo.WorkNo, //一级服务商编号
  442. MerNo = sIMTradeInfo.Mobile, //商户编
  443. TradeSnNo = sIMTradeInfo.SimNo, //sim卡号
  444. ChannelSerial = OrderNo, //请求号
  445. TradeAmount = TotalAmountNum, //账单总金额
  446. TradeStatus = sIMTradeInfo.OrderStatus, //订单状态
  447. TradeDate = sIMTradeInfo.CreateMonth,
  448. TradeTime = CreateDate.ToString("yyyyMMdd"),
  449. BankCardType = "01",
  450. TradeType = "01",
  451. ProductType = "14",
  452. Status = 1,
  453. Field1 = sIMTradeInfo.ProductName,
  454. Field2 = sIMTradeInfo.SourceProductName,
  455. Field3 = sIMTradeInfo.ProductType,
  456. Field4 = sIMTradeInfo.BusinessType,
  457. SeoDescription = json,
  458. });
  459. spdb.SaveChanges();
  460. }
  461. }
  462. }
  463. }