|
|
@@ -509,6 +509,145 @@ namespace MySystem.Areas.Admin.Controllers
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
+ #region 导入交易数据
|
|
|
+ public IActionResult ImportTrade(string right)
|
|
|
+ {
|
|
|
+ ViewBag.RightInfo = RightInfo;
|
|
|
+ ViewBag.right = right;
|
|
|
+ return View();
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 导入数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="ExcelData"></param>
|
|
|
+ public string ImportTradePost(string ExcelPath)
|
|
|
+ {
|
|
|
+ string FullExcelPath = function.getPath(ExcelPath);
|
|
|
+ FullExcelPath = FullExcelPath.Replace("//", "/");
|
|
|
+ DataTable list = new PublicFunction().ExcelToDataTable(FullExcelPath);
|
|
|
+ foreach (DataRow dr in list.Rows)
|
|
|
+ {
|
|
|
+ string Mobile = dr["用户手机号"].ToString();
|
|
|
+ string SimNo = dr["SIM卡号"].ToString();
|
|
|
+ string CreateMonth = dr["入网月份"].ToString();
|
|
|
+ string SettleMonth = dr["结算月份"].ToString();
|
|
|
+ string SettleTime = dr["结算账期"].ToString();
|
|
|
+ string SettleSpace = dr["结算场景"].ToString();
|
|
|
+ string BusinessType = dr["业务类型"].ToString();
|
|
|
+ string Province = dr["用户省份"].ToString();
|
|
|
+ string City = dr["用户地市"].ToString();
|
|
|
+ string Team = dr["团队归属"].ToString();
|
|
|
+ string WorkName = dr["行销宝姓名"].ToString();
|
|
|
+ string WorkNo = dr["行销宝工号"].ToString();
|
|
|
+ string ProductName = dr["商品名称"].ToString();
|
|
|
+ string TotalAmount = dr["账单总金额"].ToString();
|
|
|
+ string InAmount = dr["套内金额"].ToString();
|
|
|
+ string OutAmount = dr["套外金额"].ToString();
|
|
|
+ string UserStatus = dr["用户状态"].ToString();
|
|
|
+ string ChannelCode = dr["渠道编码"].ToString();
|
|
|
+ string ChannelName = dr["渠道名称"].ToString();
|
|
|
+ string OrderCreateTime = dr["订单创建时间"].ToString();
|
|
|
+ string OrderStatus = dr["订单状态"].ToString();
|
|
|
+ string ActTime = dr["激活时间"].ToString();
|
|
|
+ string SourceProductName = dr["原订单商品名称"].ToString();
|
|
|
+ string ProductType = dr["商品类型名称"].ToString();
|
|
|
+ string ActivityName = dr["促销活动名称"].ToString();
|
|
|
+ string Percent = dr["分成比例"].ToString();
|
|
|
+ string OrgDivi = dr["机构分成"].ToString();
|
|
|
+
|
|
|
+ string json = "{";
|
|
|
+ json += "\"Mobile\":\"" + Mobile + "\",";
|
|
|
+ json += "\"SimNo\":\"" + SimNo + "\",";
|
|
|
+ json += "\"CreateMonth\":\"" + CreateMonth + "\",";
|
|
|
+ json += "\"SettleMonth\":\"" + SettleMonth + "\",";
|
|
|
+ json += "\"SettleTime\":\"" + SettleTime + "\",";
|
|
|
+ json += "\"SettleSpace\":\"" + SettleSpace + "\",";
|
|
|
+ json += "\"BusinessType\":\"" + BusinessType + "\",";
|
|
|
+ json += "\"Province\":\"" + Province + "\",";
|
|
|
+ json += "\"City\":\"" + City + "\",";
|
|
|
+ json += "\"Team\":\"" + Team + "\",";
|
|
|
+ json += "\"WorkName\":\"" + WorkName + "\",";
|
|
|
+ json += "\"WorkNo\":\"" + WorkNo + "\",";
|
|
|
+ json += "\"ProductName\":\"" + ProductName + "\",";
|
|
|
+ json += "\"TotalAmount\":\"" + TotalAmount + "\",";
|
|
|
+ json += "\"InAmount\":\"" + InAmount + "\",";
|
|
|
+ json += "\"OutAmount\":\"" + OutAmount + "\",";
|
|
|
+ json += "\"UserStatus\":\"" + UserStatus + "\",";
|
|
|
+ json += "\"ChannelCode\":\"" + ChannelCode + "\",";
|
|
|
+ json += "\"ChannelName\":\"" + ChannelName + "\",";
|
|
|
+ json += "\"OrderCreateTime\":\"" + OrderCreateTime + "\",";
|
|
|
+ json += "\"OrderStatus\":\"" + OrderStatus + "\",";
|
|
|
+ json += "\"ActTime\":\"" + ActTime + "\",";
|
|
|
+ json += "\"SourceProductName\":\"" + SourceProductName + "\",";
|
|
|
+ json += "\"ProductType\":\"" + ProductType + "\",";
|
|
|
+ json += "\"ActivityName\":\"" + ActivityName + "\",";
|
|
|
+ json += "\"Percent\":\"" + Percent + "\",";
|
|
|
+ json += "\"OrgDivi\":\"" + OrgDivi + "\"";
|
|
|
+ json += "}";
|
|
|
+
|
|
|
+ bool op = true;
|
|
|
+ string OrderNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
|
|
|
+ decimal TotalAmountNum = decimal.Parse(function.CheckNum(numberString: TotalAmount));
|
|
|
+ DateTime CreateDate = DateTime.Parse(OrderCreateTime);
|
|
|
+
|
|
|
+ if(CreateDate < DateTime.Now.AddMonths(-3)) op = false;
|
|
|
+ if(OrderStatus == "待激活") op = false;
|
|
|
+ if(UserStatus == "已注销" || UserStatus.Contains("欠费"))
|
|
|
+ {
|
|
|
+ op = false;
|
|
|
+ SimposMerchantInfo checkMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mobile && m.KqSnNo == SimNo);
|
|
|
+ if(checkMer != null)
|
|
|
+ {
|
|
|
+ checkMer.Status = -1;
|
|
|
+ if(UserStatus.Contains("欠费"))
|
|
|
+ {
|
|
|
+ checkMer.Status = -2;
|
|
|
+ }
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(UserStatus == "正常")
|
|
|
+ {
|
|
|
+ SimposMerchantInfo checkMer = db.SimposMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mobile && m.KqSnNo == SimNo);
|
|
|
+ if(checkMer != null)
|
|
|
+ {
|
|
|
+ checkMer.Status = 0;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(TotalAmountNum > 0 && op)
|
|
|
+ {
|
|
|
+ spdb.TradeRecord.Add(new SpModels.TradeRecord()
|
|
|
+ {
|
|
|
+ CreateDate = CreateDate, //创建时间
|
|
|
+ TradeSerialNo = OrderNo, //订单编号
|
|
|
+ AgentNo = WorkName + WorkNo, //一级服务商编号
|
|
|
+ MerNo = Mobile, //商户编
|
|
|
+ TradeSnNo = SimNo, //sim卡号
|
|
|
+ ChannelSerial = OrderNo, //请求号
|
|
|
+ TradeAmount = TotalAmountNum, //账单总金额
|
|
|
+ TradeStatus = OrderStatus, //订单状态
|
|
|
+ TradeTime = CreateDate.ToString("yyyyMMdd"),
|
|
|
+ BankCardType = "01",
|
|
|
+ TradeType = "01",
|
|
|
+ ProductType = "14",
|
|
|
+ Status = 1,
|
|
|
+ Field1 = ProductName,
|
|
|
+ Field2 = SourceProductName,
|
|
|
+ Field3 = ProductType,
|
|
|
+ Field4 = BusinessType,
|
|
|
+ SeoDescription = json,
|
|
|
+ });
|
|
|
+
|
|
|
+ spdb.SaveChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ AddSysLog("0", "TradeRecord", "Import");
|
|
|
+ return "success";
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
#region 导出Excel
|
|
|
|
|
|
/// <summary>
|