2009 lines
106 KiB
C#
2009 lines
106 KiB
C#
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);
|
||
}
|
||
}
|
||
}
|
||
} |