using Core.Web.App_Start; using Core.Web.WebHelper; using CRM.Core.BLL; using CRM.Core.BLL.Application.Order; using CRM.Core.BLL.Base; using CRM.Core.BLL.EventBus.Events; using CRM.Core.BLL.FB; using CRM.Core.BLL.Level2; using CRM.Core.BLL.Res; using CRM.Core.BLL.Soft; using CRM.Core.BLL.Util; using CRM.Core.BLL.Wx; using CRM.Core.Common.EventBus; using CRM.Core.Common.Layui; using CRM.Core.Common.WebHelper; using CRM.Core.DTO; using CRM.Core.DTO.Ord; using CRM.Core.Model; using CRM.Core.Model.Entity; using CRM.Core.Model.Enum; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Text; using System.Web.Mvc; using WX.CRM.Common; namespace Core.Web.Controllers { public class OrderController : BaseController { private WX_SZZYORDER_BL _order = new WX_SZZYORDER_BL(); private WX_SzzyOrderPay_BL _orderPay = new WX_SzzyOrderPay_BL(); private BAS_PARAMETER_BL paramter_bl = new BAS_PARAMETER_BL(); private SecurityHelper sHelper = new SecurityHelper(); private WX_SzzyOrderRefund_BL _orderRefund = new WX_SzzyOrderRefund_BL(); private RES_CUSTOMER_BL res_Customer_BL = new RES_CUSTOMER_BL(); private RES_CUSTOMERUSER_BL res_customeruser_bl = new RES_CUSTOMERUSER_BL(); private SOFT_USER_BL soft_user_bl = new SOFT_USER_BL(); private WX_PRODUCT_BL product_bl = new WX_PRODUCT_BL(); private CACHE_BL cache_BL = new CACHE_BL(); private WX_OrderActive_BL orderActive_BL = new WX_OrderActive_BL(); private L2_SOFT_ORDER_BL l2_soft_order_bl = new L2_SOFT_ORDER_BL(); private WX_SzzyOrderDeposit_BL _orderDeposit = new WX_SzzyOrderDeposit_BL(); private Csvr_HgRecord_BL _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJZ); private OrderService _orderService = new OrderService(); private Wx_AutoOpenOrder_BL _autoOpenOrder = new Wx_AutoOpenOrder_BL(); public OrderController() { } [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_NotButton, true)] [HttpGet] public ActionResult Index() { ViewBag.rightCode = RightsConfig.CONST_订单列表; //var tool = new ToolBar(); //string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单列表, userRightId); //tool.AllowButton(toolbtn); ////tool.AllowButton("Create", "Edit", "Details", "Delete"); //ViewBag.ToolBar = tool; var list = product_bl.GetProductList().Where(p => p.parentid == 0); List productList = new List(); foreach (var item in list) { productList.Add(new SelectListItem { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }); } ViewBag.productList = productList; ViewBag.companyList = cache_BL.GetCompanyVirtual(); return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_NotButton, false)] public JsonResult Index(Laypage pager, string columns, OrderQueryDto dto) { try { var list = _order.GetList(ref pager, dto); List resids = list.Select(m => m.RESID).ToList(); var extlist = _order.GetExtuser(resids); var wxuserlist = _order.GetWxUserName(resids); foreach (var item in list) { //附件 if (!string.IsNullOrEmpty(item.fujian)) { var http = ConfigurationManager.AppSettings["FuJian_" + item.companycode]; item.fujian = http + item.fujian; } //企业微信 var ext = extlist.Where(m => m.resid == item.RESID).ToList(); if (ext.Count > 0) { var extstr = string.Join(";", ext.Select(m => m.userid)); if (!string.IsNullOrEmpty(item.external_userid) && extstr.IndexOf(item.external_userid) == -1) { extstr += ";" + item.external_userid; } item.external_userid = extstr;//替换原来的值 } //微信 var wx = wxuserlist.Where(m => m.resid == item.RESID).ToList(); if (wx.Count > 0) { var extstr = string.Join(";", ext.Select(m => m.userid)); if (!string.IsNullOrEmpty(item.CUSTOMERUSERNAME) && extstr.IndexOf(item.CUSTOMERUSERNAME) == -1) { extstr += ";" + item.CUSTOMERUSERNAME; } item.CUSTOMERUSERNAME = extstr;//替换原来的值 } } var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } [HttpGet] public ActionResult Index2() { //var tool = new ToolBar(); //string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单列表, userRightId); //tool.AllowButton(toolbtn); //tool.AllowButton("Create", "Edit", "Details", "Delete"); //ViewBag.ToolBar = tool; var list = product_bl.GetProductList().Where(p => p.parentid == 0); List productList = new List(); foreach (var item in list) { productList.Add(new SelectListItem { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }); } ViewBag.productList = productList; ViewBag.companyList = cache_BL.GetCompanyVirtual(); return View(); } [HttpPost] public JsonResult Index2(Laypage pager, string columns, OrderQueryDto dto) { try { var list = _order.GetList(ref pager, dto); var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } //[AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_Other1, true)] [HttpGet] public ActionResult Open(int orderid) { var model = _order.GetModel(orderid); return View(model); } [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_Other1, false)] [HttpPost] public JsonResult Open(WX_SZZYORDER orderDto) { try { var ret = _orderService.Open(orderDto.ORDERID, Eid, UserName);//走service的开通 return Json(ret, JsonRequestBehavior.AllowGet); #region 旧的开通方法(放弃掉,直接走OrderService) //var order = _order.GetModel(orderDto.ORDERID); //if (order.ORDERSTATUS == "60") //{ // return Json(new retMsg { result = false, retcode = 60 }, JsonRequestBehavior.AllowGet); //} ////如果已经开通过,提示不能再开通了 //if (order.ORDERSTATUS == "220") //{ // return Json(new retMsg { result = false, retcode = 220 }, JsonRequestBehavior.AllowGet); //} ////如果不是已支付状态,不能开通 //if (!(order.ORDERSTATUS == "200")) //{ // return Json(new retMsg { result = false, retcode = 200 }, JsonRequestBehavior.AllowGet); //} ////如果不是风控通过状态,不能开通 //if (order.ARRIVALPAY >= 200) //{ // if (order.RISKCTRLSTATUS == 0) // { // return Json(new retMsg { result = false, retcode = 202, retmsg = "还未进行风控,请确认!" }, JsonRequestBehavior.AllowGet); // } // if (order.RISKCTRLSTATUS != 2) // { // return Json(new retMsg { result = false, retcode = 201, retmsg = "风控未通过,请确认!" }, JsonRequestBehavior.AllowGet); // } //} ////金额大于0才进行金额比较, 到账金额不能小于订单应付金额 //if (order.ARRIVALPAY > 0 && order.ARRIVALPAY < order.NEEDPAY) //{ // return Json(new retMsg { result = false, retcode = 20 }, JsonRequestBehavior.AllowGet); //} //order.ORDERSTATUS = "220"; //order.ORDERSTATUSNAME = "已开通"; //order.ISOPEN = 1; //order.OTIME = DateTime.Now; //order.ENDTIME = order.OTIME.Value.AddDays(int.Parse(order.OPENDAYS.ToString())); //结束日期 //order.ISFINANCEPAY = 1; //order.FINACEPAYDATE = order.OTIME; //#region =================调用NodeJs开通订单======================== //LogHelper.Info("====调用NodeJs创建订单==="); //OpenOrderReq suorder = new OpenOrderReq(); //suorder.orderId = order.SZZYORDERID.ToString(); //suorder.businessOrderId = Convert.ToInt32(order.ORDERID); //Random rd = new Random();//用于生成随机数 //string DateStr = DateTime.Now.ToString("yyyyMMddHHmmssfffffff");//日期 //string str = DateStr + rd.Next(10000).ToString().PadLeft(4, '0');//带日期的随机数 //suorder.payType = order.PAYTYPE; ////从支付信息里面取最后审核过的一条记录,如果支付流水是数字,那么就取这条支付记录调用UP接口, ////因为针对线上订单,开通的时候会推送支付信息个补单接口,支付流水号一致的情况,就不会写入重复的流水信息 //var payInfoList = _orderPay.GetListByOrderId(Convert.ToInt32(order.ORDERID)); //if (payInfoList != null && payInfoList.Count > 0) //{ // if (!Utility.IsChinese(payInfoList[0].payno)) // { // str = payInfoList[0].payno + "_" + order.ORDERID; // suorder.payType = payInfoList[0].paytype; // } //} //suorder.payId = str;//先随机生成 //suorder.payPrice = Convert.ToInt32((order.NEEDPAY.Value == 0 ? 1 : order.NEEDPAY.Value) * 100);//这里默认是1块钱,因为软件接口支付金额不允许为0 //suorder.userName = order.SOFTUSERNAME; //suorder.isFree = 0; //suorder.payRemark = "";//支付备注 ////string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 //string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_OpenOrder);//封装出来的接口 //string json = JsonHelper.ObjDivertToJson(suorder); //LogHelper.Info("Node.JS接口参数json=>:" + json); //json = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json, SecurityHelper.OrderClientIdKey)); //string retmsg = Utility.PostAjaxData(url, json, Encoding.UTF8);//返回信息 //LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg); //#endregion ////retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); //OpenOrderRsp retmessage = JsonHelper.JsonDivertToObj(retmsg); //if (retmessage.retCode == (int)NodeJsOrderEnum.调用成功)//开通成功 //{ // //根据客户签约姓名更新订单用户名 // var cName = retmessage.retMsg; // if (!string.IsNullOrWhiteSpace(cName) && cName != "Success") // { // if (cName.Contains('|')) // { // var arr = cName.Split('|'); // order.CNAME = arr[0]; // order.idcard = arr[1]; // } // else // { // order.CNAME = cName; // } // } // _order.Update(order);//进行修改操作 // //OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); // var orderSubProduct = product_bl.GetSubProduct(order.PRODUCTCODE); // //如果是升级单,并且填写了升级单号则关闭对应的订单号 // if (order.ORDERTYPE == 3) // { // if (!string.IsNullOrEmpty(order.UPGRADEORDERIDS)) // { // var upgradeOrderList = order.UPGRADEORDERIDS.Split(',').Select(m => Convert.ToDecimal(m)).ToList(); // foreach (var orderid in upgradeOrderList) // { // var oldOrder = _order.Get(p => p.ORDERID == orderid); // if (oldOrder != null) // { // //如果渠道产品的属性存在,用渠道产品的属性覆盖现有属性 // var orderSubProductCH = product_bl.GetSzzySubProductChInfo(orderSubProduct.SUBPRODUCTID, order.CHANNEL); // if (orderSubProductCH != null) // { // orderSubProduct.Category = orderSubProductCH.category; // orderSubProduct.CloseUpgradeRole = orderSubProductCH.closeupgraderole; // } // var oldOrderSubProduct = product_bl.GetSubProduct(oldOrder.PRODUCTCODE); // //如果渠道产品的属性存在,用渠道产品的属性覆盖现有属性 // var oldOrderSubProductCH = product_bl.GetSzzySubProductChInfo(oldOrderSubProduct.SUBPRODUCTID, oldOrder.CHANNEL); // if (oldOrderSubProductCH != null) // { // oldOrderSubProduct.CanUpgrade = oldOrderSubProductCH.canupgrade.Value; // oldOrderSubProduct.Category = oldOrderSubProductCH.category; // } // //只有当被升级的订单也是可以升级的订单,也就是说投顾产品之间互相升级,这种才会关闭原来订单 // //如果是从非投顾产品补差价升级到投顾产品,原订单的权限不关闭 // //如果升级的产品和原来的产品的分类Category相同,那么也会执行关闭旧订单操作 // //如果产品设置成需要关系被升级订单的权限 // if ((oldOrderSubProduct != null && oldOrderSubProduct.CanUpgrade == 1) // || (oldOrderSubProduct != null && orderSubProduct != null && orderSubProduct.Category == oldOrderSubProduct.Category) // || (orderSubProduct.CloseUpgradeRole.HasValue && orderSubProduct.CloseUpgradeRole == 1)) // { // #region =================调用NodeJs关闭订单======================== // LogHelper.Info("====调用NodeJs关闭订单==="); // freeOrderClose suorder2 = new freeOrderClose // { // userName = oldOrder.SOFTUSERNAME, // flag = "2", // orderId = oldOrder.SZZYORDERID.ToString() // }; // var url2 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_closeFreeOrder);//封装出来的接口 // var json2 = JsonHelper.ObjDivertToJson(suorder2); // LogHelper.Info("Node.JS接口参数json=>:" + json2); // var param2 = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json2, SecurityHelper.OrderClientIdKey)); // string retmsg2 = Utility.PostAjaxData(url2, param2, Encoding.UTF8);//返回信息 // LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg2); // freeOrderCloseRes retmessage2 = JsonHelper.JsonDivertToObj(retmsg2); // //关闭订单成功,本地被升级的订单更新成已升级状态 // if (retmessage2.iRet == 0) // { // oldOrder.ORDERSTATUS = "205"; // oldOrder.ORDERSTATUSNAME = "已升级"; // _order.Update(oldOrder); // EventBus.Instance.Publish(new UpGradeOrderEvent(Convert.ToInt32(oldOrder.ORDERID), oldOrder.ORDERSTATUS, oldOrder.ORDERSTATUSNAME, oldOrder.companycode)); // #region 如果升级单有赠送的单,也要执行关闭 // if (!string.IsNullOrEmpty(oldOrder.activeproductext)) // { // #region 赠送订单退款 // var activeProductExt = Utility.JSONToObject>(oldOrder.activeproductext); // //activeProductExt.Reverse(); // var i = 0; // foreach (var item in activeProductExt) // { // var refundReq = new freeOrderClose { userName = order.SOFTUSERNAME, orderId = item.SzzyOrderId.ToString(), flag = "2" }; // var param = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(refundReq), SecurityHelper.OrderClientIdKey)); // var refundRet = Utility.PostAjaxData(url2, param, Encoding.UTF8); // var refundRetMsg = JsonHelper.JsonDivertToObj(refundRet); // if (refundRetMsg.iRet == 0) // { // i++; // } // else // { // LogHelper.Error("执行升级单--赠送订单关闭失败:参数:" + refundRet + "--执行结果:+" + refundRet); // } // } // #endregion // } // #endregion // } // #endregion // } // } // } // } // } // #region =========赠送活动========== // if ((order.giftdays.HasValue && order.giftdays > 0) || (order.giftdays2.HasValue && order.giftdays2 > 0)) // { // //查询符合条件的活动信息 // var orderCdate = DateTime.Now.Date; // if (order.CTIME.HasValue) // { // orderCdate = order.CTIME.Value.Date; // } // var activeList = orderActive_BL.GetList(order.PRODUCTCODE, order.companycode, orderCdate); // if (activeList != null && activeList.Count > 0) // { // string activeproductcode = ""; // List activeProductList = new List(); // foreach (var active in activeList) // { // //订购的数量达到最低要求 // if (order.BOOKNUM >= active.MinCount) // { // var count = 0;//产品数量 // //是否跟随订单赠送,1:用订单表的giftdays字段作为赠送时长,0:用本表的donateday字段作为赠送时长,2:用订单表的giftdays2字段作为赠送时长 // if (active.IsFollowOrder == 1 && order.giftdays > 0) // { // count = order.BOOKNUM * order.giftdays.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 // } // else if (active.IsFollowOrder == 2 && order.giftdays2 > 0) // { // count = order.BOOKNUM * order.giftdays2.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 // } // else if (active.IsFollowOrder == 0 && order.giftdays > 0) // { // count = order.BOOKNUM * active.DonateDay;//产品数量 // } // //如果赠送为0,那么就跳过这个赠送产品,执行下一个赠送产品 // if (count == 0) // { // continue; // } // ////ActiveType字段现在已经没用了,数据库统一设置成1 // //if (active.ActiveType == 2) // //{ // // var opendays = order.OPENDAYS ?? 0; // // count = Convert.ToInt32(opendays) + order.BOOKNUM * active.DonateDay; // //} // #region =================调用NodeJs创建订单======================== // LogHelper.Info("====调用NodeJs创建活动订单==="); // //int channel = 0; // //int.TryParse(order.CHANNEL, out channel); // CreateOrderReq freeorder = new CreateOrderReq(); // freeorder.productId = active.ActiveCode; // freeorder.userName = order.SOFTUSERNAME; // freeorder.count = count;//产品数量 // freeorder.busType = 1;// // freeorder.ch = order.CHANNEL; // freeorder.source = 1; // freeorder.productType = active.ProductType;//0-单一产品、1-组合产品 // freeorder.totalPrice = 0; // freeorder.cssId = order.INNERUSERID.ToString(); // freeorder.currentCH = order.CHANNEL; // freeorder.ip = WX.CRM.Common.Utility.GetIp();//获取客户端IP // //string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 // url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);//封装出来的接口 // string freejson = JsonHelper.ObjDivertToJson(freeorder); // LogHelper.Info("OpenFreeOrder=>Node.JS接口参数json=>:" + freejson); // freejson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(freeorder), SecurityHelper.OrderClientIdKey)); // string freeretmsg = Utility.PostAjaxData(url, freejson, Encoding.UTF8);//返回信息 // LogHelper.Info("OpenFreeOrder=>Node.JS接口返回数据json=>:" + freeretmsg); // //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); // CreateOrderRsp freeres = JsonHelper.JsonDivertToObj(freeretmsg); // //====================================================================== // #endregion // if (freeres.retCode == (int)NodeJsOrderEnum.调用成功) // { // activeproductcode += active.ActiveCode + ","; // activeProductList.Add(new ActiveProduct { ActiveProductCode = active.ActiveCode, ActiveProductName = active.ProductName, DonateDay = count.ToString(), SzzyOrderId = Convert.ToInt64(freeres.orderId) }); // L2_SOFT_ORDER model = new L2_SOFT_ORDER(); // model.ORDERSTATUS = 1; // model.OPENUSER = order.INNERUSERID; // model.OTIME = DateTime.Now; // model.WEBORDERID = freeres.orderId; // model.PRODUCTID = active.ProductId; // model.PRODUCTCODE = active.ActiveCode; // model.RESID = order.RESID; // model.USERNAME = order.SOFTUSERNAME; // model.COMPANYID = order.SALEDEPTID; // model.CREATEUSER = order.INNERUSERID.Value; // model.ORDERTYPE = 1; // model.DAYS = count; // model.PRICE = 0; // model.CTIME = DateTime.Now; // model.companycode = order.companycode; // bool result = l2_soft_order_bl.OpenOrder(model); // //retmessage.selfOirderId = model.ORDERID.ToString(); // } // else // { // LogHelper.Error("retmessage:" + freeretmsg);//记录下单不成功 // } // } // } // if (!string.IsNullOrWhiteSpace(activeproductcode)) // { // order.activeproductcode = activeproductcode.Trim(','); // order.activeproductext = JsonHelper.ObjDivertToJson(activeProductList); // _order.Update(order);//进行修改操作 // //OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); // } // } // } // OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); // #endregion // try // { // #region 北二关闭至尊擒龙体验权限 // var zzb = product_bl.GetSubProductListByProductId(0, 0, null).FirstOrDefault(p => p.SUBPRODUCTID == order.SUBPRODUCTID); // if (zzb != null) // { // //至尊版 // if (zzb.MidProductId == 100800201) // { // var l2Order = l2_soft_order_bl.Get(p => p.USERNAME == order.SOFTUSERNAME && p.PRODUCTCODE == "UPCFJC_20200902173925_MFTY"); // if (l2Order != null) // { // #region =================调用NodeJs关闭订单======================== // LogHelper.Info("====调用NodeJs关闭至尊擒龙体验权限==="); // var suorder2 = new freeOrderClose // { // userName = l2Order.USERNAME, // flag = "0", // orderId = l2Order.WEBORDERID // }; // var url2 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_closeFreeOrder);//封装出来的接口 // var json2 = JsonHelper.ObjDivertToJson(suorder2); // LogHelper.Info("Node.JS接口参数json=>:" + json2); // var param2 = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json2, SecurityHelper.OrderClientIdKey)); // var retmsg2 = Utility.PostAjaxData(url2, param2, Encoding.UTF8);//返回信息 // LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg2); // var retmessage2 = JsonHelper.JsonDivertToObj(retmsg2); // if (retmessage2.iRet == 0) // { // l2_soft_order_bl.closeOrder(l2Order.WEBORDERID); // EventBus.Instance.Publish(new CloseFreeOrderEvent(l2Order.WEBORDERID, order.companycode)); // } // #endregion // } // } // } // #endregion // } // catch (Exception exx) // { // LogHelper.Error("北二关闭体验权限失败:" + exx.ToString()); // } // try // { // #region 更新订金状态 // var orderDeposit = _orderDeposit.GetList(p => p.orderid == order.ORDERID); // if (orderDeposit.Any()) // { // foreach (var item in orderDeposit) // { // item.isuse = -1; // _orderDeposit.Update(item); // //执行更新订金状态事件 // EventBus.Instance.Publish(new DepositUseOrderEvent(item.id, item.isuse, item.companycode)); // } // } // #endregion // #region 发送短信 // var donateDays = string.Empty; // if (!string.IsNullOrEmpty(order.activeproductext)) // { // var activeProduct = JsonHelper.JsonDivertToObj>(order.activeproductext); // if (activeProduct != null) // { // donateDays = activeProduct.First().DonateDay; // } // //if (activeProduct.Count > 1) // //{ // // var activeSubProduct = activeProduct.First(p => p.ActiveProductCode == order.activeproductcode); // // if (activeSubProduct != null) // // { // // donateDays = activeSubProduct.DonateDay; // // } // // else // // { // // donateDays = activeProduct.First().DonateDay; // // } // //} // //else // //{ // // donateDays = activeProduct.First().DonateDay; // //} // } // OpenOrderSendSmsExec(int.Parse(order.ORDERID.ToString()), order.SOFTUSERNAME, order.SUBPRODUCTNAME, order.OPENDAYS.ToString(), donateDays, order.RESID); // #endregion // } // catch (Exception ex) // { // LogHelper.Error("发送短信失败:" + ex.ToString()); // } // //推送开通订单到所有营业点 // //EventBus.Instance.Publish(new AllOpenOrderEvent(order)); // return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); //} //else if (retmessage.retCode == (int)NodeJsOrderEnum.已经开通)//已经开通过 //{ // //LogHelper.Info("order.ORDERSTATUS:" + order.ORDERSTATUS); // //if (order.ORDERSTATUS != "220") // //{ // _order.Update(order);//进行修改操作 // OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, string.Empty, order.RESID); // //推送开通订单到所有营业点 // EventBus.Instance.Publish(new AllOpenOrderEvent(order)); // //} // return Json(new retMsg { result = false, retmsg = "更新订单状态成功!" }, JsonRequestBehavior.AllowGet); //} //else //{ // return Json(new retMsg { result = false, retmsg = string.IsNullOrEmpty(retmessage.retMsg) ? Utility.GetCheckEnumNameByValue(retmessage.retCode) : retmessage.retMsg }, JsonRequestBehavior.AllowGet); //} #endregion 旧的开通方法(放弃掉,直接走OrderService) } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new retMsg { result = false, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet); } } [AuthorizeRedirect(RightsConfig.CONST_合规重做, ToolBarConfig.CONST_NotButton, true)] [HttpGet] public JsonResult DonateFreeOrder(int orderid) { //return null; var order = _order.GetModel(orderid); //var orderSubProduct = product_bl.GetSubProduct(order.PRODUCTCODE); ////如果是升级单,并且填写了升级单号则关闭对应的订单号 //if (order.ORDERTYPE == 3) //{ // if (!string.IsNullOrEmpty(order.UPGRADEORDERIDS)) // { // var upgradeOrderList = order.UPGRADEORDERIDS.Split(',').Select(m => Convert.ToDecimal(m)).ToList(); // foreach (var orderid in upgradeOrderList) // { // var oldOrder = _order.Get(p => p.ORDERID == orderid); // if (oldOrder != null) // { // //如果渠道产品的属性存在,用渠道产品的属性覆盖现有属性 // var orderSubProductCH = product_bl.GetSzzySubProductChInfo(orderSubProduct.SUBPRODUCTID, order.CHANNEL); // if (orderSubProductCH != null) // { // orderSubProduct.Category = orderSubProductCH.category; // orderSubProduct.CloseUpgradeRole = orderSubProductCH.closeupgraderole; // } // var oldOrderSubProduct = product_bl.GetSubProduct(oldOrder.PRODUCTCODE); // //如果渠道产品的属性存在,用渠道产品的属性覆盖现有属性 // var oldOrderSubProductCH = product_bl.GetSzzySubProductChInfo(oldOrderSubProduct.SUBPRODUCTID, oldOrder.CHANNEL); // if (oldOrderSubProductCH != null) // { // oldOrderSubProduct.CanUpgrade = oldOrderSubProductCH.canupgrade.Value; // oldOrderSubProduct.Category = oldOrderSubProductCH.category; // } // //只有当被升级的订单也是可以升级的订单,也就是说投顾产品之间互相升级,这种才会关闭原来订单 // //如果是从非投顾产品补差价升级到投顾产品,原订单的权限不关闭 // //如果升级的产品和原来的产品的分类Category相同,那么也会执行关闭旧订单操作 // //如果产品设置成需要关系被升级订单的权限 // if ((oldOrderSubProduct != null && oldOrderSubProduct.CanUpgrade == 1) // || (oldOrderSubProduct != null && orderSubProduct != null && orderSubProduct.Category == oldOrderSubProduct.Category) // || (orderSubProduct.CloseUpgradeRole.HasValue && orderSubProduct.CloseUpgradeRole == 1)) // { // #region =================调用NodeJs关闭订单======================== // LogHelper.Info("====调用NodeJs关闭订单==="); // freeOrderClose suorder2 = new freeOrderClose // { // userName = oldOrder.SOFTUSERNAME, // flag = "2", // orderId = oldOrder.SZZYORDERID.ToString() // }; // var url2 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_closeFreeOrder);//封装出来的接口 // var json2 = JsonHelper.ObjDivertToJson(suorder2); // LogHelper.Info("Node.JS接口参数json=>:" + json2); // var param2 = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json2, SecurityHelper.OrderClientIdKey)); // string retmsg2 = Utility.PostAjaxData(url2, param2, Encoding.UTF8);//返回信息 // LogHelper.Info("Node.JS接口返回数据json=>:" + retmsg2); // freeOrderCloseRes retmessage2 = JsonHelper.JsonDivertToObj(retmsg2); // //关闭订单成功,本地被升级的订单更新成已升级状态 // if (retmessage2.iRet == 0) // { // oldOrder.ORDERSTATUS = "205"; // oldOrder.ORDERSTATUSNAME = "已升级"; // _order.Update(oldOrder); // EventBus.Instance.Publish(new UpGradeOrderEvent(Convert.ToInt32(oldOrder.ORDERID), oldOrder.ORDERSTATUS, oldOrder.ORDERSTATUSNAME, oldOrder.companycode)); // #region 如果升级单有赠送的单,也要执行关闭 // if (!string.IsNullOrEmpty(oldOrder.activeproductext)) // { // #region 赠送订单退款 // var activeProductExt = Utility.JSONToObject>(oldOrder.activeproductext); // //activeProductExt.Reverse(); // var i = 0; // foreach (var item in activeProductExt) // { // var refundReq = new freeOrderClose { userName = order.SOFTUSERNAME, orderId = item.SzzyOrderId.ToString(), flag = "2" }; // var param = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(refundReq), SecurityHelper.OrderClientIdKey)); // var refundRet = Utility.PostAjaxData(url2, param, Encoding.UTF8); // var refundRetMsg = JsonHelper.JsonDivertToObj(refundRet); // if (refundRetMsg.iRet == 0) // { // i++; // } // else // { // LogHelper.Error("执行升级单--赠送订单关闭失败:参数:" + refundRet + "--执行结果:+" + refundRet); // } // } // #endregion // } // #endregion // } // #endregion // } // } // } // } //} #region =========赠送活动========== if ((order.giftdays.HasValue && order.giftdays > 0) || (order.giftdays2.HasValue && order.giftdays2 > 0)) { //查询符合条件的活动信息 var orderCdate = DateTime.Now.Date; if (order.CTIME.HasValue) { orderCdate = order.CTIME.Value.Date; } var activeList = orderActive_BL.GetList(order.PRODUCTCODE, order.companycode, orderCdate); if (activeList != null && activeList.Count > 0) { string activeproductcode = ""; List activeProductList = new List(); foreach (var active in activeList) { //订购的数量达到最低要求 if (order.BOOKNUM >= active.MinCount) { var count = 0;//产品数量 //是否跟随订单赠送,1:用订单表的giftdays字段作为赠送时长,0:用本表的donateday字段作为赠送时长,2:用订单表的giftdays2字段作为赠送时长 if (active.IsFollowOrder == 1 && order.giftdays > 0) { count = order.BOOKNUM * order.giftdays.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 } else if (active.IsFollowOrder == 2 && order.giftdays2 > 0) { count = order.BOOKNUM * order.giftdays2.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 } else if (active.IsFollowOrder == 0 && order.giftdays > 0) { count = order.BOOKNUM * active.DonateDay;//产品数量 } //如果赠送为0,那么就跳过这个赠送产品,执行下一个赠送产品 if (count == 0) { continue; } ////ActiveType字段现在已经没用了,数据库统一设置成1 //if (active.ActiveType == 2) //{ // var opendays = order.OPENDAYS ?? 0; // count = Convert.ToInt32(opendays) + order.BOOKNUM * active.DonateDay; //} #region =================调用NodeJs创建订单======================== LogHelper.Info("====调用NodeJs创建活动订单==="); //int channel = 0; //int.TryParse(order.CHANNEL, out channel); CreateOrderReq freeorder = new CreateOrderReq(); freeorder.productId = active.ActiveCode; freeorder.userName = order.SOFTUSERNAME; freeorder.count = count;//产品数量 freeorder.busType = 1;// freeorder.ch = order.CHANNEL; freeorder.source = 1; freeorder.productType = active.ProductType;//0-单一产品、1-组合产品 freeorder.totalPrice = 0; freeorder.cssId = order.INNERUSERID.ToString(); freeorder.currentCH = order.CHANNEL; freeorder.ip = "100.120.94.164";//获取客户端IP //string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 var url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);//封装出来的接口 string freejson = JsonHelper.ObjDivertToJson(freeorder); LogHelper.Info("OpenFreeOrder=>Node.JS接口参数json=>:" + freejson); freejson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(freeorder), SecurityHelper.OrderClientIdKey)); string freeretmsg = Utility.PostAjaxData(url, freejson, Encoding.UTF8);//返回信息 LogHelper.Info("OpenFreeOrder=>Node.JS接口返回数据json=>:" + freeretmsg); //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); CreateOrderRsp freeres = JsonHelper.JsonDivertToObj(freeretmsg); //====================================================================== #endregion =================调用NodeJs创建订单======================== if (freeres.retCode == (int)NodeJsOrderEnum.调用成功) { activeproductcode += active.ActiveCode + ","; activeProductList.Add(new ActiveProduct { ActiveProductCode = active.ActiveCode, ActiveProductName = active.ProductName, DonateDay = count.ToString(), SzzyOrderId = Convert.ToInt64(freeres.orderId) }); L2_SOFT_ORDER model = new L2_SOFT_ORDER(); model.ORDERSTATUS = 1; model.OPENUSER = order.INNERUSERID; model.OTIME = DateTime.Now; model.WEBORDERID = freeres.orderId; model.PRODUCTID = active.ProductId; model.PRODUCTCODE = active.ActiveCode; model.RESID = order.RESID; model.USERNAME = order.SOFTUSERNAME; model.COMPANYID = order.SALEDEPTID; model.CREATEUSER = order.INNERUSERID.Value; model.ORDERTYPE = 1; model.DAYS = count; model.PRICE = 0; model.CTIME = DateTime.Now; model.companycode = order.companycode; model.MainOrderId = Convert.ToInt32(order.ORDERID); model.deptName = order.deptName; model.deptid = order.deptid; model.groupid = order.groupid; model.sourcetype = 1;//订单开通 bool result = l2_soft_order_bl.OpenOrder(model); //retmessage.selfOirderId = model.ORDERID.ToString(); } else { LogHelper.Error("retmessage:" + freeretmsg);//记录下单不成功 } } } if (!string.IsNullOrWhiteSpace(activeproductcode)) { order.activeproductcode = activeproductcode.Trim(','); order.activeproductext = JsonHelper.ObjDivertToJson(activeProductList); _order.Update(order);//进行修改操作 //OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); } } } #endregion =========赠送活动========== OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); } public JsonResult DonateFreeOrderByProductCode(decimal orderId, string flag, string productCode) { return null; if (flag != "donatemanual" || string.IsNullOrWhiteSpace(productCode)) { return Json(new retMsg { result = false, retmsg = "" }, JsonRequestBehavior.AllowGet); } var order = _order.GetModel(orderId); if (order == null) { return Json(new retMsg { result = false, retmsg = "订单不存在" }, JsonRequestBehavior.AllowGet); } if (order.ORDERSTATUS != "220") { return Json(new retMsg { result = false, retmsg = "只有已经开通的订单才能执行赠送操作" }, JsonRequestBehavior.AllowGet); } if (!order.giftdays.HasValue || order.giftdays == 0) { return Json(new retMsg { result = false, retmsg = "只有选择了赠送时长的订单才能执行赠送操作" }, JsonRequestBehavior.AllowGet); } try { //查询符合条件的活动信息 var orderCdate = DateTime.Now.Date; if (order.CTIME.HasValue) { orderCdate = order.CTIME.Value.Date; } var activeList = orderActive_BL.GetListByManual(productCode, order.companycode); if (activeList != null && activeList.Count > 0) { string activeproductcode = ""; //如果原订单已经有赠送活动信息 if (!string.IsNullOrWhiteSpace(order.activeproductcode)) { activeproductcode = order.activeproductcode + ","; } List activeProductList = new List(); //如果原订单已经有赠送订单信息 if (!string.IsNullOrWhiteSpace(order.activeproductext)) { var jsonlist = JsonHelper.JsonDivertToObj>(order.activeproductext); if (jsonlist != null) { activeProductList = jsonlist; } } foreach (var active in activeList) { //订购的数量达到最低要求 if (order.BOOKNUM >= active.MinCount) { var count = order.BOOKNUM * order.giftdays.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 //是否跟随订单赠送,1:用订单表的giftdays字段作为赠送时长,0:用本表的donateday字段作为赠送时长 if (active.IsFollowOrder == 0) { count = order.BOOKNUM * active.DonateDay;//产品数量 } if (active.ActiveType == 2) { var opendays = order.OPENDAYS; count = Convert.ToInt32(opendays) + order.BOOKNUM * active.DonateDay; } LogHelper.Info(string.Format("订单id:{0},赠送活动:{1},赠送天数:{2}", order.ORDERID, active.ActiveCode, count)); #region =================调用NodeJs创建订单======================== LogHelper.Info("====调用NodeJs创建活动订单==="); //int channel = 0; //int.TryParse(order.CHANNEL, out channel); CreateOrderReq freeorder = new CreateOrderReq(); freeorder.productId = active.ActiveCode; freeorder.userName = order.SOFTUSERNAME; freeorder.count = count;//产品数量 freeorder.busType = 1;// freeorder.ch = order.CHANNEL; freeorder.source = 1; freeorder.productType = active.ProductType;//0-单一产品、1-组合产品 freeorder.totalPrice = 0; freeorder.cssId = order.INNERUSERID.ToString(); freeorder.currentCH = order.CHANNEL; freeorder.ip = WX.CRM.Common.Utility.GetIp();//获取客户端IP //string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);//封装出来的接口 string freejson = JsonHelper.ObjDivertToJson(freeorder); LogHelper.Info("OpenFreeOrder=>Node.JS接口参数json=>:" + freejson); freejson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(freeorder), SecurityHelper.OrderClientIdKey)); string freeretmsg = Utility.PostAjaxData(url, freejson, Encoding.UTF8);//返回信息 LogHelper.Info("OpenFreeOrder=>Node.JS接口返回数据json=>:" + freeretmsg); //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); CreateOrderRsp freeres = JsonHelper.JsonDivertToObj(freeretmsg); //====================================================================== #endregion =================调用NodeJs创建订单======================== if (freeres.retCode == (int)NodeJsOrderEnum.调用成功) { activeproductcode += active.ActiveCode + ","; activeProductList.Add(new ActiveProduct { ActiveProductCode = active.ActiveCode, ActiveProductName = active.ProductName, DonateDay = count.ToString(), SzzyOrderId = Convert.ToInt64(freeres.orderId) }); L2_SOFT_ORDER model = new L2_SOFT_ORDER(); model.ORDERSTATUS = 1; model.OPENUSER = order.INNERUSERID; model.OTIME = DateTime.Now; model.WEBORDERID = freeres.orderId; model.PRODUCTID = active.ProductId; model.PRODUCTCODE = active.ActiveCode; model.RESID = order.RESID; model.USERNAME = order.SOFTUSERNAME; model.COMPANYID = order.SALEDEPTID; model.CREATEUSER = order.INNERUSERID.Value; model.ORDERTYPE = 1; model.DAYS = count; model.PRICE = 0; model.CTIME = DateTime.Now; model.companycode = order.companycode; bool result = l2_soft_order_bl.OpenOrder(model); //retmessage.selfOirderId = model.ORDERID.ToString(); } else { LogHelper.Error("retmessage:" + freeretmsg);//记录下单不成功 } } } if (!string.IsNullOrWhiteSpace(activeproductcode)) { order.activeproductcode = activeproductcode.Trim(','); order.activeproductext = JsonHelper.ObjDivertToJson(activeProductList); _order.Update(order);//进行修改操作 OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); } return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); } else { return Json(new retMsg { result = false, retmsg = "没有找到该产品的赠送相关活动" }, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { return Json(new retMsg { result = false, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet); } //OpenOrderSendSmsExec(order.SOFTUSERNAME, order.SUBPRODUCTNAME, order.OPENDAYS.ToString(), string.Empty, order.RESID); } public JsonResult BatchDonateFreeOrderByProductCode(string flag, string productCode) { return null; //if (flag != "donatemanual") //{ // return Json(new retMsg { result = false, retmsg = "" }, JsonRequestBehavior.AllowGet); //} ////10082 ////10089 ////100810 ////100813 ////100814 ////100815 ////100821 ////100822 ////100826 ////100827 ////100828 ////100829 ////100830 ////100831 ////100833 ////100834 ////100835 ////100836 ////100837 ////100838 ////100839 //Laypage pager = new Laypage { page = 1, limit = 100 }; //var list = _order.GetList(ref pager, null, null, null, null, "", "", "", null, 1008, 10082, null); //LogHelper.Info("订单数量:" + pager.count); //try //{ // foreach (var order in list) // { // //查询符合条件的活动信息 // var orderCdate = DateTime.Now.Date; // if (order.CTIME.HasValue) // { // orderCdate = order.CTIME.Value.Date; // } // var active = orderActive_BL.GetModelById(7); // if (active != null) // { // string activeproductcode = ""; // //如果原订单已经有赠送活动信息 // if (!string.IsNullOrWhiteSpace(order.activeproductcode)) // { // activeproductcode = order.activeproductcode + ","; // } // List activeProductList = new List(); // //如果原订单已经有赠送订单信息 // if (!string.IsNullOrWhiteSpace(order.activeproductext)) // { // var jsonlist = JsonHelper.JsonDivertToObj>(order.activeproductext); // if (jsonlist != null) // { // activeProductList = jsonlist; // } // } // //订购的数量达到最低要求 // if (order.BOOKNUM >= active.MinCount) // { // var count = order.BOOKNUM * order.giftdays.Value; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 // //是否跟随订单赠送,1:用订单表的giftdays字段作为赠送时长,0:用本表的donateday字段作为赠送时长 // if (active.IsFollowOrder == 0) // { // count = order.BOOKNUM * active.DonateDay;//产品数量 // } // if (active.ActiveType == 2) // { // var opendays = order.OPENDAYS ?? 0; // count = Convert.ToInt32(opendays) + order.BOOKNUM * active.DonateDay; // } // LogHelper.Info(string.Format("订单id:{0},赠送活动:{1},赠送天数:{2}", order.ORDERID, active.ActiveCode, count)); // #region =================调用NodeJs创建订单======================== // LogHelper.Info("====调用NodeJs创建活动订单==="); // //int channel = 0; // //int.TryParse(order.CHANNEL, out channel); // CreateOrderReq freeorder = new CreateOrderReq(); // freeorder.productId = active.ActiveCode; // freeorder.userName = order.SOFTUSERNAME; // freeorder.count = count;//产品数量 // freeorder.busType = 1;// // freeorder.ch = order.CHANNEL; // freeorder.source = 1; // freeorder.productType = active.ProductType;//0-单一产品、1-组合产品 // freeorder.totalPrice = 0; // freeorder.cssId = order.INNERUSERID.ToString(); // freeorder.currentCH = order.CHANNEL; // freeorder.ip = WX.CRM.Common.Utility.GetIp();//获取客户端IP // //string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 // string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);//封装出来的接口 // string freejson = JsonHelper.ObjDivertToJson(freeorder); // LogHelper.Info("OpenFreeOrder=>Node.JS接口参数json=>:" + freejson); // freejson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(freeorder), SecurityHelper.OrderClientIdKey)); // string freeretmsg = Utility.PostAjaxData(url, freejson, Encoding.UTF8);//返回信息 // LogHelper.Info("OpenFreeOrder=>Node.JS接口返回数据json=>:" + freeretmsg); // //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); // CreateOrderRsp freeres = JsonHelper.JsonDivertToObj(freeretmsg); // //====================================================================== // #endregion // if (freeres.retCode == (int)NodeJsOrderEnum.调用成功) // { // activeproductcode += active.ActiveCode + ","; // activeProductList.Add(new ActiveProduct { ActiveProductCode = active.ActiveCode, ActiveProductName = active.ProductName, DonateDay = count.ToString(), SzzyOrderId = Convert.ToInt64(freeres.orderId) }); // L2_SOFT_ORDER model = new L2_SOFT_ORDER(); // model.ORDERSTATUS = 1; // model.OPENUSER = order.INNERUSERID; // model.OTIME = DateTime.Now; // model.WEBORDERID = freeres.orderId; // model.PRODUCTID = active.ProductId; // model.PRODUCTCODE = active.ActiveCode; // model.RESID = order.RESID; // model.USERNAME = order.SOFTUSERNAME; // model.COMPANYID = order.SALEDEPTID; // model.CREATEUSER = order.INNERUSERID.Value; // model.ORDERTYPE = 1; // model.DAYS = count; // model.PRICE = 0; // model.CTIME = DateTime.Now; // model.companycode = order.companycode; // bool result = l2_soft_order_bl.OpenOrder(model); // //retmessage.selfOirderId = model.ORDERID.ToString(); // } // else // { // LogHelper.Error("retmessage:" + freeretmsg);//记录下单不成功 // } // } // if (!string.IsNullOrWhiteSpace(activeproductcode)) // { // order.activeproductcode = activeproductcode.Trim(','); // order.activeproductext = JsonHelper.ObjDivertToJson(activeProductList); // _order.Update(order);//进行修改操作 // OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); // } // } // //return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); // } // return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); //} //catch (Exception ex) //{ // return Json(new retMsg { result = false, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet); //} //OpenOrderSendSmsExec(order.SOFTUSERNAME, order.SUBPRODUCTNAME, order.OPENDAYS.ToString(), string.Empty, order.RESID); } public JsonResult BatchDonateFreeOrderByProductCode2(string flag, int page, int limit) { return null; //if (flag != "donatemanual") //{ // return Json(new retMsg { result = false, retmsg = "" }, JsonRequestBehavior.AllowGet); //} //Laypage pager = new Laypage { page = page, limit = limit }; //var list = _order.GetList(ref pager, null, null, null, null, "", "", "", null, 1009, 10092, null); //LogHelper.Info("订单总数量:" + pager.count); //if (list != null) //{ // LogHelper.Info("该次处理订单数量:" + list.Count); //} //try //{ // foreach (var order in list) // { // if(order.ORDERSTATUS== "220" || order.ORDERSTATUS=="205" || order.ORDERSTATUS == "90" || order.ORDERSTATUS == "80") // //if (order.ORDERSTATUS == "80") // { // //查询符合条件的活动信息 // var orderCdate = DateTime.Now.Date; // if (order.CTIME.HasValue) // { // orderCdate = order.CTIME.Value.Date; // } // string activeproductcode = ""; // //如果原订单已经有赠送活动信息 // if (!string.IsNullOrWhiteSpace(order.activeproductcode)) // { // activeproductcode = order.activeproductcode + ","; // } // List activeProductList = new List(); // //如果原订单已经有赠送订单信息 // if (!string.IsNullOrWhiteSpace(order.activeproductext)) // { // var jsonlist = JsonHelper.JsonDivertToObj>(order.activeproductext); // if (jsonlist != null) // { // activeProductList = jsonlist; // } // } // var count = 30; //赠送天数,目前赠送天数以坐席端选择的赠送为准,不从活动表获取了 // //是否跟随订单赠送,1:用订单表的giftdays字段作为赠送时长,0:用本表的donateday字段作为赠送时长 // LogHelper.Info(string.Format("汇金长盈订单id:{0},用户名:{1},赠送活动:{2},赠送天数:{3}", order.ORDERID,order.SOFTUSERNAME, "UPCFJC_20191014141105_MFTY", count)); // #region =================调用NodeJs创建订单======================== // LogHelper.Info("====调用NodeJs创建活动订单==="); // //int channel = 0; // //int.TryParse(order.CHANNEL, out channel); // CreateOrderReq freeorder = new CreateOrderReq(); // freeorder.productId = "UPCFJC_20191014141105_MFTY"; // freeorder.userName = order.SOFTUSERNAME; // freeorder.count = count;//产品数量 // freeorder.busType = 1;// // freeorder.ch = order.CHANNEL; // freeorder.source = 1; // freeorder.productType = 0;//0-单一产品、1-组合产品 // freeorder.totalPrice = 0; // freeorder.cssId = order.INNERUSERID.ToString(); // freeorder.currentCH = order.CHANNEL; // freeorder.ip = WX.CRM.Common.Utility.GetIp();//获取客户端IP // //string json = string.Format("content={0}&clientid={1}&sign={2}", content, clientid, sign);//信息转发 // string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);//封装出来的接口 // string freejson = JsonHelper.ObjDivertToJson(freeorder); // LogHelper.Info("OpenFreeOrder=>Node.JS接口参数json=>:" + freejson); // freejson = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(JsonHelper.ObjDivertToJson(freeorder), SecurityHelper.OrderClientIdKey)); // string freeretmsg = Utility.PostAjaxData(url, freejson, Encoding.UTF8);//返回信息 // LogHelper.Info("OpenFreeOrder=>Node.JS接口返回数据json=>:" + freeretmsg); // //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); // CreateOrderRsp freeres = JsonHelper.JsonDivertToObj(freeretmsg); // //====================================================================== // #endregion // if (freeres.retCode == (int)NodeJsOrderEnum.调用成功) // { // activeproductcode += "UPCFJC_20191014141105_MFTY" + ","; // activeProductList.Add(new ActiveProduct { ActiveProductCode = "UPCFJC_20191014141105_MFTY", ActiveProductName = "至尊版活动", DonateDay = count.ToString(), SzzyOrderId = Convert.ToInt64(freeres.orderId) }); // L2_SOFT_ORDER model = new L2_SOFT_ORDER(); // model.ORDERSTATUS = 1; // model.OPENUSER = order.INNERUSERID; // model.OTIME = DateTime.Now; // model.WEBORDERID = freeres.orderId; // model.PRODUCTID = 100628; // model.PRODUCTCODE = "UPCFJC_20191014141105_MFTY"; // model.RESID = order.RESID; // model.USERNAME = order.SOFTUSERNAME; // model.COMPANYID = order.SALEDEPTID; // model.CREATEUSER = order.INNERUSERID.Value; // model.ORDERTYPE = 1; // model.DAYS = count; // model.PRICE = 0; // model.CTIME = DateTime.Now; // model.companycode = order.companycode; // bool result = l2_soft_order_bl.OpenOrder(model); // //retmessage.selfOirderId = model.ORDERID.ToString(); // } // else // { // LogHelper.Error("retmessage:" + freeretmsg);//记录下单不成功 // } // if (!string.IsNullOrWhiteSpace(activeproductcode)) // { // order.activeproductcode = activeproductcode.Trim(','); // order.activeproductext = JsonHelper.ObjDivertToJson(activeProductList); // _order.Update(order);//进行修改操作 // OpenOrderEventExec(order.ORDERID, order.ORDERSTATUS, order.ORDERSTATUSNAME, order.OTIME.Value, order.ENDTIME.Value, order.companycode, order.activeproductcode, order.activeproductext, order.CNAME, order.RESID); // } // } // //return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); // } // return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet); //} //catch (Exception ex) //{ // return Json(new retMsg { result = false, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet); //} //OpenOrderSendSmsExec(order.SOFTUSERNAME, order.SUBPRODUCTNAME, order.OPENDAYS.ToString(), string.Empty, order.RESID); } //[HttpGet] //public ActionResult SupplyOrder() //{ // return View(); //} //[HttpPost] //public JsonResult SupplyOrder(long orderid, string mobile, string username) //{ // try // { // username = username.Trim(); // mobile = mobile.Trim(); // var order = _order.GetModelBySzId(Convert.ToDecimal(orderid)); // if (order != null)//已有此订单 // { // return Json(new retMsg { result = false, retcode = 500, retmsg = "已有订单" }, JsonRequestBehavior.AllowGet); // } // string resid = WX.CRM.Common.ResUtil.CreateResId(mobile); // if (res_Customer_BL.getResCustomerByResId(resid) == null) // { // res_Customer_BL.ResgisterCustomer(mobile, resid, "orderres");//注册资源 // } // if (soft_user_bl.GetUserOne_ByUserName(username) == null) // { // return Json(new retMsg { result = false, retcode = 500, retmsg = "请填写正确的用户名" }, JsonRequestBehavior.AllowGet); // } // LogHelper.Info("====调用NodeJs创建订单==="); // string json = "{\"orderId\":\"" + orderid + "\"}"; // string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_OrderGet);//封装出来的接口 // LogHelper.Info(url + "Node.JS接口参数json=>:" + json); // json = JsonHelper.ObjDivertToJson(sHelper.createAjaxSignEncodingStr(json, SecurityHelper.OrderClientIdKey)); // string retmsg = Utility.PostAjaxData(url, json, Encoding.UTF8);//返回信息 // LogHelper.Info(url + "Node.JS接口返回数据json=>:" + retmsg); // //retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); // orderGet retmessage = JsonHelper.JsonDivertToObj(retmsg); // if (retmessage.stOrderInfo.username != username) // { // return Json(new retMsg { result = false, retcode = 500, retmsg = "订单号和用户名不匹配!" }, JsonRequestBehavior.AllowGet); // } // res_customeruser_bl.ContractUser(resid, username);//关联用户 // WX_SZZYORDER model = new WX_SZZYORDER(); // model.ORDERID = new SEQUENCES_BL().Seq_order_get();//创建订单ID // model.OPERATETIME = DateTime.Now; // model.INNERUSERID = 0; // model.RESID = resid; // model.ISFINANCEPAY = 0; // model.OPENORDER = 0; // model.ISOPEN = 1; // model.ORDERTYPE = 1; // model.ORDERSTATUS = "220"; // model.ORDERSTATUSNAME = "已开通"; // model.PRODUCTNAME = retmessage.stOrderInfo.productname; // model.NEEDPAY = retmessage.stOrderInfo.totalprice / 100; // model.RETURNNEEDPAY = retmessage.stOrderInfo.totalprice / 100; // model.ARRIVALPAY = retmessage.stOrderInfo.totalprice / 100; // model.SOURCE = retmessage.stOrderInfo.source.ToString(); // WX_SZZYSUBPRODUCT subproduct = product_bl.GetSubProduct(retmessage.stOrderInfo.productid); // if (subproduct != null) // { // model.PRODUCTID = subproduct.PRODUCTID; // model.SUBPRODUCTID = subproduct.SUBPRODUCTID; // WX_SZZYPRODUCT product = product_bl.GetBigProduct(subproduct.PRODUCTID); // if (product != null) // { // model.PRODUCTNAME = product.PRODUCTNAME; // model.BIGPRODUCTCODE = product.PRODUCTCODE; // } // } // model.CTIME = DateTime.Now; // model.SUBPRODUCTNAME = retmessage.stOrderInfo.productname; // model.OPENDAYS = retmessage.stOrderInfo.totaldays; // //model.CNAME = ordermodel.cname; // model.SOFTUSERNAME = retmessage.stOrderInfo.username; // model.TOTALUPGRADEVALUE = 0; // model.REQUESTSTATUS = 1; // model.PRODUCTCODE = retmessage.stOrderInfo.productid; // //model.BIGPRODUCTCODE = ordermodel.bigproductcode; // model.BOOKNUM = retmessage.stOrderInfo.count; // //model.TEAMSERVE = ordermodel.teamserve; // //model.INNERUSERID = ordermodel.userid; // //根据渠道号获取部门编码 // var ch = retmessage.stOrderInfo.ch; // var company = cache_BL.GetList_innerCompany().FirstOrDefault(p => p.MINCHANNELCODE <= ch && p.MAXCHANNELCODE >= ch); // model.companycode = company != null ? company.COMPANYCODE : string.Empty; // model.contractstatus = 1;//刚刚创建订单,合同没签 // model.CONTRACTCODE = "DN" + retmessage.stOrderInfo.orderid; // model.CTIME = DateTimeTool.GetTimeFromLinuxShortTime(retmessage.stOrderInfo.otime); // //model.PAYTYPE=retmessage.stOrderInfo.GetType // model.OTIME = DateTimeTool.GetTimeFromLinuxShortTime(retmessage.stOrderInfo.otime); // model.ARRIVALTIME = model.OTIME; // model.RISKCTRLSTATUS = 0;//补单的也需要风控 // model.CHANNEL = ch.ToString(); // model.SZZYORDERID = Convert.ToDecimal(retmessage.stOrderInfo.orderid); // if (retmessage.stOrderInfo.status == 220) // { // _order.Add(model);//进行补单 // //推送到分部 // EventBus.Instance.Publish(new SupplyOrderEvent(model)); // return Json(new retMsg { result = true, retcode = 100, retmsg = "补单成功!" }, JsonRequestBehavior.AllowGet); // } // else // { // return Json(new retMsg { result = false, retcode = 500, retmsg = "该订单非开通状态,不能补单!" }, JsonRequestBehavior.AllowGet); // } // } // catch (Exception ex) // { // LogHelper.Error(ex.ToString()); // return Json(new retMsg // { // result = false, // retmsg = ex.ToString() // }, JsonRequestBehavior.AllowGet); // } //} [HttpGet] public ActionResult HgRecordList() { return View(); } public JsonResult HgRecordList(int orderId, string deptcode) { try { var order = _order.Get(p => p.ORDERID == orderId); if (order == null) { return Json(new retMsg { result = false, retmsg = "参数错误!" }, JsonRequestBehavior.AllowGet); } //if (order.CHANNEL >= 2200 && order.CHANNEL <= 2399) //{ // _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); //} //else if (order.CHANNEL >= 2500 && order.CHANNEL <= 2599) //{ // _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); //} //else if (order.CHANNEL == 1100) //{ // _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); //} var bll = new CRM.Core.BLL.Csvr.Csvr_HgRecord_BL(); var list = bll.GetList(p => p.ORDERID == orderId).ToList(); list.ForEach(l => l.RECORDID = decimal.Parse(AESHelper.encyptData(l.RECORDID.ToString(), "UPWEBSITE"))); var data = new { msg = "数据加载成功!", count = 1, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } [HttpPost] public JsonResult HgRecordPlay(long recordid, int orderId, string deptcode) { try { var order = _order.Get(p => p.ORDERID == orderId); if (order == null) { return Json(new retMsg { result = false, retmsg = "参数错误!" }, JsonRequestBehavior.AllowGet); } var host = "http://1.202.216.226:808"; if (order.CHANNEL >= 2200 && order.CHANNEL <= 2399) { host = "http://1.202.216.226:801"; _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); } else if (order.CHANNEL >= 2500 && order.CHANNEL <= 2599) { host = "http://1.202.216.226:801"; _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); } else if (order.CHANNEL == 1100) { _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); } var model = _hgRecord.Get(p => p.orderid == orderId && p.recordid == recordid); if (model == null) return Json(new retMsg { result = false, retcode = 0, retmsg = "未能找到记录,请稍后重试!" }, JsonRequestBehavior.AllowGet); var url = host + model.filename; return Json(new retMsg { result = true, retcode = 1, retmsg = url }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new retMsg { result = false, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet); } } /// /// 检查系统使用 /// /// /// /// /// [HttpPost] public JsonResult HgRecordPlay_JianCha(long recordid, int orderId, string deptcode) { try { //var order = _order.Get(p => p.ORDERID == orderId); //if (order == null) //{ // return Json(new retMsg { result = false, retmsg = "参数错误!" }, JsonRequestBehavior.AllowGet); //} //var host = "http://1.202.216.226:808"; //if (order.CHANNEL >= 2200 && order.CHANNEL <= 2399) //{ // host = "http://1.202.216.226:801"; // _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); //} //else if (order.CHANNEL >= 2500 && order.CHANNEL <= 2599) //{ // host = "http://1.202.216.226:801"; // _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); //} //else if (order.CHANNEL == 1100) //{ // _hgRecord = new Csvr_HgRecord_BL(ConStringHelper.CompanyCode.QBJX); //} ConStringHelper.CompanyCode code = (ConStringHelper.CompanyCode)Enum.Parse(typeof(ConStringHelper.CompanyCode), deptcode); var host = ConfigurationManager.AppSettings["video_" + deptcode].ToString(); var _csvrCallRecord = new Csvr_CallRecord_BL(code); var model = _hgRecord.Get(p => p.orderid == orderId && p.recordid == recordid); if (model == null) return Json(new retMsg { result = false, retcode = 0, retmsg = "未能找到记录,请稍后重试!" }, JsonRequestBehavior.AllowGet); var ss = model.filename.Split('_'); if (ss.Length > 1) { model.filename = ss[1]; } var url = host + model.filename; return Json(new retMsg { result = true, retcode = 1, retmsg = url }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new retMsg { result = false, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet); } } [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_合规重做, ToolBarConfig.CONST_NotButton, true)] public ActionResult DeleteContract() { //if (Eid != 80104 && Eid != 10000 && Eid != 80083 && Eid != 2004 && Eid != 2001) //{ // ViewBag.ViewMsg = "您无权查看,请联系管理员!"; //} return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_合规重做, ToolBarConfig.CONST_NotButton, false)] public JsonResult DeleteContract(string username) { try { if (string.IsNullOrWhiteSpace(username)) { return JsonHandler.ManageMessage("参数有误,请确认!", false); } //if (Eid != 80104 && Eid != 10000 && Eid != 80083 && Eid != 2004 && Eid != 2001) //{ // return JsonHandler.ManageMessage("您无权查看,请联系管理员!", false); //} var orderExts = _order.GetList(p => p.SOFTUSERNAME == username).Select(p => p.ORDERID); if (!orderExts.Any()) { return JsonHandler.ManageMessage("该用户名还未下过订单,请确认是否用户名有误!", false); } //var minOrderPricePara = _CacheQ.GetValue_Parameter("minOrderPrice"); //var minOrderPrice = 200; //if (!string.IsNullOrEmpty(minOrderPricePara)) //{ // minOrderPrice = int.Parse(minOrderPricePara); //} //var orders = _order.GetList(p => orderExts.Contains(p.ORDERID) && p.RISKCTRLSTATUS > 1 && p.ARRIVALPAY >= minOrderPrice); //if (orders.Any()) //{ // return JsonHandler.ManageMessage("该客户已经通过风控,请确认!", false); //} //else //{ var dto = new { uid = username }; var url = "http://r2.soft.dn8188.com/riskevaluate/pc/newcenter/del_risk"; var json = Utility.ObjectToJson(dto); var para = new SecurityHelper().createSignEncodingStr(json); var retmsg = Utility.PostData(url, para, Encoding.UTF8); var retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.ret == 0) { return JsonHandler.ManageMessage("操作成功!", true); } else { return JsonHandler.ManageMessage("操作失败,请稍后再试!", false); } //} } catch (Exception ex) { LogHelper.Error(ex.ToString()); return JsonHandler.ManageMessage("提交失败,请稍后重试或者联系管理员!", false); } } [HttpGet] [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_Other4, true)] public ActionResult AutoOpenOrder() { return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_Other4, false)] public JsonResult AutoOpenOrder(Laypage pager, int? isExe, int? isOk, int? orderId, DateTime? stime, DateTime? etime) { var where = PredicateExtensionses.True(); if (isExe.HasValue) where = where.And(p => p.IsExe == isExe); if (isOk.HasValue) where = where.And(p => p.IsOk == isOk); if (orderId.HasValue) where = where.And(p => p.OrderId == orderId); if (stime.HasValue) where = where.And(p => p.CTime >= stime.Value); if (etime.HasValue) { etime = etime.Value.AddDays(1); where = where.And(p => p.CTime < etime.Value); } var list = _autoOpenOrder.GetList(where, p => p.Id, pager).ToList(); var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_Other4, false)] public JsonResult AutoOpenOrderAdd(string orders) { LogHelper.Info(orders); if (string.IsNullOrWhiteSpace(orders)) { return Json(new { result = false, code = -1, msg = "参数错误!" }, JsonRequestBehavior.AllowGet); } var orderArr = orders.Replace("\r\n", ",").Replace("\r", ",").Replace("\n", ",").Split(','); var list = new List(); foreach (var item in orderArr) { list.Add(new Wx_AutoOpenOrder(int.Parse(item), Eid, UserName)); } _autoOpenOrder.AddList(list); return Json(new { result = true, code = 0, msg = "提交成功,请等待执行开通!" }, JsonRequestBehavior.AllowGet); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_订单列表, ToolBarConfig.CONST_Other4, false)] public JsonResult AutoOpenOrderImport() { var isOk = true; var file = Request.Files[0]; var dt = ExcelToDataTable(file); var orderArr = new List(); foreach (DataRow item in dt.Rows) { if (int.TryParse(item[0].ToString(), out int id)) { orderArr.Add(id); } else { LogHelper.Info("错误的订单ID:" + item[0].ToString()); isOk = false; } } if (isOk) { var list = new List(); foreach (var item in orderArr) { list.Add(new Wx_AutoOpenOrder(item, Eid, UserName)); } _autoOpenOrder.AddList(list); return Json(new { result = true, code = 0, msg = "提交成功,请等待执行开通!" }, JsonRequestBehavior.AllowGet); } else { return Json(new { result = false, code = -1, msg = "订单号有错误!" }, JsonRequestBehavior.AllowGet); } } [HttpPost] public JsonResult ReSet(int orderId) { //var rsp = _orderService.ReSet(orderId);//弃用旧方法 var rsp = _orderDeposit.OrderCancel(orderId, UserId, UserName); return Json(rsp, JsonRequestBehavior.AllowGet); } public JsonResult OrderSync(int orderId) { var rsp = _orderService.OrderSync(orderId); return Json(rsp, JsonRequestBehavior.AllowGet); } public JsonResult CallBackPayPT1(decimal orderid, DateTime paydate, decimal payprice) { var rsp = _orderService.CallBackPayPT1(orderid, paydate, payprice); return Json(rsp, JsonRequestBehavior.AllowGet); } public JsonResult CallBackRefundPT1(string outorderNo, DateTime? refundTime, decimal? refundPrice) { var rsp = _orderService.CallBackRefundPT1(outorderNo, refundTime, refundPrice); return Json(rsp, JsonRequestBehavior.AllowGet); } private void OpenOrderEventExec(decimal orderId, string orderStatus, string orderStatusName, DateTime oTime, DateTime endTime, string companyCode, string activeProductCode, string activeProductExt, string cName, string resId) { EventBus.Instance.Publish(new OpenOrderEvent(Convert.ToInt32(orderId), orderStatus, orderStatusName, oTime, endTime, companyCode, activeProductCode, activeProductExt, cName, resId, Eid, UserName)); //try //{ // EventBus.Instance.Publish(new OpenOrderEvent(Convert.ToInt32(orderId), orderStatus, orderStatusName, oTime, endTime, companyCode, activeProductCode, activeProductExt, cName, resId)); //} //catch (Exception ex) //{ // LogHelper.Error("订单开通推送失败:" + ex.ToString()); //} } private void OpenOrderSendSmsExec(int orderId, string softUserName, string productName, string openDays, string donateDays, string resId) { EventBus.Instance.Publish(new OpenOrderSendSmsEvent(orderId, softUserName, productName, openDays, donateDays, resId)); } private decimal GetOrderRefundPrice(WX_SZZYORDER order) { if (order.ORDERSTATUS == "180") { //新订单,全退 return order.NEEDPAY.Value; } else if (order.ORDERSTATUS == "200") { //已经确认支付过的订单,还未开通的订单 return order.ARRIVALPAY.Value; } else if (order.ORDERSTATUS == "220") { //已经开通的订单 if (order.OTIME.Value.AddDays(7) >= DateTime.Now) { //7天内,全退 return order.ARRIVALPAY.Value; } else { //7天之后,按使用月份返回 var allMonth = order.ENDTIME.Value.Year * 12 + order.ENDTIME.Value.Month - order.OTIME.Value.Year * 12 - order.OTIME.Value.Month; var useMonth = DateTime.Now.Year * 12 + DateTime.Now.Month - order.OTIME.Value.Year * 12 - order.OTIME.Value.Month; var avgPrice = order.ARRIVALPAY.Value / allMonth; return avgPrice * (allMonth - useMonth - 1); } } return 0; } [HttpPost] public JsonResult GetMidProductList(int productId) { var list = product_bl.GetProductList(); var data = list.Where(p => p.parentid == productId); return Json(data, JsonRequestBehavior.AllowGet); } [HttpPost] public JsonResult GetAllSubProductList(int productId, int? midproductId) { return Json(this.getSubProductListByProductId(productId, 0, midproductId), JsonRequestBehavior.AllowGet); } private List getSubProductListByProductId(int productId, int isValid, int? midproductid = null) { List selectList = new List(); var list = product_bl.GetSubProductListByProductId(productId, isValid, midproductid); foreach (var szzySubProduct in list) { selectList.Add(new SelectListItem() { Text = "【" + szzySubProduct.SUBPRODUCTNAME + " " + szzySubProduct.RIGHTPERIOD.ToString() + "】", Value = szzySubProduct.SUBPRODUCTID.ToString() }); } return selectList; } public class DeleteContractRes { public int ret { get; set; } } [AuthorizeRedirect(RightsConfig.CONST_大单学习, ToolBarConfig.CONST_NotButton, true)] [HttpGet] public ActionResult BigOrderIndex() { ViewBag.rightCode = RightsConfig.CONST_大单学习; //var tool = new ToolBar(); //string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单列表, userRightId); //tool.AllowButton(toolbtn); ////tool.AllowButton("Create", "Edit", "Details", "Delete"); //ViewBag.ToolBar = tool; var list = product_bl.GetProductList().Where(p => p.parentid == 0); List productList = new List(); foreach (var item in list) { productList.Add(new SelectListItem { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }); } ViewBag.productList = productList; ViewBag.companyList = cache_BL.GetCompanyVirtual(); return View(); } [HttpPost] [AuthorizeRedirect(RightsConfig.CONST_大单学习, ToolBarConfig.CONST_NotButton, false)] public JsonResult BigOrder(Laypage pager, string columns, OrderQueryDto dto) { try { var list = _order.GetBigOrderList(ref pager, dto); List resids = list.Select(m => m.RESID).ToList(); var extlist = _order.GetExtuser(resids); var wxuserlist = _order.GetWxUserName(resids); foreach (var item in list) { //附件 if (!string.IsNullOrEmpty(item.fujian)) { var http = ConfigurationManager.AppSettings["FuJian_" + item.companycode]; item.fujian = http + item.fujian; } //企业微信 var ext = extlist.Where(m => m.resid == item.RESID).ToList(); if (ext.Count > 0) { var extstr = string.Join(";", ext.Select(m => m.userid)); if (!string.IsNullOrEmpty(item.external_userid) && extstr.IndexOf(item.external_userid) == -1) { extstr += ";" + item.external_userid; } item.external_userid = extstr;//替换原来的值 } //微信 var wx = wxuserlist.Where(m => m.resid == item.RESID).ToList(); if (wx.Count > 0) { var extstr = string.Join(";", ext.Select(m => m.userid)); if (!string.IsNullOrEmpty(item.CUSTOMERUSERNAME) && extstr.IndexOf(item.CUSTOMERUSERNAME) == -1) { extstr += ";" + item.CUSTOMERUSERNAME; } item.CUSTOMERUSERNAME = extstr;//替换原来的值 } } var data = new LayuiData() { msg = "数据加载成功!", count = pager.count, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return Json(new { }, JsonRequestBehavior.AllowGet); } } } }