ComplianceServer/oldcode/Core.Web/Controllers/OrderController.cs

2009 lines
106 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<SelectListItem> productList = new List<SelectListItem>();
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<string> 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<WX_SZZYORDER_View>()
{
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<SelectListItem> productList = new List<SelectListItem>();
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<WX_SZZYORDER_View>()
{
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<OpenOrderRsp>(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<freeOrderCloseRes>(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<List<ActiveProduct>>(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<freeOrderCloseRes>(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<ActiveProduct> activeProductList = new List<ActiveProduct>();
// 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<CreateOrderRsp>(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<freeOrderCloseRes>(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<List<ActiveProduct>>(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<NodeJsOrderEnum>(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<freeOrderCloseRes>(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<List<ActiveProduct>>(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<freeOrderCloseRes>(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<ActiveProduct> activeProductList = new List<ActiveProduct>();
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<CreateOrderRsp>(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<ActiveProduct> activeProductList = new List<ActiveProduct>();
//如果原订单已经有赠送订单信息
if (!string.IsNullOrWhiteSpace(order.activeproductext))
{
var jsonlist = JsonHelper.JsonDivertToObj<List<ActiveProduct>>(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<CreateOrderRsp>(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<ActiveProduct> activeProductList = new List<ActiveProduct>();
// //如果原订单已经有赠送订单信息
// if (!string.IsNullOrWhiteSpace(order.activeproductext))
// {
// var jsonlist = JsonHelper.JsonDivertToObj<List<ActiveProduct>>(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<CreateOrderRsp>(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<ActiveProduct> activeProductList = new List<ActiveProduct>();
// //如果原订单已经有赠送订单信息
// if (!string.IsNullOrWhiteSpace(order.activeproductext))
// {
// var jsonlist = JsonHelper.JsonDivertToObj<List<ActiveProduct>>(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<CreateOrderRsp>(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<orderGet>(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);
}
}
/// <summary>
/// 检查系统使用
/// </summary>
/// <param name="recordid"></param>
/// <param name="orderId"></param>
/// <param name="deptcode"></param>
/// <returns></returns>
[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<DeleteContractRes>(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<Wx_AutoOpenOrder>();
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<Wx_AutoOpenOrder>()
{
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<Wx_AutoOpenOrder>();
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<int>();
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<Wx_AutoOpenOrder>();
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<SelectListItem> getSubProductListByProductId(int productId, int isValid, int? midproductid = null)
{
List<SelectListItem> selectList = new List<SelectListItem>();
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<SelectListItem> productList = new List<SelectListItem>();
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<string> 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<WX_SZZYORDER_View>()
{
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);
}
}
}
}