SIMPosMerchantTradeService.cs 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  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. // if (DateTime.Now.Hour > 16 && DateTime.Now.Hour < 18)
  210. // {
  211. try
  212. {
  213. var time = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
  214. string check = function.ReadInstance("/GetSIMActInfo/check" + time + ".txt");
  215. if (string.IsNullOrEmpty(check))
  216. {
  217. function.WritePage("/GetSIMActInfo/", "check" + time + ".txt", DateTime.Now.ToString("HH:mm:ss"));
  218. var result = RadioCardHelper.Instance.QueryCardOrderInfo(time, time, "1", "99999");
  219. result = result.Replace("null", "\"\"");
  220. JsonData jsonObj = JsonMapper.ToObject(result);
  221. if (jsonObj["resultCode"].ToString() == "1")
  222. {
  223. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  224. var tran = spdb.Database.BeginTransaction();
  225. var data = jsonObj["data"]["records"];
  226. for (int i = 0; i < data.Count; i++)
  227. {
  228. var iccId = data[i]["iccId"].ToString();
  229. var bindRecord = spdb.BindRecord.FirstOrDefault(m => m.MerSnNo == iccId) ?? new SpModels.BindRecord();
  230. var merchants = spdb.Merchants.FirstOrDefault(m => m.SnNo == iccId) ?? new SpModels.Merchants();
  231. if (bindRecord.Id == 0 && merchants.Id == 0)
  232. {
  233. // {"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"}
  234. SIMActInfo sIMActInfo = new SIMActInfo
  235. {
  236. OrderNo = data[i]["orderNo"].ToString(), //订单编码
  237. CreateDate = data[i]["orderCreateTime"].ToString(), //订单创建时间
  238. PhoneNumber = data[i]["phoneNo"].ToString(), //选择号码
  239. HasFirstCharge = data[i]["firstCharge"].ToString(), //是否有首充
  240. FirstChargeAmount = data[i]["initialChargeAmount"].ToString(), //首充金额(元)
  241. Province = data[i]["province"].ToString(), //号码归属省份
  242. City = data[i]["city"].ToString(), //号码归属地市
  243. ProductName = data[i]["productName"].ToString(), //商品名称
  244. ActiveName = data[i]["promotionName"].ToString(), //促销活动名称
  245. ProductType = data[i]["productTypeName"].ToString(), //商品类型名称
  246. ActualAmount = data[i]["paidInAmount"].ToString(), //实付金额(元)
  247. OrderStatus = data[i]["orderStatus"].ToString(), //订单状态
  248. ActStatus = data[i]["activationStatusName"].ToString(), //激活状态名称
  249. ActDate = data[i]["activationTime"].ToString(), //激活时间
  250. WorkNo = data[i]["jobId"].ToString(), //BOSS员工工号
  251. // sIMActInfo.AccountName = data[""].ToString(); //账号姓名
  252. AccountName = "", //账号姓名
  253. SimNo = iccId //SIM卡号
  254. };
  255. AddSIMActInfo(sIMActInfo);
  256. }
  257. }
  258. tran.Dispose();
  259. }
  260. }
  261. }
  262. catch (Exception ex)
  263. {
  264. function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "获取广电卡激活信息队列异常");
  265. }
  266. }
  267. Thread.Sleep(6000);
  268. }
  269. }
  270. /// <summary>
  271. /// 添加广电卡激活数据
  272. /// </summary>
  273. /// <param name="sIMActInfo"></param>
  274. public void AddSIMActInfo(SIMActInfo sIMActInfo)
  275. {
  276. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  277. string json = "{";
  278. json += "\"OrderNo\":\"" + sIMActInfo.OrderNo + "\",";
  279. json += "\"CreateDate\":\"" + sIMActInfo.CreateDate + "\",";
  280. json += "\"PhoneNumber\":\"" + sIMActInfo.PhoneNumber + "\",";
  281. json += "\"HasFirstCharge\":\"" + sIMActInfo.HasFirstCharge + "\",";
  282. json += "\"FirstChargeAmount\":\"" + sIMActInfo.FirstChargeAmount + "\",";
  283. json += "\"Province\":\"" + sIMActInfo.Province + "\",";
  284. json += "\"City\":\"" + sIMActInfo.City + "\",";
  285. json += "\"ProductName\":\"" + sIMActInfo.ProductName + "\",";
  286. json += "\"ActiveName\":\"" + sIMActInfo.ActiveName + "\",";
  287. json += "\"ProductType\":\"" + sIMActInfo.ProductType + "\",";
  288. json += "\"ActualAmount\":\"" + sIMActInfo.ActualAmount + "\",";
  289. json += "\"OrderStatus\":\"" + sIMActInfo.OrderStatus + "\",";
  290. json += "\"ActStatus\":\"" + sIMActInfo.ActStatus + "\",";
  291. json += "\"ActDate\":\"" + sIMActInfo.ActDate + "\",";
  292. json += "\"WorkNo\":\"" + sIMActInfo.WorkNo + "\",";
  293. json += "\"AccountName\":\"" + sIMActInfo.AccountName + "\",";
  294. json += "\"SimNo\":\"" + sIMActInfo.SimNo + "\"";
  295. json += "}";
  296. spdb.BindRecord.Add(new SpModels.BindRecord()
  297. {
  298. CreateDate = DateTime.Parse(sIMActInfo.CreateDate),
  299. UpdateTime = DateTime.Parse(sIMActInfo.CreateDate), //机具绑定、解绑时间
  300. CreateTime = DateTime.Parse(sIMActInfo.CreateDate), //商户操作时间
  301. MerNewSnNo = sIMActInfo.PhoneNumber, //商户手机号
  302. MerSnNo = sIMActInfo.SimNo, //序列号
  303. MerName = sIMActInfo.AccountName, //商户名称
  304. MerNo = sIMActInfo.PhoneNumber, //商户编号
  305. Remark = sIMActInfo.ProductType,
  306. Field1 = sIMActInfo.Province,
  307. Field2 = sIMActInfo.ActiveName,
  308. Field3 = sIMActInfo.ProductName,
  309. Field4 = sIMActInfo.WorkNo,
  310. Field5 = sIMActInfo.ActStatus,
  311. SeoTitle = sIMActInfo.ActualAmount,
  312. SeoKeyword = sIMActInfo.ActDate,
  313. SeoDescription = json,
  314. ProductType = "14",
  315. Status = 1,
  316. });
  317. spdb.Merchants.Add(new SpModels.Merchants()
  318. {
  319. SnNo = sIMActInfo.SimNo,
  320. CreateTime = DateTime.Parse(sIMActInfo.CreateDate),
  321. UpdateTime = DateTime.Parse(sIMActInfo.CreateDate),
  322. AgentName = sIMActInfo.AccountName,
  323. MerRealName = sIMActInfo.AccountName,
  324. MerMobile = sIMActInfo.PhoneNumber,
  325. MerNo = sIMActInfo.PhoneNumber,
  326. MerName = sIMActInfo.AccountName,
  327. ProductType = "14",
  328. Status = 1,
  329. });
  330. spdb.SaveChanges();
  331. }
  332. /// <summary>
  333. /// 添加广电卡激活数据
  334. /// </summary>
  335. /// <param name="sIMActInfo"></param>
  336. public void AddSIMTradeInfo(SIMTradeInfo sIMTradeInfo)
  337. {
  338. WebCMSEntities db = new WebCMSEntities();
  339. SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
  340. string json = "{";
  341. json += "\"Mobile\":\"" + sIMTradeInfo.Mobile + "\",";
  342. json += "\"SimNo\":\"" + sIMTradeInfo.SimNo + "\",";
  343. json += "\"CreateMonth\":\"" + sIMTradeInfo.CreateMonth + "\",";
  344. json += "\"SettleMonth\":\"" + sIMTradeInfo.SettleMonth + "\",";
  345. json += "\"SettleTime\":\"" + sIMTradeInfo.SettleTime + "\",";
  346. json += "\"SettleSpace\":\"" + sIMTradeInfo.SettleSpace + "\",";
  347. json += "\"BusinessType\":\"" + sIMTradeInfo.BusinessType + "\",";
  348. json += "\"Province\":\"" + sIMTradeInfo.Province + "\",";
  349. json += "\"City\":\"" + sIMTradeInfo.City + "\",";
  350. json += "\"Team\":\"" + sIMTradeInfo.Team + "\",";
  351. json += "\"WorkName\":\"" + sIMTradeInfo.WorkName + "\",";
  352. json += "\"WorkNo\":\"" + sIMTradeInfo.WorkNo + "\",";
  353. json += "\"ProductName\":\"" + sIMTradeInfo.ProductName + "\",";
  354. json += "\"TotalAmount\":\"" + sIMTradeInfo.TotalAmount + "\",";
  355. json += "\"InAmount\":\"" + sIMTradeInfo.InAmount + "\",";
  356. json += "\"OutAmount\":\"" + sIMTradeInfo.OutAmount + "\",";
  357. json += "\"UserStatus\":\"" + sIMTradeInfo.UserStatus + "\",";
  358. json += "\"ChannelCode\":\"" + sIMTradeInfo.ChannelCode + "\",";
  359. json += "\"ChannelName\":\"" + sIMTradeInfo.ChannelName + "\",";
  360. json += "\"OrderCreateTime\":\"" + sIMTradeInfo.OrderCreateTime + "\",";
  361. json += "\"OrderStatus\":\"" + sIMTradeInfo.OrderStatus + "\",";
  362. json += "\"ActTime\":\"" + sIMTradeInfo.ActTime + "\",";
  363. json += "\"SourceProductName\":\"" + sIMTradeInfo.SourceProductName + "\",";
  364. json += "\"ProductType\":\"" + sIMTradeInfo.ProductType + "\",";
  365. json += "\"ActivityName\":\"" + sIMTradeInfo.ActivityName + "\",";
  366. json += "\"Percent\":\"" + sIMTradeInfo.Percent + "\",";
  367. json += "\"OrgDivi\":\"" + sIMTradeInfo.OrgDivi + "\"";
  368. json += "}";
  369. bool op = true;
  370. string OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
  371. decimal TotalAmountNum = decimal.Parse(function.CheckNum(numberString: sIMTradeInfo.TotalAmount));
  372. DateTime CreateDate = DateTime.Parse(sIMTradeInfo.OrderCreateTime);
  373. string CheckDate = DateTime.Now.AddMonths(-3).ToString("yyyyMM");
  374. if (int.Parse(sIMTradeInfo.CreateMonth) >= int.Parse(CheckDate)) op = false;
  375. if (sIMTradeInfo.OrderStatus == "待激活") op = false;
  376. if (sIMTradeInfo.UserStatus.Contains("注销") || sIMTradeInfo.UserStatus.Contains("欠费"))
  377. {
  378. op = false;
  379. SimposMerchantInfo checkSimMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  380. if (checkSimMer != null)
  381. {
  382. checkSimMer.Status = -1;
  383. if (sIMTradeInfo.UserStatus.Contains("欠费") && checkSimMer.Status != -1)
  384. {
  385. checkSimMer.Status = -2;
  386. }
  387. db.SaveChanges();
  388. }
  389. PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  390. if (checkMer != null)
  391. {
  392. checkMer.Status = -1;
  393. if (sIMTradeInfo.UserStatus.Contains("欠费") && checkMer.Status != -1)
  394. {
  395. checkMer.Status = -2;
  396. }
  397. db.SaveChanges();
  398. }
  399. PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == sIMTradeInfo.SimNo);
  400. if (pos != null)
  401. {
  402. pos.Status = -1;
  403. if (sIMTradeInfo.UserStatus.Contains("欠费") && pos.Status != -1)
  404. {
  405. pos.Status = -2;
  406. }
  407. db.SaveChanges();
  408. }
  409. }
  410. if (sIMTradeInfo.UserStatus.Contains("正常"))
  411. {
  412. SimposMerchantInfo checkSimMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  413. if (checkSimMer != null)
  414. {
  415. if (checkSimMer.Status == -2) checkSimMer.Status = 0;
  416. db.SaveChanges();
  417. }
  418. PosMerchantInfo checkMer = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == sIMTradeInfo.Mobile && m.KqSnNo == sIMTradeInfo.SimNo);
  419. if (checkMer != null)
  420. {
  421. if (checkMer.Status == -2) checkMer.Status = 1;
  422. db.SaveChanges();
  423. }
  424. PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == sIMTradeInfo.SimNo);
  425. if (pos != null && pos.Status < 0)
  426. {
  427. if (pos.Status == -2)
  428. {
  429. pos.Status = 0;
  430. }
  431. db.SaveChanges();
  432. }
  433. }
  434. if (TotalAmountNum > 0 && op)
  435. {
  436. spdb.TradeRecord.Add(new SpModels.TradeRecord()
  437. {
  438. CreateDate = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-20 HH:mm:ss")), //创建时间
  439. TradeSerialNo = OrderNo, //订单编号
  440. AgentNo = sIMTradeInfo.WorkName + sIMTradeInfo.WorkNo, //一级服务商编号
  441. MerNo = sIMTradeInfo.Mobile, //商户编
  442. TradeSnNo = sIMTradeInfo.SimNo, //sim卡号
  443. ChannelSerial = OrderNo, //请求号
  444. TradeAmount = TotalAmountNum, //账单总金额
  445. TradeStatus = sIMTradeInfo.OrderStatus, //订单状态
  446. TradeDate = sIMTradeInfo.CreateMonth,
  447. TradeTime = CreateDate.ToString("yyyyMMdd"),
  448. BankCardType = "01",
  449. TradeType = "01",
  450. ProductType = "14",
  451. Status = 1,
  452. Field1 = sIMTradeInfo.ProductName,
  453. Field2 = sIMTradeInfo.SourceProductName,
  454. Field3 = sIMTradeInfo.ProductType,
  455. Field4 = sIMTradeInfo.BusinessType,
  456. SeoDescription = json,
  457. });
  458. spdb.SaveChanges();
  459. }
  460. }
  461. }
  462. }