2391 lines
104 KiB
C#
2391 lines
104 KiB
C#
using CRM.Core.DTO.Ord;
|
||
using Newtonsoft.Json;
|
||
using Ninject;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Web.Mvc;
|
||
using WX.CRM.BLL.Res;
|
||
using WX.CRM.BLL.Util;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.IBLL.Base;
|
||
using WX.CRM.IBLL.Level2;
|
||
using WX.CRM.IBLL.Res;
|
||
using WX.CRM.IBLL.Soft;
|
||
using WX.CRM.IBLL.Util;
|
||
using WX.CRM.IBLL.Wx;
|
||
using WX.CRM.Model.Entity;
|
||
using WX.CRM.Model.Enum;
|
||
using WX.CRM.Model.MAP;
|
||
using WX.CRM.Model.QueryMap;
|
||
using WX.CRM.WEB.ViewModel.Level2;
|
||
using WX.CRM.WebHelper;
|
||
|
||
namespace WX.CRM.WEB.Controllers.Level2
|
||
{
|
||
public class Leve2OrderController : BaseController
|
||
{
|
||
private ValidationErrors errors = new ValidationErrors();
|
||
|
||
[Inject]
|
||
public ISecurityHelper sHelper { get; set; }
|
||
|
||
private List<Soft_OrderDetail> orderDetail;
|
||
private List<L2_SOFT_PRODUCT> softProducts;//产品大类List
|
||
private List<L2_SOFT_BIGPRODUCT> softBigProducts;//产品小类List
|
||
//private readonly IGjs_RptMon_Q Rpt;
|
||
//private readonly IRES_CUSTOMERUSER_Q _customerUser_Q;
|
||
|
||
private IL2_SOFT_MODULE_Q Isoft_module_q;
|
||
private IL2_SOFT_PRODUCTMODULE_Q Isoft_productmodule_q;
|
||
private ISOFT_MODULE_Q InstanceModelBLL;
|
||
|
||
[Inject]
|
||
public IBAS_PARAMETER_Q _parameter_Q { get; set; }
|
||
|
||
[Inject]
|
||
public ISOFT_USER_Q _softuser_q { get; set; }
|
||
|
||
[Inject]
|
||
public IL2_SOFT_PRODUCT_Q _l2_soft_product_Q { get; set; }
|
||
|
||
[Inject]
|
||
public ICACHE_Q cache { get; set; }
|
||
|
||
[Inject]
|
||
public IBAS_PARAMETER_Q _BAS_PARAMETER_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_CUSTOMER_Q _IRES_CUSTOMER_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_RESOURCEMOBILE_Q _RES_RESOURCEMOBILE_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IL2_SOFT_ORDER_Q _order { get; set; }
|
||
|
||
[Inject]
|
||
public IRES_CUSTOMERUSER_Q _customerUser_Q { get; set; }
|
||
|
||
[Inject]
|
||
public IWX_TDORDER wx_TDorder_BL { get; set; }
|
||
|
||
public Leve2OrderController(
|
||
// IGjs_RptMon_Q Rpt,
|
||
ISOFT_MODULE_Q InstanceModelBLL,
|
||
IL2_SOFT_MODULE_Q Isoft_module_q,
|
||
IL2_SOFT_PRODUCTMODULE_Q Isoft_productmodule_q)
|
||
{
|
||
// this.Rpt = Rpt;
|
||
this.InstanceModelBLL = InstanceModelBLL;
|
||
this.Isoft_module_q = Isoft_module_q;
|
||
this.Isoft_productmodule_q = Isoft_productmodule_q;
|
||
}
|
||
|
||
// GET: /Leve2Order/
|
||
|
||
#region 首页
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public ActionResult Index(int? protype)
|
||
{
|
||
#region toolbar工具栏
|
||
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.L2订单查询, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
tool.AddOtherButton("Other1", "创建订单", "icon-add", "btnAdd_Click", true);
|
||
tool.AddOtherButton("Other2", "开通订单", "icon-lookup", "btnopen_Click", true);
|
||
tool.AddOtherButton("Other3", "取消订单", "icon-remove", "btncancel_Click", true);
|
||
tool.AddOtherButton("Other4", "导出", "icon-export", "btnexport_Click", true);
|
||
tool.AddOtherButton("Other5", "银行转账下单并开通", "icon-add", "btnPayCreate_Click", true);
|
||
tool.AddOtherButton("Other6", "查看用户名", "icon-lookup", "btnSUsername_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
#endregion toolbar工具栏
|
||
|
||
#region gridtable 表格
|
||
|
||
var pager = new Pager() { page = 1, rows = 20 };
|
||
var tableId = "tablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHeadCol("orderid", "8%", "订单号 ", true);
|
||
tab.AddHeadCol("pcusername", "9%", "PC用户名 ");
|
||
tab.AddHeadCol("username", "9%", "手机APP用户名 ", true);
|
||
tab.AddHeadCol("L2RESID", "10%", "客户ID");
|
||
tab.AddHeadCol("bigproductcode", "10%", "产品大类");
|
||
//tab.AddHeadCol("productcode", "10%", "产品小类");
|
||
//tab.AddHeadCol("CHANNEL", "5%", "用户渠道 ");
|
||
tab.AddHeadCol("booknum", "3%", "套数", true);
|
||
tab.AddHeadCol("totaldays", "4%", "天数", true);
|
||
tab.AddHeadCol("totalprice", "4%", "总金额");
|
||
tab.AddHeadCol("orderstatus", "5%", "订单状态");
|
||
tab.AddHeadCol("isopen", "5%", "开通状态", true);
|
||
tab.AddHeadCol("ispayed", "5%", "是否支付");
|
||
tab.AddHeadCol("otime", "", "开通时间", true);
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "20,30,40,55");
|
||
|
||
#endregion gridtable 表格
|
||
|
||
#region ViewBag页面传值
|
||
|
||
#region 下拉列表
|
||
|
||
string BigProductcode = "";
|
||
string SProductcode = "";
|
||
BAS_PARAMETER model = new BAS_PARAMETER();
|
||
if (!protype.HasValue || protype == 0)
|
||
{
|
||
protype = 1;
|
||
}
|
||
if (protype == 1)
|
||
{
|
||
model = _parameter_Q.GetModel_Patameter("Level2ProductSelect");
|
||
}
|
||
if (protype == 2)
|
||
{
|
||
model = _parameter_Q.GetModel_Patameter("ZXProductSelect");
|
||
}
|
||
|
||
if (model != null)
|
||
{
|
||
BigProductcode = model.map_PARAVALUE.Split('#')[0];
|
||
SProductcode = model.map_PARAVALUE.Split('#')[1];
|
||
}
|
||
List<SelectListItem> bplist = new List<SelectListItem>();
|
||
bplist = plistToListItem(BigProductcode, protype.Value);
|
||
List<SelectListItem> splist = new List<SelectListItem>();
|
||
splist = splistToListItem(bplist, SProductcode);
|
||
ViewBag.bplist = bplist;
|
||
ViewBag.splist = splist;
|
||
ViewBag.protype = protype;
|
||
|
||
#endregion 下拉列表
|
||
|
||
#endregion ViewBag页面传值
|
||
|
||
return View();
|
||
}
|
||
|
||
#region 获取类型listitem
|
||
|
||
//获取大类listitem
|
||
public List<SelectListItem> plistToListItem(string BigProductcode, int type)
|
||
{
|
||
softBigProducts = cache.GetBigProductList();
|
||
softBigProducts = softBigProducts.Where(p => p.GROUPID == type).ToList();
|
||
List<SelectListItem> bplist = new List<SelectListItem>();
|
||
for (int i = 0; i < softBigProducts.Count(); i++)
|
||
{
|
||
SelectListItem item = new SelectListItem();
|
||
item.Text = softBigProducts[i].PRODUCTNAME;
|
||
item.Value = softBigProducts[i].PRODUCTCODE.ToString();
|
||
bplist.Add(item);
|
||
}
|
||
if (bplist.Count > 0)
|
||
{
|
||
if (BigProductcode != "")
|
||
{
|
||
for (int i = 0; i < bplist.Count(); i++)
|
||
{
|
||
if (bplist[i].Value == BigProductcode)
|
||
{
|
||
bplist[i].Selected = true;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
bplist[0].Selected = true;
|
||
}
|
||
}
|
||
bplist.Add(new SelectListItem() { Text = "所有", Value = "-1" });
|
||
return bplist;
|
||
}
|
||
|
||
//获取小类listitem
|
||
public List<SelectListItem> splistToListItem(List<SelectListItem> bplist, string SProductcode)
|
||
{
|
||
string bpcode = "";
|
||
for (int i = 0; i < bplist.Count; i++)
|
||
{
|
||
if (bplist[i].Selected)
|
||
{
|
||
bpcode = bplist[i].Value;
|
||
}
|
||
}
|
||
softBigProducts = cache.GetBigProductList();
|
||
softProducts = cache.GetSProductList();
|
||
|
||
L2_SOFT_BIGPRODUCT bmodel = softBigProducts.Where(p => p.PRODUCTCODE == bpcode).FirstOrDefault();
|
||
|
||
softProducts = softProducts.Where(p => p.BIGPRODUCTID == bmodel.PRODUCTID).ToList();
|
||
List<SelectListItem> splist = new List<SelectListItem>();
|
||
|
||
for (int i = 0; i < softProducts.Count(); i++)
|
||
{
|
||
SelectListItem item = new SelectListItem();
|
||
item.Text = softProducts[i].PRODUCTNAME;
|
||
item.Value = softProducts[i].PRODUCTCODE.ToString();
|
||
splist.Add(item);
|
||
}
|
||
if (splist.Count > 0)
|
||
{
|
||
if (SProductcode != "")
|
||
{
|
||
for (int i = 0; i < splist.Count(); i++)
|
||
{
|
||
if (splist[i].Value == SProductcode)
|
||
{
|
||
splist[i].Selected = true;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
splist[0].Selected = true;
|
||
}
|
||
}
|
||
return splist;
|
||
}
|
||
|
||
#endregion 获取类型listitem
|
||
|
||
#endregion 首页
|
||
|
||
#region 取消订单
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other3)]
|
||
public JsonResult CancelOrde(string id)
|
||
{
|
||
CancelModel model = new CancelModel();
|
||
model.ApplyOrderId = id.ToString();
|
||
model.CancelUser = UserId.ToString();
|
||
string msg = "";
|
||
|
||
Soft_CRMOperationordermodel soft_OOM = new Soft_CRMOperationordermodel();
|
||
bool result = soft_OOM.CancelOrdermodel(model);
|
||
|
||
if (result)
|
||
{
|
||
msg = "取消订单成功!";
|
||
return JsonHandler.ManageMessage(msg, true);
|
||
}
|
||
else
|
||
{
|
||
msg = "取消订单失败!";
|
||
return JsonHandler.ManageMessage(msg, false);
|
||
}
|
||
}
|
||
|
||
#endregion 取消订单
|
||
|
||
#region 导出
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other4)]
|
||
public FileResult ListExport()
|
||
{
|
||
int total = 0;
|
||
string msg = "";
|
||
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
||
string checkedTitles = PageRequest.GetQueryString("checkedTitles");
|
||
|
||
string ctime = Request.QueryString["ctime"];
|
||
string etime = Request.QueryString["etime"];
|
||
string openstime = Request.QueryString["openctime"];
|
||
string openetime = Request.QueryString["openetime"];
|
||
string _productbigtype = Request.QueryString["productbigtype"];
|
||
string _productsmalltype = Request.QueryString["productsmalltype"];
|
||
string _openStatu = Request.QueryString["openStatu"];
|
||
string _userName = Request.QueryString["userName"];
|
||
string _OrderId = Request.QueryString["OrderId"];
|
||
string _resId = Request.Form["ResId"];
|
||
|
||
if (_productbigtype == "-1")
|
||
{
|
||
_productbigtype = "";
|
||
}
|
||
if (_productsmalltype == "-1" || _productsmalltype == "null")
|
||
{
|
||
_productsmalltype = "";
|
||
}
|
||
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", _productbigtype, _productsmalltype, _userName, _OrderId, _openStatu, ctime, etime, openstime, openetime, _resId, 1, int.MaxValue);
|
||
//获取订单列表
|
||
List<Soft_OrderDetail> list = crmmodel.GetOderDetail(out msg, out total);
|
||
List<string> ResIds = new List<string>();
|
||
foreach (var item in list)
|
||
{
|
||
item.USERNAME = PhoneHelper.FormatPhoneUserName(item.USERNAME);
|
||
item.PcUserName = PhoneHelper.FormatPhoneUserName(item.USERNAME);
|
||
var orderext = item.orderExt.FirstOrDefault();
|
||
if (null != orderext)
|
||
{
|
||
item.CHANNEL = orderext.USERCAMPAINID;
|
||
item.L2RESID = orderext.MOBILE;
|
||
try
|
||
{
|
||
ResIds.Add(orderext.MOBILE);
|
||
RegisterResId regist = new RegisterResId(orderext.MOBILE);
|
||
regist.RegisterPhone();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("level2导出的手机注册" + orderext.MOBILE + ex.ToString());
|
||
}
|
||
}
|
||
}
|
||
try
|
||
{
|
||
RegisterListResId regist = new RegisterListResId(ResIds);
|
||
regist.RegisterPhone();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("level2导出的手机注册" + ex.ToString());
|
||
}
|
||
|
||
return File(ExcelHelper.ExportListModelToExcel<Soft_OrderDetail>(list, "订单查询", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("订单查询.xls"));
|
||
}
|
||
|
||
#endregion 导出
|
||
|
||
#region 列表
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public JsonResult GetHtmlList(Pager pager, string columns)
|
||
{
|
||
int total = 0;
|
||
string msg = "";
|
||
string ctime = Request.Form["ctime"];
|
||
string etime = Request.Form["etime"];
|
||
string openstime = Request.Form["openctime"];
|
||
string openetime = Request.Form["openetime"];
|
||
string _productbigtype = Request.Form["productbigtype"];
|
||
string _productsmalltype = Request.Form["productsmalltype"];
|
||
string _openStatu = Request.Form["openStatu"];
|
||
string _userName = Request.Form["userName"];
|
||
string _OrderId = Request.Form["OrderId"];
|
||
string _resId = Request.Form["ResId"];
|
||
|
||
string _protype = Request.Form["protype"];
|
||
|
||
if (_productbigtype == "-1")
|
||
{
|
||
if (_protype != null)
|
||
{
|
||
softBigProducts = cache.GetBigProductList();
|
||
softBigProducts = softBigProducts.Where(p => p.GROUPID == Convert.ToDecimal(_protype)).ToList();
|
||
_productbigtype = "";
|
||
foreach (L2_SOFT_BIGPRODUCT item in softBigProducts)
|
||
{
|
||
_productbigtype += item.PRODUCTCODE + ",";
|
||
}
|
||
_productbigtype = _productbigtype.Substring(0, _productbigtype.Length - 1);
|
||
}
|
||
}
|
||
if (_productsmalltype == "-1" || _productsmalltype == "null")
|
||
{
|
||
_productsmalltype = "";
|
||
}
|
||
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", _productbigtype, _productsmalltype, _userName, _OrderId, _openStatu, ctime, etime, openstime, openetime, _resId, pager.page, pager.rows);
|
||
|
||
//获取订单列表
|
||
orderDetail = crmmodel.GetOderDetail(out msg, out total);
|
||
var list = orderDetail.AsQueryable();
|
||
pager.totalRows = total;
|
||
var table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
foreach (var model in list)
|
||
{
|
||
var resid = model.orderExt.FirstOrDefault();
|
||
var linkTradeCode = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>"
|
||
, "客户详细"
|
||
, "/Level2/Leve2Order/L2CustomerDetail?resid=" + resid.MOBILE//&Ieguid=6a5d80c3edef-7a55
|
||
, resid.MOBILE);
|
||
table.AddCol(model.ORDERID);//订单号
|
||
table.AddCol(PhoneHelper.FormatPhoneUserName(model.PcUserName));//PC用户名
|
||
table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME));//APP用户名
|
||
table.AddCol(resid == null ? "" : linkTradeCode);//ResId
|
||
table.AddCol(GetBigProductName(model.BIGPRODUCTCODE));//大类代码
|
||
// table.AddCol(GetProductName(model.PRODUCTCODE));//子类代码
|
||
// table.AddCol(GetChannel(orderDetail.FirstOrDefault(p => p.ORDERID == model.ORDERID).orderExt.FirstOrDefault().USERCAMPAINID));//渠道
|
||
table.AddCol(model.BOOKNUM);//套数
|
||
table.AddCol(model.TOTALDAYS);//开通天数
|
||
table.AddCol(model.TOTALPRICE);//总金额
|
||
table.AddCol(GetOrderStatus(model.ORDERSTATUS.ToString()));//订单状态
|
||
table.AddCol(model.ISOPEN == 0 ? "未开通" : "已开通");//开通状态
|
||
table.AddCol(model.ISPAYED == 0 ? "未支付" : "已支付");//是否支付
|
||
table.AddCol(model.OTIME.ToUnityString(3));//开通时间
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 列表
|
||
|
||
#region resid详情
|
||
|
||
public ActionResult L2CustomerDetail(string resid)
|
||
{
|
||
string msg = "";
|
||
try
|
||
{
|
||
RegisterResId regist = new RegisterResId(resid);
|
||
regist.RegisterPhone();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
msg = ex.Message;
|
||
LogHelper.Error("退款申请手机注册" + ex.ToString());
|
||
}
|
||
Response.Redirect(Url.Action("CustomerDetail", "CustomerInfo", new { resid = resid }));
|
||
ViewBag.Msg = msg;
|
||
return View();
|
||
}
|
||
|
||
#endregion resid详情
|
||
|
||
#region 订单详情和开通订单
|
||
|
||
/// <summary>
|
||
/// 查看用户名页
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
[HttpGet]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public ActionResult UserNameDetails(string id)
|
||
{
|
||
Soft_OrderDetail model = new Soft_OrderDetail();
|
||
if (id != null)
|
||
{
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(id);
|
||
int total = 0;
|
||
string msg = "";
|
||
|
||
//获取订单列表
|
||
orderDetail = crmmodel.GetOderDetail(out msg, out total);
|
||
|
||
//获取订单
|
||
model = crmmodel.GetOderDetail(out msg, out total, "GetApplyOrderDetial").FirstOrDefault();
|
||
}
|
||
return View(model);
|
||
}
|
||
|
||
#region 订单详情页
|
||
|
||
/// <summary>
|
||
/// 订单详情页
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public ActionResult Details(string id)
|
||
{
|
||
Soft_OrderDetail model = new Soft_OrderDetail();
|
||
if (id != null)
|
||
{
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(id);
|
||
int total = 0;
|
||
string msg = "";
|
||
|
||
//获取订单列表
|
||
orderDetail = crmmodel.GetOderDetail(out msg, out total);
|
||
|
||
//获取订单
|
||
model = crmmodel.GetOderDetail(out msg, out total, "GetApplyOrderDetial").FirstOrDefault();
|
||
|
||
var resid = model.orderExt.FirstOrDefault();
|
||
ViewBag.Orderid = model.ORDERID;
|
||
ViewBag.resid = resid.MOBILE;
|
||
ViewBag.AppUserName = model.USERNAME;
|
||
ViewBag.PCUserName = model.PcUserName;
|
||
ViewBag.USERNAME = PhoneHelper.FormatPhoneUserName(model.USERNAME);
|
||
ViewBag.OrderStatu = GetOrderStatus(model.ORDERSTATUS.ToString());
|
||
ViewBag.isopen = model.ISOPEN == 0 ? "未开通" : "已开通";
|
||
ViewBag.productname = GetProductName(model.PRODUCTCODE);
|
||
ViewBag.ispayed = model.ISPAYED == 0 ? "未支付" : "已支付";
|
||
ViewBag.Channel = GetChannel(orderDetail.FirstOrDefault(p => p.ORDERID == model.ORDERID).orderExt.FirstOrDefault().USERCAMPAINID);
|
||
model.USERNAME = PhoneHelper.FormatPhoneUserName(model.USERNAME);
|
||
if (model.orderModule != null)
|
||
{
|
||
var tableId = "tablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHeadCol("MODULEID", "50%", "模块Id ", true);
|
||
tab.AddHeadCol("MODULEname", "50%", "模块名称 ", true);
|
||
tab.AddHeadRow();
|
||
foreach (var item in model.orderModule)
|
||
{
|
||
tab.AddCol(item.MODULEID);
|
||
tab.AddCol(GetModelName(item.MODULEID.ToString()));
|
||
tab.AddRow();
|
||
}
|
||
ViewBag.orderModuleTable = tab.GetTable();
|
||
}
|
||
|
||
if (model.orderWebPay != null)
|
||
{
|
||
var tableId1 = "tablist1";
|
||
var tab1 = new Table(tableId1);
|
||
tab1.AddHeadCol("WEBPAYID", "50%", "流水号 ", true);
|
||
tab1.AddHeadCol("PAYTYPE", "50%", "支付方式 ", true);
|
||
tab1.AddHeadRow();
|
||
|
||
foreach (var item in model.orderWebPay)
|
||
{
|
||
tab1.AddCol(item.WEBPAYID);
|
||
tab1.AddCol(GetPayType(item.PAYTYPE.ToString()));
|
||
tab1.AddRow();
|
||
ViewBag.orderWebPayTable = tab1.GetTable();
|
||
}
|
||
}
|
||
}
|
||
return View(model);
|
||
}
|
||
|
||
/// <summary>
|
||
///发送用户名短信
|
||
/// </summary>
|
||
/// <param name="uname"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public JsonResult SendUsernameSms(string AppUserName, string PCUserName, string resid, string orderid, string randnum)
|
||
{
|
||
try
|
||
{
|
||
#region 发送短信
|
||
|
||
ExtParam exp = new ExtParam();
|
||
exp.app_username = AppUserName;
|
||
exp.pc_username = PCUserName;
|
||
exp.orderid = orderid;
|
||
string Strexp = Utility.ObjectToJson(exp);
|
||
//短信model
|
||
SmsServiceModel smsmodel = new SmsServiceModel();
|
||
smsmodel.SubTypeCode = "SMS_L2_SendMsg";
|
||
smsmodel.typeCode = "ISVRSMS0001";
|
||
// smsmodel.resid = "382749469785534809";
|
||
smsmodel.resid = resid;
|
||
smsmodel.ExtParam = Strexp;
|
||
smsmodel.username = PCUserName;
|
||
|
||
//将短信model转成json
|
||
string key = Utility.ObjectToJson(smsmodel);
|
||
key = sHelper.createSignEncodingStr(key, SecurityHelper.OrderClientIdKey);
|
||
//获取url
|
||
string url = Utility.GetSettingByKey("L2SendUsernameSms");
|
||
string retmsg = Utility.PostData(url + "?" + key, Encoding.UTF8);
|
||
//retmsg = JsonHelper.JsonDivertToObj<string>(retmsg);
|
||
retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
||
|
||
SmsSendMsgModel retmessage = JsonHelper.JsonDivertToObj<SmsSendMsgModel>(retmsg);
|
||
if (retmessage.result)
|
||
{
|
||
return JsonHandler.ManageMessage("短信发送成功!", true);
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage("短信发送失败!" + retmsg, false);
|
||
}
|
||
|
||
#endregion 发送短信
|
||
}
|
||
catch (Exception e)
|
||
{
|
||
Common.LogHelper.Error(string.Concat("短信发送错误", e.Message, e.StackTrace));
|
||
return JsonHandler.ManageMessage("短信发送失败!", false);
|
||
}
|
||
}
|
||
|
||
#endregion 订单详情页
|
||
|
||
#region 开通订单页
|
||
|
||
/// <summary>
|
||
/// 开通订单页
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
[HttpGet]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public ActionResult OpenOrderDetails(string id)
|
||
{
|
||
Soft_OrderDetail model = new Soft_OrderDetail();
|
||
if (id != null)
|
||
{
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(id);
|
||
int total = 0;
|
||
string msg = "";
|
||
//获取订单
|
||
model = crmmodel.GetOderDetail(out msg, out total, "GetApplyOrderDetial").FirstOrDefault();
|
||
ViewBag.OrderStatu = GetOrderStatus(model.ORDERSTATUS.ToString());
|
||
ViewBag.isopen = model.ISOPEN == 0 ? "未开通" : "已开通";
|
||
ViewBag.productname = GetProductName(model.PRODUCTCODE);
|
||
ViewBag.ispayed = model.ISPAYED == 0 ? "未支付" : "已支付";
|
||
model.USERNAME = Utility.EncryptUrlEncode(model.USERNAME);
|
||
if (model.orderModule != null)
|
||
{
|
||
var tableId = "tablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHeadCol("MODULEID", "50%", "模块Id ", true);
|
||
tab.AddHeadCol("MODULEname", "50%", "模块名称 ", true);
|
||
tab.AddHeadRow();
|
||
foreach (var item in model.orderModule)
|
||
{
|
||
tab.AddCol(item.MODULEID);
|
||
tab.AddCol(GetModelName(item.MODULEID.ToString()));
|
||
tab.AddRow();
|
||
}
|
||
ViewBag.orderModuleTable = tab.GetTable();
|
||
}
|
||
|
||
if (model.orderWebPay != null)
|
||
{
|
||
var tableId1 = "tablist1";
|
||
var tab1 = new Table(tableId1);
|
||
tab1.AddHeadCol("WEBPAYID", "50%", "流水号 ", true);
|
||
tab1.AddHeadCol("PAYTYPE", "50%", "支付方式 ", true);
|
||
tab1.AddHeadRow();
|
||
|
||
foreach (var item in model.orderWebPay)
|
||
{
|
||
tab1.AddCol(item.WEBPAYID);
|
||
tab1.AddCol(GetPayType(item.PAYTYPE.ToString()));
|
||
tab1.AddRow();
|
||
ViewBag.orderWebPayTable = tab1.GetTable();
|
||
}
|
||
}
|
||
}
|
||
return View(model);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 开通订单事件
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
/// <returns></returns>
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public JsonResult OpenOrderDetails(Soft_OrderDetail model)
|
||
{
|
||
string id = model.ORDERID.ToString();
|
||
string username = Utility.DecryptUrlDecode(model.USERNAME);
|
||
string msg = "";
|
||
if (model.ISOPEN == 0)
|
||
{
|
||
OpenOrderModel opmodel = new OpenOrderModel();
|
||
opmodel.UserName = username;
|
||
opmodel.ApplyOrderId = id;
|
||
Soft_CRMOperationordermodel soft_OOM = new Soft_CRMOperationordermodel();
|
||
bool result = soft_OOM.OpenOrdermodel(opmodel);
|
||
|
||
if (result)
|
||
{
|
||
msg = "开通订单成功!";
|
||
return JsonHandler.ManageMessage(msg, true);
|
||
}
|
||
else
|
||
{
|
||
msg = "开通订单失败!";
|
||
return JsonHandler.ManageMessage(msg, false);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
msg = "订单已是开通状态!";
|
||
return JsonHandler.ManageMessage(msg, false);
|
||
}
|
||
}
|
||
|
||
#endregion 开通订单页
|
||
|
||
#endregion 订单详情和开通订单
|
||
|
||
#region 下单
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单查询)]
|
||
public ActionResult L2CreateActiveOrder(string id)
|
||
{
|
||
return View();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 下单
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
/// <returns></returns>
|
||
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other1)]
|
||
public JsonResult L2CreateActiveOrder(AddOrderModel model)
|
||
{
|
||
string code = Request.Form["ProductCode"];
|
||
model.productCode = code;
|
||
Soft_CRMOperationordermodel soft_OOM = new Soft_CRMOperationordermodel();
|
||
model.CreateUser = UserId.ToString();
|
||
model.orderNum = 1;
|
||
if (string.IsNullOrEmpty(model.IP))
|
||
{
|
||
model.IP = "0.0.0.0";
|
||
}
|
||
else
|
||
{
|
||
model.IP = model.IP;
|
||
}
|
||
returnResult result = soft_OOM.AddOrdermodel(model);
|
||
string msg = "";
|
||
if (result.result)
|
||
{
|
||
msg = "下单成功!";
|
||
return JsonHandler.ManageMessage(msg, true);
|
||
}
|
||
else
|
||
{
|
||
msg = "下单失败,错误代码" + result.retcode.ToString();
|
||
return JsonHandler.ManageMessage(msg, false);
|
||
}
|
||
}
|
||
|
||
[HttpGet]
|
||
public JsonResult GetIP(string userName)
|
||
{
|
||
string msg = "";
|
||
string SSOurl = Utility.GetSettingByKey("getSSO");
|
||
SSOurl += userName;
|
||
string respone = Utility.PostData(SSOurl, Encoding.UTF8);
|
||
if (!string.IsNullOrEmpty(respone))
|
||
{
|
||
int index = respone.IndexOf("hqrights");
|
||
if (index < 1)
|
||
{
|
||
msg = "";
|
||
return JsonHandler.ManageMessage(msg, true);
|
||
}
|
||
else
|
||
{
|
||
string rights = respone.Substring(index);
|
||
rights = rights.Substring(rights.IndexOf("ip"));
|
||
rights = rights.Substring(0, rights.Length - 5);
|
||
string[] arr = rights.Split(':');
|
||
msg = arr[1].Replace("\\\"", "");
|
||
return JsonHandler.ManageMessage(msg, true);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
msg = "";
|
||
return JsonHandler.ManageMessage(msg, true);
|
||
}
|
||
}
|
||
|
||
#endregion 下单
|
||
|
||
#region 方法
|
||
|
||
/// <summary>
|
||
/// 当大类改变时
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
public JsonResult JsonProType(string code)
|
||
{
|
||
if (code == "-1")
|
||
{
|
||
List<SelectListItem> list = new List<SelectListItem>();
|
||
list.Add(new SelectListItem() { Text = "所有", Selected = true, Value = "-1" });
|
||
return Json(list, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
{
|
||
L2_SOFT_BIGPRODUCT softbigpro = cache.GetBigProductList().Where(p => p.PRODUCTCODE == code).FirstOrDefault();
|
||
softProducts = cache.GetSProductList();
|
||
var list = softProducts.Where(m => m.BIGPRODUCTID == softbigpro.PRODUCTID).Select(item => new SelectListItem() { Text = item.PRODUCTNAME, Value = item.PRODUCTCODE.ToString(), Selected = true }).ToList();
|
||
return Json(list, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
public string DataFormart(string key, object value)
|
||
{
|
||
string formartValue = string.Empty;
|
||
switch (key)
|
||
{
|
||
case "ISOPEN":
|
||
switch (Convert.ToString(value))
|
||
{
|
||
case "0": formartValue = "未开通"; break;
|
||
case "1": formartValue = "已开通"; break;
|
||
default: formartValue = ""; break;
|
||
}; break;
|
||
case "ISPAYED":
|
||
switch (Convert.ToString(value))
|
||
{
|
||
case "0": formartValue = "未支付"; break;
|
||
case "1": formartValue = "已支付"; break;
|
||
default: formartValue = ""; break;
|
||
}; break;
|
||
case "ORDERSTATUS"://订单状态
|
||
formartValue = GetOrderStatus(Convert.ToString(value));
|
||
break;
|
||
|
||
case "BIGPRODUCTCODE": formartValue = GetBigProductName(Convert.ToString(value)); break;
|
||
case "PRODUCTCODE": formartValue = GetProductName(Convert.ToString(value)); break;
|
||
default: formartValue = string.Format("{0}", value); break;
|
||
}
|
||
return formartValue;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 订单状态
|
||
/// </summary>
|
||
/// <param name="status"></param>
|
||
/// <returns></returns>
|
||
protected string GetOrderStatus(string status)
|
||
{
|
||
string getstatus = "";
|
||
switch (status)
|
||
{
|
||
case "180":
|
||
getstatus = "新订单";
|
||
break;
|
||
|
||
case "200":
|
||
getstatus = "已支付";
|
||
break;
|
||
|
||
case "210":
|
||
getstatus = "暂缓开通";
|
||
break;
|
||
|
||
case "220":
|
||
getstatus = "已开通";
|
||
break;
|
||
|
||
case "90":
|
||
getstatus = "已停用";
|
||
break;
|
||
|
||
case "80":
|
||
getstatus = "已过期";
|
||
break;
|
||
|
||
case "70":
|
||
getstatus = "已取消";
|
||
break;
|
||
}
|
||
return getstatus;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 产品大类名
|
||
/// </summary>
|
||
/// <param name="productCode">产品大类代码</param>
|
||
/// <returns></returns>
|
||
protected string GetBigProductName(string productCode)
|
||
{
|
||
if (!string.IsNullOrEmpty(productCode))
|
||
{
|
||
var model = cache.GetBigProductList().Where(p => p.PRODUCTCODE.Trim() == productCode.Trim()).FirstOrDefault();
|
||
return model == null ? productCode : model.PRODUCTNAME;
|
||
}
|
||
return productCode;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 产品子类名
|
||
/// </summary>
|
||
/// <param name="productCode">产品子类代码</param>
|
||
/// <returns></returns>
|
||
protected string GetProductName(string productCode)
|
||
{
|
||
if (!string.IsNullOrEmpty(productCode))
|
||
{
|
||
var model = cache.GetSProductList().Where(p => p.PRODUCTCODE == productCode).FirstOrDefault();
|
||
return model == null ? productCode : model.PRODUCTNAME;
|
||
}
|
||
return productCode;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 模块名
|
||
/// </summary>
|
||
/// <param name="modelid"></param>
|
||
/// <returns></returns>
|
||
protected string GetModelName(string modelid)
|
||
{
|
||
if (!string.IsNullOrEmpty(modelid))
|
||
{
|
||
int id = 0;
|
||
int.TryParse(modelid, out id);
|
||
var model = cache.GetAllModule().Where(p => p.MODULEID == id).FirstOrDefault();
|
||
return model == null ? modelid : model.MODULENAME;
|
||
}
|
||
return modelid;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 支付方式
|
||
/// </summary>
|
||
/// <param name="paytype"></param>
|
||
/// <returns></returns>
|
||
protected string GetPayType(string paytype)
|
||
{
|
||
string typeStr = string.Empty;
|
||
switch (paytype)
|
||
{
|
||
case "1": typeStr = "支付宝 "; break;
|
||
case "2": typeStr = "财富通 "; break;
|
||
case "3": typeStr = "银行转账"; break;
|
||
case "4": typeStr = "网银支付"; break;
|
||
case "5": typeStr = "微信支付"; break;
|
||
case "6": typeStr = "支付宝银联"; break;
|
||
default: typeStr = "无法识别"; break;
|
||
}
|
||
return typeStr;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取对应渠道
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
public string GetChannel(string id)
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(id))
|
||
{
|
||
int channelid = Convert.ToInt32(id);
|
||
if (channelid >= 9501 & channelid <= 9600)
|
||
{
|
||
return "Android手机";
|
||
}
|
||
else if (channelid >= 9001 & channelid <= 9100)
|
||
{
|
||
return "IOS手机";
|
||
}
|
||
else
|
||
{
|
||
return id;
|
||
}
|
||
}
|
||
return id;
|
||
}
|
||
|
||
#endregion 方法
|
||
|
||
#region 转账下单
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other5)]
|
||
public ActionResult L2CreatePayOrder(int? protype)
|
||
{
|
||
if (!protype.HasValue || protype == 0)
|
||
{
|
||
protype = 1;
|
||
}
|
||
ViewBag.protype = protype;
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other5)]
|
||
public JsonResult L2PayOrderOpen(PayOpenOrder model)
|
||
{
|
||
var userCenterRiaServiceAddPayOrder = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_AddPayOrder");//
|
||
var userCenterRiaServiceProAddPayOrder = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_ProAddPayOrder");//业务
|
||
var userCenterRiaServiceOpenPayOrder = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_OpenPayOrder");
|
||
var userCenterRiaServiceValidatePayid = _BAS_PARAMETER_Q.GetModel_Patameter("UserCenter_RiaService_ValidatePayid");
|
||
if (string.IsNullOrEmpty(model.PayNo) || model.PayNo == "auto")
|
||
{
|
||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0));
|
||
model.PayNo = "tgorder" + (long)(System.DateTime.Now - startTime).TotalMilliseconds;
|
||
}
|
||
if (ModelState.IsValid)
|
||
{
|
||
if (!string.IsNullOrEmpty(model.resPhone))
|
||
{
|
||
PhoneLogModel phoneLogModel = new PhoneLogModel
|
||
{
|
||
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
||
userid = UserId
|
||
};
|
||
model.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(model.resPhone, phoneLogModel);
|
||
}
|
||
if (string.IsNullOrEmpty(model.mobile))
|
||
{
|
||
return JsonHandler.ManageMessage("手机号码不能为空", false);
|
||
}
|
||
if (!Utility.ChekMobile(model.mobile))
|
||
return JsonHandler.ManageMessage("手机号码格式不正确", false);
|
||
if (string.IsNullOrEmpty(model.businessType))
|
||
return JsonHandler.ManageMessage("版本不能为空", false);
|
||
|
||
string addurl = "", openurl = "";
|
||
if (model.businessType == "1" || model.businessType == "3")
|
||
{
|
||
if (null != userCenterRiaServiceProAddPayOrder)
|
||
addurl = userCenterRiaServiceProAddPayOrder.PARAVALUE;
|
||
}
|
||
if (model.businessType == "2")
|
||
{
|
||
if (null != userCenterRiaServiceAddPayOrder)
|
||
addurl = userCenterRiaServiceAddPayOrder.PARAVALUE;
|
||
}
|
||
if (null != userCenterRiaServiceOpenPayOrder)
|
||
openurl = userCenterRiaServiceOpenPayOrder.PARAVALUE;
|
||
string code = Request.Form["ProductCode"];
|
||
string paytype = Request.Form["PayType"];
|
||
model.productCode = code;
|
||
model.CreateUser = UserId.ToString();
|
||
model.PayType = paytype;
|
||
ValidatePayOrder validatePay = new ValidatePayOrder(model.PayNo);
|
||
string validatePayMsg = "";
|
||
string validatePayUrl = "";
|
||
if (null != userCenterRiaServiceValidatePayid)
|
||
validatePayUrl = userCenterRiaServiceValidatePayid.PARAVALUE;
|
||
bool checkPayid = validatePay.ValidationOfPayid(validatePayUrl, out validatePayMsg);
|
||
if (!checkPayid)
|
||
return JsonHandler.ManageMessage(validatePayMsg, false);
|
||
PayOpenOrder PayOrder = new PayOpenOrder();
|
||
PayOrderResult addresul = PayOrder.AddpayOrder(model, addurl);
|
||
if (addresul.result)
|
||
{
|
||
PayOrderResult openresult = PayOrder.OpenpayOrder(model, addresul.ApplyOrderId, openurl);
|
||
if (openresult.result)
|
||
{
|
||
return JsonHandler.ManageMessage("下单并开通成功", true);
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage("下单成功,开通失败,错误:" + Utility.GetCheckEnumNameByValue<EnumInterfaceErrcode>(openresult.retcode), false);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage("下单失败,错误:" + Utility.GetCheckEnumNameByValue<EnumInterfaceErrcode>(addresul.retcode), false);
|
||
}
|
||
}
|
||
return JsonHandler.ManageMessage("验证失败", false);
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单查询, InitToolBar.CONST_Other5)]
|
||
public JsonResult L2AddOrderOpen(PayOpenOrder model, int days)
|
||
{
|
||
if (string.IsNullOrEmpty(model.PayNo) || model.PayNo == "auto")
|
||
{
|
||
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0));
|
||
model.PayNo = "tgorder" + (long)(System.DateTime.Now - startTime).TotalMilliseconds;
|
||
}
|
||
|
||
if (ModelState.IsValid)
|
||
{
|
||
if (!string.IsNullOrEmpty(model.resPhone))
|
||
{
|
||
PhoneLogModel phoneLogModel = new PhoneLogModel
|
||
{
|
||
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
||
userid = UserId
|
||
};
|
||
model.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(model.resPhone, phoneLogModel);
|
||
}
|
||
if (string.IsNullOrEmpty(model.mobile))
|
||
{
|
||
return JsonHandler.ManageMessage("手机号码不能为空", false);
|
||
}
|
||
if (!Utility.ChekMobile(model.mobile))
|
||
return JsonHandler.ManageMessage("手机号码格式不正确", false);
|
||
if (string.IsNullOrEmpty(model.businessType))
|
||
return JsonHandler.ManageMessage("版本不能为空", false);
|
||
|
||
string code = Request.Form["ProductCode"];
|
||
string paytype = Request.Form["PayType"];
|
||
|
||
string url = "";
|
||
string json = "";
|
||
AddOrderOpen theModel = new AddOrderOpen();
|
||
theModel.productCode = code;
|
||
theModel.userName = model.userName;
|
||
theModel.PayPrice = model.PayPrice;
|
||
theModel.Days = days;
|
||
//theModel.resPhone = model.wx_SzzyOrder.RESID;
|
||
theModel.CreateUser = UserId.ToString();
|
||
theModel.PayMark = model.PayMark;
|
||
theModel.PayNo = model.PayNo;
|
||
theModel.PayType = paytype;
|
||
theModel.mobile = model.mobile;
|
||
|
||
url = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpen);//内部接口··调用RiaSerivice
|
||
json = Utility.ConvertToJSON<AddOrderOpen>(theModel);
|
||
json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);
|
||
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
||
retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
||
retClass retmessage = JsonHelper.JsonDivertToObj<retClass>(retmsg);
|
||
if (retmessage.result)
|
||
{
|
||
return JsonHandler.ManageMessage("下单并开通成功", true);
|
||
}
|
||
else
|
||
{
|
||
if (retmessage.retcode == (int)EnumInterfaceErrcode.订单已开通)
|
||
{
|
||
return JsonHandler.ManageMessage("开通成功", true);
|
||
}
|
||
else if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.系统错误) && !string.IsNullOrWhiteSpace(retmessage.orderId))
|
||
{
|
||
return JsonHandler.ManageMessage("系统正忙,请稍后再试", false);
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage("系统错误" + retmessage.retcode.ToString(), false);
|
||
}
|
||
}
|
||
}
|
||
return JsonHandler.ManageMessage("验证失败", false);
|
||
}
|
||
|
||
public JsonResult L2GetPhoneByResid(string resid)
|
||
{
|
||
if (!string.IsNullOrEmpty(resid))
|
||
{
|
||
var list = _IRES_CUSTOMER_Q.GetList_CustomerByResid(resid);
|
||
if (list != null && list.Count > 0)
|
||
{
|
||
List<SelectListItem> customerList = list.Select(p => new SelectListItem()
|
||
{
|
||
Text = p.RESID,
|
||
Value = p.LASTNUM3
|
||
}).ToList();
|
||
return Json(new { type = true, data = customerList }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
return Json(new { type = false, data = "数据为空,请检查客户ID" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
return Json(new { type = false, data = "客户ID不能为空" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
#endregion 转账下单
|
||
|
||
#region 客服申请,总监审核开通流程
|
||
|
||
#region 客服申请
|
||
|
||
/// <summary>
|
||
/// 申请订单页面
|
||
/// </summary>
|
||
/// <param name="CustomerId"></param>
|
||
/// <returns></returns>
|
||
public ActionResult CreateOrderApply(string CustomerId)
|
||
{
|
||
List<SOFT_USER> lists = new List<SOFT_USER>();
|
||
//List<L2_SOFT_PRODUCT> productList = new List<L2_SOFT_PRODUCT>();
|
||
List<L2_SOFT_PRODUCT> productList = cache.GetSProductList();
|
||
//var notInProductId = new List<decimal> { 60001000, 60001001, 60001017, 70001100, 70001102, 70001103 };
|
||
//productList = productList.Where(m => !notInProductId.Contains(m.PRODUCTID)).ToList();
|
||
productList = productList.Where(m => m.PRICE == 0).OrderBy(p => p.SORT).ThenByDescending(p => p.PRODUCTID).ToList();
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(CustomerId))
|
||
{
|
||
lists = _customerUser_Q.GetListByCustomerId(CustomerId);
|
||
}
|
||
//productList = _product_q.GetAllPRODUCTS().Where(p => p.ISSHOW.ToString() == "1").ToList();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.Message);
|
||
}
|
||
var UserNameItems = lists.Select(item => new SelectListItem() { Text = PhoneHelper.FormatPhoneUserName(item.USERNAME), Value = Utility.EncryptUrlEncode(item.USERNAME) }).ToList();
|
||
var ProductList = productList.Select(item => new SelectListItem() { Text = item.PRODUCTNAME, Value = item.PRODUCTID.ToString() }).ToList();
|
||
var allChannel = new List<Dictionary<string, string>>();
|
||
foreach (var pro in productList)
|
||
{
|
||
var channel = new Dictionary<string, string>
|
||
{
|
||
{ "name", pro.PRODUCTNAME },
|
||
{ "value", pro.PRODUCTID.ToString() }
|
||
};
|
||
allChannel.Add(channel);
|
||
}
|
||
|
||
//var customer = _IRES_CUSTOMER_Q.getResCustomerByResId(CustomerId);
|
||
ViewBag.freeOrderType = cache.GetValue_Parameter("freeOrderType");
|
||
ViewBag.CustomerId = CustomerId;
|
||
ViewBag.UserNameItems = UserNameItems;
|
||
ViewBag.ProductList = JsonHelper.ObjDivertToJson(allChannel);
|
||
ViewBag.DeptCode = Utility.GetSettingOrNullByKey("DataClientCode");
|
||
ViewBag.Gid = deptId;
|
||
var deptList = cache.GetList_SalesDepartMent().Where(p => p.CHANNELDEF != null);
|
||
var selectList = new List<SelectListItem>();
|
||
foreach (var item in deptList)
|
||
{
|
||
selectList.Add(new SelectListItem() { Text = item.DEPTNAME, Value = item.SALEDEPTCODE });
|
||
}
|
||
ViewBag.DeptList = selectList;
|
||
ViewBag.companyCode = companyCode;
|
||
return View();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 申请订单_post
|
||
/// </summary>
|
||
/// <param name="UserName"></param>
|
||
/// <param name="ProductList"></param>
|
||
/// <param name="ResId"></param>
|
||
/// <returns></returns>
|
||
public ActionResult CreateOrder(string UserName, string ProductList, string ResId, int? Days, int? mainOrderId, string deptcode)
|
||
{
|
||
decimal productId, price;
|
||
decimal days;
|
||
if (string.IsNullOrWhiteSpace(ProductList))
|
||
{
|
||
return JsonHandler.ManageMessage("请选择产品!", false);
|
||
}
|
||
if (string.IsNullOrEmpty(deptcode))
|
||
{
|
||
return JsonHandler.ManageMessage("请选择部门归属!", false);
|
||
}
|
||
if (Days <= 0 || !Days.HasValue)
|
||
{
|
||
return JsonHandler.ManageMessage("请选择开通天数!", false);
|
||
}
|
||
ProductList = ProductList.Trim(',');
|
||
var prodata = ProductList.Split(',').ToList();
|
||
var successList = new List<string>();
|
||
var errList = new List<string>();
|
||
foreach (var productid in prodata)
|
||
{
|
||
bool flagProductId = decimal.TryParse(productid, out productId);
|
||
var uname = Utility.DecryptUrlDecode(UserName);
|
||
var product = cache.GetSProductList().Where(p => p.PRODUCTID == productId).FirstOrDefault();
|
||
//if (Days.HasValue)
|
||
//{
|
||
// days = Days.Value;
|
||
//}
|
||
//else
|
||
//{
|
||
// days = product.DAYS.Value;
|
||
//}
|
||
days = Days.Value;
|
||
if (mainOrderId.HasValue)
|
||
{
|
||
var order = wx_TDorder_BL.GetTDOrderDetail(mainOrderId.Value);
|
||
if (order == null)
|
||
{
|
||
errList.Add($"【{product.PRODUCTNAME}开通失败订单号不存在】");
|
||
//return JsonHandler.ManageMessage("订单号不存在", false);
|
||
}
|
||
}
|
||
price = product.PRICE.Value;
|
||
|
||
if (!string.IsNullOrEmpty(uname) && flagProductId && days > 0 && product != null)
|
||
{
|
||
decimal orderId = 0;
|
||
bool result = _order.CreateOrder(productId, product.PRODUCTCODE, ResId, uname, companyId, UserId, 1, days, price, out orderId, mainOrderId, deptcode);
|
||
if (result)
|
||
{
|
||
var autoOpenFreeOrder = cache.GetValue_Parameter("AutoOpenFreeOrder");
|
||
if (string.IsNullOrEmpty(autoOpenFreeOrder) || autoOpenFreeOrder == "true")
|
||
{
|
||
var freeOrderRule = cache.GetValue_Parameter("FreeOrderRule");
|
||
if (string.IsNullOrEmpty(freeOrderRule))
|
||
{
|
||
var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString()));
|
||
var success = (JsonMessage)openMsg.Data;
|
||
if (success.type == 1)
|
||
{
|
||
successList.Add($"{product.PRODUCTNAME} {success.message}");
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}{success.message}");
|
||
}
|
||
continue;
|
||
}
|
||
var rule = JsonConvert.DeserializeObject<FreeOrderRule>(freeOrderRule);
|
||
//查看是否有规则,如果没有直接开通
|
||
if (rule.IsLimit)
|
||
{
|
||
var productRule = rule.Products.FirstOrDefault(p => p.ProductId == product.PRODUCTID);
|
||
if (productRule != null)
|
||
{
|
||
var freeOrderList = _order.getOrderByResId(ResId, product.PRODUCTID);
|
||
var hasOrderCount = freeOrderList.Count;
|
||
if (hasOrderCount >= productRule.Limit)
|
||
{
|
||
successList.Add($"【{product.PRODUCTNAME}】下单成功,请联系总监助理,手工开通!");
|
||
}
|
||
else
|
||
{
|
||
var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString()));
|
||
var success = (JsonMessage)openMsg.Data;
|
||
if (success.type == 1)
|
||
{
|
||
successList.Add($"{product.PRODUCTNAME} {success.message}");
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}{success.message}");
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//没有找到规则,说明这个产品不做限制,直接开通
|
||
var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString()));
|
||
var success = (JsonMessage)openMsg.Data;
|
||
if (success.type == 1)
|
||
{
|
||
successList.Add($"{product.PRODUCTNAME} {success.message}");
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}{success.message}");
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
var openMsg = (JsonResult)OpenOrder(orderId.ToString(), string.Format("客服{0}申请开通", Eid.ToString()));
|
||
var success = (JsonMessage)openMsg.Data;
|
||
if (success.type == 1)
|
||
{
|
||
successList.Add($"{product.PRODUCTNAME} {success.message}");
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}{success.message}");
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
successList.Add($"【{product.PRODUCTNAME}】下单成功,请联系总部开通!");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}下单申请失败");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME} 参数错误");
|
||
}
|
||
}
|
||
var msg = "";
|
||
var isSuccess = false;
|
||
if (successList.Count() > 0)
|
||
{
|
||
msg = string.Join(",", successList);
|
||
isSuccess = true;
|
||
}
|
||
if (errList.Count() > 0)
|
||
{
|
||
msg += string.Join(",", successList);
|
||
}
|
||
return JsonHandler.ManageMessage(msg, isSuccess);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 走新的创建合同接口 需要签订合同 根据配置 freeOrderType =old 走旧的
|
||
/// </summary>
|
||
/// <param name="UserName"></param>
|
||
/// <param name="ProductList"></param>
|
||
/// <param name="ResId"></param>
|
||
/// <returns></returns>
|
||
public ActionResult CreateOrderNew(string UserName, string ProductList, string ResId, int? Days, int? mainOrderId, string deptcode)
|
||
{
|
||
decimal productId, price;
|
||
decimal days;
|
||
if (string.IsNullOrWhiteSpace(ProductList))
|
||
{
|
||
return JsonHandler.ManageMessage("请选择产品!", false);
|
||
}
|
||
if (string.IsNullOrEmpty(deptcode))
|
||
{
|
||
return JsonHandler.ManageMessage("请选择部门归属!", false);
|
||
}
|
||
if (Days <= 0 || !Days.HasValue)
|
||
{
|
||
return JsonHandler.ManageMessage("请选择开通天数!", false);
|
||
}
|
||
ProductList = ProductList.Trim(',');
|
||
var prodata = ProductList.Split(',').ToList();
|
||
var successList = new List<string>();
|
||
var errList = new List<string>();
|
||
foreach (var productid in prodata)
|
||
{
|
||
bool flagProductId = decimal.TryParse(productid, out productId);
|
||
var uname = Utility.DecryptUrlDecode(UserName);
|
||
var product = cache.GetSProductList().Where(p => p.PRODUCTID == productId).FirstOrDefault();
|
||
//if (Days.HasValue)
|
||
//{
|
||
// days = Days.Value;
|
||
//}
|
||
//else
|
||
//{
|
||
// days = product.DAYS.Value;
|
||
//}
|
||
days = Days.Value;
|
||
if (mainOrderId.HasValue)
|
||
{
|
||
var order = wx_TDorder_BL.GetTDOrderDetail(mainOrderId.Value);
|
||
if (order == null)
|
||
{
|
||
errList.Add($"【{product.PRODUCTNAME}开通失败订单号不存在】");
|
||
//return JsonHandler.ManageMessage("订单号不存在", false);
|
||
}
|
||
}
|
||
price = product.PRICE.Value;
|
||
|
||
if (!string.IsNullOrEmpty(uname) && flagProductId && days > 0 && product != null)
|
||
{
|
||
decimal orderId = 0;
|
||
string url = "";
|
||
string json = "";
|
||
freeordermodel theModel = new freeordermodel();
|
||
PhoneLogModel phoneLogModel = new PhoneLogModel
|
||
{
|
||
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
||
userid = UserId
|
||
};
|
||
theModel.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(ResId, phoneLogModel);
|
||
theModel.productname = product.PRODUCTNAME;
|
||
theModel.needpay = price;
|
||
theModel.opendays = 1;
|
||
theModel.ordertype = 1;
|
||
theModel.productId = productId;
|
||
theModel.remark = "创建订单";
|
||
theModel.saledeptid = companyId;
|
||
theModel.source = "1";
|
||
theModel.softusername = uname;
|
||
theModel.productcode = product.PRODUCTCODE;//小类代码
|
||
|
||
theModel.teamserve = 1;
|
||
theModel.userid = UserId;
|
||
theModel.count = Convert.ToInt32(days);//产品数 --免费产品始终一天,这里天数作为数量传递,达到天数效果
|
||
theModel.productType = Convert.ToInt32(product.PRODUCTTYPE);//产品分类
|
||
theModel.opuser = UserId;
|
||
theModel.ctime = DateTimeTool.ConvertDateTimeInt(DateTime.Now).ToString();
|
||
//theModel.companycode = companyCode;
|
||
theModel.companycode = Utility.GetSettingOrNullByKey("DataClientCode");
|
||
theModel.days = Convert.ToInt32(days);
|
||
theModel.mainOrderId = mainOrderId.HasValue ? Convert.ToInt32(mainOrderId) : (int?)null;
|
||
var depment = cache.GetList_SalesDepartMent();
|
||
if (!string.IsNullOrEmpty(deptcode))
|
||
{
|
||
var dep = depment.Find(p => p.SALEDEPTCODE == deptcode);
|
||
if (dep != null)
|
||
{
|
||
if (dep.CHANNELDEF.HasValue)
|
||
theModel.ch = (int)dep.CHANNELDEF;
|
||
}
|
||
}
|
||
url = cache.GetValue_Parameter(Parameter.Core_ZxdService_CreateFreeOrder);//内部接口··创建免费订单接口
|
||
json = Utility.ConvertToJSON<freeordermodel>(theModel);
|
||
json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);
|
||
//LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "审核:" + url + "?" + json);
|
||
//url = "http://localhost:55047/OrderService.svc/FreeOrder/Create";
|
||
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
||
retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
||
|
||
CreateOrderRsp retmessage = JsonHelper.JsonDivertToObj<CreateOrderRsp>(retmsg);//返回信息
|
||
|
||
if (retmessage.retCode == (int)NodeJsOrderEnum.调用成功)//成功
|
||
{
|
||
bool result = _order.CreateOrder(productId, product.PRODUCTCODE, ResId, uname, companyId, UserId, 1, days, price, out orderId, mainOrderId, deptcode);
|
||
if (result)
|
||
{
|
||
successList.Add($"{product.PRODUCTNAME} 添加成功");
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}添加失败");
|
||
}
|
||
L2_SOFT_ORDER model = _order.getOrderByOrderId(orderId);
|
||
model.ORDERSTATUS = 0;
|
||
//model.OPENUSER = UserId;
|
||
//model.OTIME = DateTime.Now;
|
||
model.WEBORDERID = retmessage.orderId;
|
||
model.MEMO = "";
|
||
_order.UpdateOrder(ref errors, model);
|
||
//return JsonHandler.ManageMessage("创建成功", true);
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME}{retmessage.retMsg}");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
errList.Add($"{product.PRODUCTNAME} 参数错误");
|
||
}
|
||
}
|
||
var msg = "";
|
||
var isSuccess = false;
|
||
if (successList.Count() > 0)
|
||
{
|
||
msg = string.Join(",", successList);
|
||
isSuccess = true;
|
||
}
|
||
if (errList.Count() > 0)
|
||
{
|
||
msg += string.Join(",", errList);
|
||
}
|
||
return JsonHandler.ManageMessage(msg, isSuccess);
|
||
}
|
||
|
||
public JsonResult MainOrderIsExists(int mainOrderId)
|
||
{
|
||
var order = wx_TDorder_BL.GetTDOrderDetail(mainOrderId);
|
||
if (order != null)
|
||
{
|
||
return Json(new { ret = true }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
{
|
||
return Json(new { ret = false }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
public ActionResult OrderList(string ResId)
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(ResId))
|
||
{
|
||
string tableId = "Level2Orderlist";
|
||
Table tab = new Table(tableId, "layui-table content_width");
|
||
tab.AddHeadCol("ORDERID", "", "活动单号");
|
||
tab.AddHeadCol("WEBORDERID", "", "权限订单号");
|
||
tab.AddHeadCol("PRODUCTID", "", "活动名称");
|
||
tab.AddHeadCol("USERNAME", "", "用户名");
|
||
tab.AddHeadCol("DAYS", "", "开通天数");
|
||
//tab.AddHeadCol("PRICE", "10%", "支付金额");
|
||
tab.AddHeadCol("CTIME", "", "下单时间");
|
||
tab.AddHeadCol("CREATEUSER", "", "下单人");
|
||
tab.AddHeadCol("HTURL", "", "合同地址");
|
||
tab.AddHeadCol("HTURL", "", "合同状态");
|
||
tab.AddHeadCol("ORDERSTATUS", "", "是否开通");
|
||
tab.AddHeadCol("OTIME", "", "开通时间");
|
||
//tab.AddHeadCol("operation", "", "操作");
|
||
tab.AddHeadRow();
|
||
var list = _order.getOrderByResId(ResId);
|
||
List<L2_SOFT_PRODUCT> productList = cache.GetSProductList();
|
||
//var notInProductId = new List<decimal> { 60001000, 60001001, 60001017, 70001100, 70001102, 70001103 };
|
||
//productList = productList.Where(m => !notInProductId.Contains(m.PRODUCTID)).ToList();
|
||
|
||
productList = productList.Where(m => m.PRICE == 0).ToList();
|
||
string clientid = cache.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_OrderClientIdKey);
|
||
if (string.IsNullOrWhiteSpace(clientid))
|
||
{
|
||
clientid = "UPWEBSITE";
|
||
}
|
||
string threeUrl = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_ContractSignThree);//三要素合同地址
|
||
|
||
foreach (var model in list)
|
||
{
|
||
tab.AddCol(model.ORDERID);
|
||
tab.AddCol(model.WEBORDERID);
|
||
if (string.IsNullOrWhiteSpace(model.PRODUCTNAME))
|
||
{
|
||
L2_SOFT_PRODUCT product = productList.FirstOrDefault(p => p.PRODUCTCODE == model.PRODUCTCODE);
|
||
tab.AddCol(product == null ? "" : product.PRODUCTNAME);
|
||
model.PRODUCTNAME = product?.PRODUCTNAME;
|
||
}
|
||
else
|
||
{
|
||
tab.AddCol(model.PRODUCTNAME);
|
||
}
|
||
|
||
tab.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME));
|
||
tab.AddCol(model.DAYS);
|
||
//tab.AddCol(model.PRICE);
|
||
tab.AddCol(model.CTIME);
|
||
tab.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER));
|
||
|
||
tab.AddCol(string.Format("<a style=\"color:green;\" href=\"javascript:void(0);\" onclick=\"ShowL2OrderHeTongUrl('{0}')\">获取地址</a>", model.WEBORDERID));
|
||
|
||
if (model.CONTRACTSTATUS == 1)
|
||
{
|
||
tab.AddCol(string.Format("<a style=\"color:green;\" href=\"javascript:void(0);\" onclick=\"ContractFreeOrderView('{0}')\">已签订</a>", model.WEBORDERID));
|
||
}
|
||
else
|
||
{
|
||
tab.AddCol(string.Format("<font color='#c2c2c2'>未签订</font>"));
|
||
}
|
||
|
||
tab.AddCol(GetStatusName(model.ORDERSTATUS));
|
||
tab.AddCol(model.OTIME);
|
||
//tab.AddCol(model.ORDERSTATUS == 1 ? string.Format(" <input class='btn btn-danger cancelOrder' type='button' value='申请撤销' OrderId=\"{0}\" status=\"{1}\" />", model.ORDERID, model.ORDERSTATUS) : "");
|
||
tab.AddRow();
|
||
}
|
||
ViewBag.List = tab.GetTable();
|
||
return View();
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage("参数错误", false);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("Leve2OrderController_OrderList:" + ex.Message + ex.StackTrace);
|
||
return JsonHandler.ManageMessage(ex.Message, false);
|
||
}
|
||
}
|
||
|
||
#endregion 客服申请
|
||
|
||
#region 投顾订单审核
|
||
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_投顾订单开通审核)]
|
||
public ActionResult CheckLevel2OrderList()
|
||
{
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.投顾订单开通审核, userRightId);
|
||
LogHelper.Info(string.Join(",", toolbtn));
|
||
tool.AllowButton(toolbtn);
|
||
tool.AddOtherButton("Other1", "导出", "icon-export", "Export_Click", true);
|
||
tool.AddOtherButton("Other2", "关闭", "icon-close", "Close_Click", true);
|
||
//tool.AllowButton("Check", "Delete");
|
||
|
||
ViewBag.ToolBar = tool;
|
||
|
||
Pager gp = new Pager() { page = 1, rows = 10 };
|
||
string tableId = "Orderlist";
|
||
Table tab = new Table(tableId);
|
||
tab.AddHeadCol("checkALL", "", "<input type='checkbox' id='CheckALL'/>");
|
||
tab.AddHeadCol("DEPTNAME", "", "部门归属");
|
||
tab.AddHeadCol("EID", "", "员工");
|
||
tab.AddHeadCol("orderid", "", "投顾单号");
|
||
tab.AddHeadCol("ProductName", "", "产品名称");
|
||
tab.AddHeadCol("RESID", "", "客户ID");
|
||
tab.AddHeadCol("USERNAME", "", "用户名");
|
||
tab.AddHeadCol("DAYS", "", "开通天数");
|
||
tab.AddHeadCol("MainOrderId", "", "主订单ID");
|
||
tab.AddHeadCol("PRICE", "", "支付金额");
|
||
tab.AddHeadCol("CTIME", "", "下单时间");
|
||
//tab.AddHeadCol("CREATEUSERStr", "", "下单人");
|
||
tab.AddHeadCol("ORDERSTATUSNAME", "", "订单状态");
|
||
tab.AddHeadCol("OTIME", "", "开通时间");
|
||
//tab.AddHeadCol("operation", "", "操作");
|
||
tab.AddHeadRow();
|
||
ViewBag.ActiveList = tab.GetHead() + Pagination.GetPage(gp, "Orderlist", "5,8,10,15");
|
||
var softprodutlist = cache.GetSProductList().Select(item => new SelectListItem() { Text = item.PRODUCTNAME.ToString(), Value = item.PRODUCTID.ToString() }).ToList();
|
||
softprodutlist.Insert(0, new SelectListItem { Text = "所有", Value = "-1", Selected = true });
|
||
//softprodutlist.Add(new SelectListItem { Text = "所有", Value = "-1", Selected = true });
|
||
ViewBag.SoftProductList = softprodutlist;
|
||
|
||
ViewBag.inneruserid = UserId;
|
||
ViewBag.userGroupId = userGroupId;
|
||
ViewBag.saleDeptId = saleDeptId;
|
||
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_投顾订单开通审核)]
|
||
public JsonResult GetLevel2OrderHtmlList(Pager pager, string columns, QueryUserComboDto usercomboDto)
|
||
{
|
||
try
|
||
{
|
||
string orderId = Request.Form["orderId"];
|
||
string resid = Request.Form["resid"]; //
|
||
string status = Request.Form["status"];//类型
|
||
string product = Request.Form["product"];//品种
|
||
DateTime? ctime = Request.Form["ctime"].GetDateTime();
|
||
DateTime? etime = Request.Form["etime"].GetDateTime();
|
||
string username = Request.Form["userName"];
|
||
string groupId = Request.Form["groupId"];
|
||
decimal userId = Request.Form["userId"].GetDecimal(0);
|
||
|
||
var list = _order.getOrderList(ref pager, Convert.ToInt32(status == "" ? "-1" : status), ctime, etime.Value.AddDays(1), Convert.ToInt32(product ?? "0"), resid, orderId, username, groupId, userId, usercomboDto);
|
||
var table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
List<L2_SOFT_PRODUCT> productList = cache.GetSProductList();
|
||
foreach (var model in list)
|
||
{
|
||
L2_SOFT_PRODUCT active = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID);
|
||
table.AddCol(model.ORDERSTATUS == 0 ? string.Format("<input name='orderCheck' type='checkbox' value='{0}' />", model.ORDERID) : "");
|
||
table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(model.CREATEUSER)));
|
||
table.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER));
|
||
table.AddCol(model.ORDERID);
|
||
table.AddCol(active == null ? "" : active.PRODUCTNAME);
|
||
table.AddCol(model.RESID);
|
||
table.AddCol(PhoneHelper.FormatPhoneUserName(model.USERNAME));
|
||
table.AddCol(model.DAYS);
|
||
table.AddCol(model.MAINORDERID);
|
||
table.AddCol(model.PRICE);
|
||
table.AddCol(model.CTIME);
|
||
//table.AddCol(InnerUserHelper.Instance.GetUsername(model.CREATEUSER));
|
||
table.AddCol(GetStatusName(model.ORDERSTATUS));
|
||
table.AddCol(model.OTIME);
|
||
//table.AddCol(model.ORDERSTATUS == 0 ? string.Format(" <input class='btn btn-danger ' type='button' value='审核' checkOrder(\"{0}\") /> <input class='btn btn-danger ' type='button' value='删除' deleteOrder(\"{1}\") />", model.ORDERID, model.ORDERID) : "");
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.Message);
|
||
var json = new
|
||
{
|
||
totalPages = 0,
|
||
totalRows = 0,
|
||
rowsList = 0
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
public string GetStatusName(decimal statusID)
|
||
{
|
||
int status = Convert.ToInt32(statusID);
|
||
string relust = string.Empty;
|
||
switch (status)
|
||
{
|
||
case 0: relust = "未开通"; break;
|
||
case 1: relust = "已开通"; break;
|
||
case 2: relust = "已撤销"; break;
|
||
case 3: relust = "已删除"; break;
|
||
}
|
||
return relust;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 审核开通详细
|
||
/// </summary>
|
||
/// <param name="id"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Check)]
|
||
public ActionResult ApplyDetails(string id)
|
||
{
|
||
L2_SOFT_ORDER model = null;
|
||
var productName = "";
|
||
if (!string.IsNullOrEmpty(id))
|
||
{
|
||
decimal orderId = Convert.ToDecimal(id);
|
||
model = _order.getOrderByOrderId(orderId);
|
||
if (model != null)
|
||
{
|
||
var product = cache.GetSProductList().Where(p => p.PRODUCTCODE.Trim() == model.PRODUCTCODE.Trim()).FirstOrDefault();
|
||
productName = product == null ? "" : product.PRODUCTNAME;
|
||
}
|
||
}
|
||
ViewBag.days = model.DAYS;
|
||
ViewBag.price = model.PRICE;
|
||
ViewBag.productName = productName;
|
||
ViewBag.orderId = model.ORDERID;
|
||
return View(model);
|
||
}
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Delete)]
|
||
public JsonResult DeleteOrder(string id)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(id))
|
||
return JsonHandler.ManageMessage("参数错误", false);
|
||
string message = _order.deleteOrder(ref errors, Convert.ToDecimal(id));
|
||
bool result = message == "成功";
|
||
return JsonHandler.DeleteMessage(errors, result);
|
||
}
|
||
|
||
/// <summary>
|
||
/// OpenOrder开通订单
|
||
/// </summary>
|
||
/// <param name="UserName"></param>
|
||
/// <param name="ProductList"></param>
|
||
/// <param name="ResId"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Check)]
|
||
public ActionResult OpenOrder(string id, string reson)
|
||
{
|
||
L2_SOFT_ORDER model = null;
|
||
string AdminPassword = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd);
|
||
string AdminAgentId = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId);
|
||
string url = "";
|
||
string json = "";
|
||
if (!string.IsNullOrEmpty(id))
|
||
{
|
||
decimal orderId = Convert.ToDecimal(id);
|
||
model = _order.getOrderByOrderId(orderId);
|
||
var freeOrderType = cache.GetValue_Parameter("freeOrderType");
|
||
if (freeOrderType != "old" && model != null)
|
||
{
|
||
var openMsg = _order.OpenOrder(model.WEBORDERID.ToString(), reson);
|
||
return JsonHandler.ManageMessage("开通成功", true);
|
||
}
|
||
}
|
||
|
||
var product = cache.GetSProductList().Where(p => p.PRODUCTID == model.PRODUCTID).FirstOrDefault();
|
||
|
||
freeordermodel theModel = new freeordermodel();
|
||
PhoneLogModel phoneLogModel = new PhoneLogModel
|
||
{
|
||
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
||
userid = UserId
|
||
};
|
||
theModel.mobile = _RES_RESOURCEMOBILE_Q.GetNumberByResId(model.RESID, phoneLogModel);
|
||
theModel.needpay = model.PRICE;
|
||
theModel.opendays = 1;
|
||
theModel.ordertype = 1;
|
||
theModel.productId = model.PRODUCTID;
|
||
theModel.remark = reson;
|
||
theModel.saledeptid = companyId;
|
||
theModel.source = "1";
|
||
theModel.softusername = model.USERNAME;
|
||
theModel.productcode = model.PRODUCTCODE;//小类代码
|
||
|
||
theModel.teamserve = 1;
|
||
theModel.userid = model.CREATEUSER;
|
||
theModel.count = Convert.ToInt32(model.DAYS);//产品数 --免费产品始终一天,这里天数作为数量传递,达到天数效果
|
||
theModel.productType = Convert.ToInt32(product.PRODUCTTYPE);//产品分类
|
||
theModel.opuser = UserId;
|
||
theModel.ctime = DateTimeTool.ConvertDateTimeInt(model.CTIME).ToString();
|
||
//theModel.companycode = companyCode;
|
||
theModel.companycode = Utility.GetSettingOrNullByKey("DataClientCode");
|
||
theModel.days = Convert.ToInt32(model.DAYS);
|
||
theModel.mainOrderId = model.MAINORDERID.HasValue ? Convert.ToInt32(model.MAINORDERID) : (int?)null;
|
||
var depment = cache.GetList_SalesDepartMent();
|
||
if (!string.IsNullOrEmpty(model.DEPTCODE))
|
||
{
|
||
var dep = depment.Find(p => p.SALEDEPTCODE == model.DEPTCODE);
|
||
if (dep != null)
|
||
{
|
||
if (dep.CHANNELDEF.HasValue)
|
||
theModel.ch = (int)dep.CHANNELDEF;
|
||
}
|
||
}
|
||
url = cache.GetValue_Parameter(Parameter.Core_ZxdService_FreeOrder);//内部接口··开通免费订单接口
|
||
//活动订单,不填金额,走赠送接口
|
||
//if (theModel.productCode.ToUpper().StartsWith("OEM_ACTIVE"))
|
||
//{
|
||
// theModel.PayPrice = 0;
|
||
// theModel.Days = 0;
|
||
// url = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);
|
||
//}
|
||
json = Utility.ConvertToJSON<freeordermodel>(theModel);
|
||
json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "审核:" + url + "?" + json);
|
||
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
||
retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
||
|
||
CreateOrderRsp retmessage = JsonHelper.JsonDivertToObj<CreateOrderRsp>(retmsg);//返回信息
|
||
|
||
if (retmessage.retCode == (int)NodeJsOrderEnum.调用成功)//成功
|
||
{
|
||
model.ORDERSTATUS = 1;
|
||
model.OPENUSER = UserId;
|
||
model.OTIME = DateTime.Now;
|
||
model.WEBORDERID = retmessage.orderId;
|
||
model.MEMO = reson;
|
||
_order.UpdateOrder(ref errors, model);
|
||
return JsonHandler.ManageMessage("开通成功", true);
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage(string.IsNullOrEmpty(retmessage.retMsg) ? Utility.GetCheckEnumNameByValue<NodeJsOrderEnum>(retmessage.retCode) : retmessage.retMsg, false);
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// CloseFreeOrderByEmpower通过员工权限管理关闭免费订单
|
||
/// </summary>
|
||
/// <param name="UserName"></param>
|
||
/// <param name="ProductList"></param>
|
||
/// <param name="ResId"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Other2)]
|
||
public ActionResult CloseFreeOrderByEmpower(string orderId, string username)
|
||
{
|
||
L2_SOFT_ORDER model = null;
|
||
string AdminPassword = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd);
|
||
string AdminAgentId = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId);
|
||
string url = "";
|
||
string json = "";
|
||
|
||
freeOrderClose theModel = new freeOrderClose();
|
||
theModel.orderId = orderId;//订单ID
|
||
theModel.userName = username;
|
||
//theModel.companycode = saleDeptCode;
|
||
url = cache.GetValue_Parameter(Parameter.Core_ZxdService_CloseFreeOrder);//内部接口··开通免费订单接口
|
||
|
||
json = Utility.ConvertToJSON<freeOrderClose>(theModel);
|
||
json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);
|
||
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
||
retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
||
|
||
freeOrderCloseRes retmessage = JsonHelper.JsonDivertToObj<freeOrderCloseRes>(retmsg);//返回信息
|
||
|
||
//string mms = string.Empty;
|
||
if (retmessage.iRet == 0)
|
||
{
|
||
return JsonHandler.ManageMessage(retmessage.sMsg, true);
|
||
}
|
||
return JsonHandler.ManageMessage(retmessage.sMsg, false);
|
||
}
|
||
|
||
/// <summary>
|
||
/// OpenOrder开通订单
|
||
/// </summary>
|
||
/// <param name="UserName"></param>
|
||
/// <param name="ProductList"></param>
|
||
/// <param name="ResId"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Other2)]
|
||
public ActionResult CloseFreeOrder(string id)
|
||
{
|
||
L2_SOFT_ORDER model = null;
|
||
string AdminPassword = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd);
|
||
string AdminAgentId = cache.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId);
|
||
string url = "";
|
||
string json = "";
|
||
if (!string.IsNullOrEmpty(id))
|
||
{
|
||
decimal orderId = Convert.ToDecimal(id);
|
||
model = _order.getOrderByOrderId(orderId);
|
||
}
|
||
//var user = _softuser_q.GetUser_userName(model.USERNAME);
|
||
|
||
//AddOrderOpen theModel = new AddOrderOpen();
|
||
//theModel.productCode = model.PRODUCTCODE;
|
||
//theModel.userName = model.USERNAME;
|
||
//if (model.PRICE != null)
|
||
// theModel.PayPrice = model.PRICE.Value;
|
||
//theModel.Days = model.DAYS;
|
||
//theModel.resPhone = model.RESID;
|
||
//theModel.CreateUser = UserId.ToString();
|
||
//theModel.PayMark = string.IsNullOrEmpty(reson) ? "坐席申请开通" : reson;
|
||
//theModel.Orderid = model.WEBORDERID;
|
||
|
||
var product = cache.GetSProductList().Where(p => p.PRODUCTID == model.PRODUCTID).FirstOrDefault();
|
||
|
||
freeOrderClose theModel = new freeOrderClose();
|
||
theModel.orderId = model.WEBORDERID;//订单ID
|
||
theModel.userName = model.USERNAME;
|
||
//theModel.companycode = saleDeptCode;
|
||
url = cache.GetValue_Parameter(Parameter.Core_ZxdService_CloseFreeOrder);//内部接口··开通免费订单接口
|
||
|
||
//活动订单,不填金额,走赠送接口
|
||
//if (theModel.productCode.ToUpper().StartsWith("OEM_ACTIVE"))
|
||
//{
|
||
// theModel.PayPrice = 0;
|
||
// theModel.Days = 0;
|
||
// url = cache.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpenFree);
|
||
//}
|
||
json = Utility.ConvertToJSON<freeOrderClose>(theModel);
|
||
json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);
|
||
LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "关闭:" + url + "?" + json);
|
||
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
||
retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
||
|
||
freeOrderCloseRes retmessage = JsonHelper.JsonDivertToObj<freeOrderCloseRes>(retmsg);//返回信息
|
||
|
||
string mms = string.Empty;
|
||
if (retmessage.iRet == 0)
|
||
{
|
||
mms = _order.closeOrder(model.ORDERID);
|
||
}
|
||
else
|
||
{
|
||
return JsonHandler.ManageMessage(retmessage.sMsg, false);
|
||
}
|
||
|
||
return JsonHandler.ManageMessage(mms, false);
|
||
}
|
||
|
||
#region 导出
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_投顾订单开通审核, InitToolBar.CONST_Other1)]
|
||
public FileResult Level2ListExport(QueryUserComboDto usercomboDto)
|
||
{
|
||
string orderId = Request.Params["orderId"];
|
||
string resid = Request.Params["resid"]; //
|
||
string status = Request.Params["status"];//类型
|
||
string product = Request.Params["product"];//品种
|
||
DateTime? ctime = Request.Params["ctime"].GetDateTime();
|
||
DateTime? etime = Request.Params["etime"].GetDateTime();
|
||
string username = Request.Params["userName"];
|
||
string groupId = Request.Params["groupId"];
|
||
decimal userId = Request.Params["userId"].GetDecimal(0);
|
||
Pager pager = new Pager() { rows = int.MaxValue, page = 1 };
|
||
var list = _order.getOrderList(ref pager, Convert.ToInt32(status == "" ? "-1" : status), ctime, etime, Convert.ToInt32(product ?? "0"), resid, orderId, username, groupId, userId, usercomboDto);
|
||
|
||
List<L2_SOFT_PRODUCT> productList = cache.GetSProductList();
|
||
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
||
string checkedTitle = PageRequest.GetQueryString("checkedTitles");
|
||
if (!string.IsNullOrWhiteSpace(checkedFilds))
|
||
{
|
||
checkedFilds = checkedFilds.Replace("[checkALL]", "");
|
||
}
|
||
|
||
if (!string.IsNullOrWhiteSpace(checkedTitle))
|
||
{
|
||
checkedTitle = checkedTitle.Trim(',');
|
||
}
|
||
|
||
List<Soft_ActiveOrderlist> exprotlist = new List<Soft_ActiveOrderlist>();
|
||
foreach (var model in list)
|
||
{
|
||
Soft_ActiveOrderlist item = new Soft_ActiveOrderlist();
|
||
L2_SOFT_PRODUCT active = productList.FirstOrDefault(p => p.PRODUCTID == model.PRODUCTID);
|
||
item.ORDERSTATUS = model.ORDERSTATUS;
|
||
|
||
item.ProductName = active == null ? "" : active.PRODUCTNAME;
|
||
item.orderid = model.ORDERID.ToString();
|
||
item.RESID = model.RESID;
|
||
item.USERNAME = PhoneHelper.FormatPhoneUserName(model.USERNAME);
|
||
item.DAYS = model.DAYS;
|
||
item.PRICE = model.PRICE;
|
||
item.CTIME = model.CTIME;
|
||
|
||
item.CREATEUSERStr = InnerUserHelper.Instance.GetUsername(model.CREATEUSER);
|
||
item.PRODUCTCODE = model.PRODUCTCODE;
|
||
item.ORDERSTATUSNAME = GetStatusName(model.ORDERSTATUS);
|
||
item.OTIME = model.OTIME;
|
||
//table.AddCol(model.ORDERSTATUS == 0 ? string.Format(" <input class='btn btn-danger ' type='button' value='审核' checkOrder(\"{0}\") /> <input class='btn btn-danger ' type='button' value='删除' deleteOrder(\"{1}\") />", model.ORDERID, model.ORDERID) : "");
|
||
exprotlist.Add(item);
|
||
}
|
||
|
||
return File(ExcelHelper.ExportListModelToExcel<Soft_ActiveOrderlist>(exprotlist.ToList(), "投顾订单开通审核", 60000, checkedFilds, checkedTitle, null), "application/ms-excel", PageRequest.GetDlownLoadName("投顾订单开通审核.xls"));
|
||
}
|
||
|
||
#endregion 导出
|
||
|
||
#endregion 投顾订单审核
|
||
|
||
#endregion 客服申请,总监审核开通流程
|
||
|
||
#region 订单统计
|
||
|
||
/// <summary>
|
||
/// 订单统计 (日期、注册渠道号、产品大类)
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单统计)]
|
||
public ActionResult L2OrderStOrEx()
|
||
{
|
||
#region toolbar工具栏
|
||
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.L2订单统计, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
tool.AllowButton("Other1");
|
||
tool.AddOtherButton("Other1", "导出", "icon-export", "BtnExportAll_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
#endregion toolbar工具栏
|
||
|
||
#region gridtable 表格
|
||
|
||
//var pager = new Pager() { page = 1, rows = 20 };
|
||
var tableId = "tablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHeadCol("", "25px", " ");
|
||
tab.AddHeadCol("paydate", "20%", "日期 ", true);
|
||
tab.AddHiddenHeadCol("ProductCode", "ProductCode");
|
||
tab.AddHeadCol("productname", "20%", "产品 ");
|
||
tab.AddHeadCol("regcampainid", "20%", "注册渠道号 ", true);
|
||
//tab.AddHeadCol("countOrder", "10%", "订单数量 ");
|
||
tab.AddHeadCol("sumPaytotal", "20%", "总金额 ");
|
||
tab.AddHeadCol("", "10%", "操作 ");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable();// +Pagination.GetPage(pager, tableId, "10,20,30");
|
||
|
||
#endregion gridtable 表格
|
||
|
||
return View();
|
||
}
|
||
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 按照条件获取数据
|
||
/// </summary>
|
||
/// <param name="pager"></param>
|
||
/// <param name="queryStr"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单统计)]
|
||
public JsonResult L2OrderStOrExHtmlList(string columns, DateTime cTime, DateTime eTime)
|
||
{
|
||
string msg = "";
|
||
string ctime = Request.Form["ctime"];
|
||
string etime = Request.Form["etime"];
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", "", "", "", "", "", ctime, etime, "", "", "", 0, 0);
|
||
|
||
//获取订单列表
|
||
List<Soft_OrderSt> orderSt = crmmodel.GetOrderSt(out msg);
|
||
|
||
Table table = new Table(columns, true);
|
||
//推广资源
|
||
var groupList = from q in orderSt
|
||
group q by q.PayDate into g
|
||
select g;
|
||
|
||
string style1 = "text-align:left;padding-left:10px;";
|
||
string style2 = "text-align:left;padding-left:30px;";
|
||
//string style3 = "text-align:left;padding-left:10px;color:red;font-weight:bold";
|
||
//推广资源table
|
||
foreach (var group in groupList)
|
||
{
|
||
var linkDetail = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">详情</a>"
|
||
, "订单详细"
|
||
, "/Level2/Leve2Order/L2OrderStOrExDetail?page=1&rows=20&stime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 00:00:00") + "&etime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 23:59:59"));
|
||
|
||
//table.AddHiddenCol(group.First().PayDate);
|
||
//table.AddHiddenCol("");
|
||
//table.AddHiddenCol(group.Sum(m => m.SumPaytotal));
|
||
table.AddCol("<span class='expand-activity txt-expand' title='" + group.Key + "'> </span>");
|
||
table.AddCol(style1, "", group.Key);
|
||
table.AddHiddenCol("所有");
|
||
table.AddCol(style1, "", "所有");
|
||
table.AddCol(style1, "", "所有");
|
||
table.AddCol(style1, "", "合计:" + group.Sum(m => m.SumPaytotal));
|
||
table.AddCol(linkDetail);
|
||
//table.AddCol(style1, "", "合计:" + group.Sum(m => m.ActivityCountByTime));
|
||
table.AddRow();
|
||
foreach (var model in group)
|
||
{
|
||
var linkDetail1 = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">详情</a>"
|
||
, "订单详细"
|
||
, "/Level2/Leve2Order/L2OrderStOrExDetail?page=1&rows=20&stime="
|
||
+ Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 00:00:00") + "&etime=" + Convert.ToDateTime(group.Key).ToString("yyyy-MM-dd 23:59:59") + "&productbigtype=" + model.ProductCode + "®Campainid=" + model.RegCampainid);
|
||
|
||
//table.AddHiddenCol("");
|
||
//table.AddHiddenCol(model.PayDate);
|
||
//table.AddHiddenCol(model.ProductName);
|
||
table.AddCol("");
|
||
table.AddCol("");
|
||
table.AddHiddenCol(model.ProductCode);
|
||
table.AddCol(style2, "", model.ProductName);
|
||
table.AddCol(style2, "", model.RegCampainid);
|
||
table.AddCol(style2, "", model.SumPaytotal);
|
||
//table.AddCol(style2, "", model.ActivityCountByTime);
|
||
//table.AddCol(style3, "", "");
|
||
table.AddCol(linkDetail1);
|
||
table.AddRow("style='display:none' typeName='" + group.Key + "'");
|
||
}
|
||
}
|
||
|
||
var json = new
|
||
{
|
||
rowsList = table.GetRows()//推广
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 订单详情页面
|
||
/// </summary>
|
||
/// <param name="CustomerId"></param>
|
||
/// <returns></returns>
|
||
public ActionResult L2OrderStOrExDetail(string stime, string etime, string productbigtype, string regCampainid)
|
||
{
|
||
#region toolbar工具栏
|
||
|
||
ToolBar tool = new ToolBar();
|
||
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.L2订单统计, userRightId);
|
||
tool.AllowButton(toolbtn);
|
||
tool.AllowButton("Other1");
|
||
tool.AddOtherButton("Other1", "导出", "icon-export", "BtnExportAll_Click", true);
|
||
ViewBag.ToolBar = tool;
|
||
|
||
#endregion toolbar工具栏
|
||
|
||
#region gridtable 表格
|
||
|
||
var pager = new Pager() { page = 1, rows = 20 };
|
||
var tableId = "detailtablist";
|
||
var tab = new Table(tableId);
|
||
tab.AddHeadCol("orderid", "10%", "订单号 ", true);
|
||
tab.AddHeadCol("pcusername", "10%", "用户名 ");
|
||
tab.AddHeadCol("bigproductcode", "10%", "产品");
|
||
tab.AddHeadCol("regcampainid", "10%", "注册渠道号", true);
|
||
tab.AddHeadCol("WEBPAYID", "10%", "支付流水号 ");
|
||
tab.AddHeadCol("PAYTOTAL", "10%", "支付金额", true);
|
||
tab.AddHeadCol("PAYTYPE", "10%", "支付方式", true);
|
||
tab.AddHeadCol("CTIME", "10%", "支付时间");
|
||
tab.AddHeadCol("PAYMEMO", "10%", "支付备注");
|
||
tab.AddHeadRow();
|
||
ViewBag.gridTable = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30");
|
||
|
||
#endregion gridtable 表格
|
||
|
||
#region 页面传值
|
||
|
||
ViewBag.Stime = stime;
|
||
ViewBag.Etime = etime;
|
||
ViewBag.Productbigtype = productbigtype;
|
||
ViewBag.RegCampainid = regCampainid;
|
||
|
||
#endregion 页面传值
|
||
|
||
return View();
|
||
}
|
||
|
||
//列表
|
||
[HttpPost]
|
||
[AuthorizeRedirect(Roles = InitRights.CONST_L2订单统计)]
|
||
public JsonResult L2OSOEDGetHtmlList(Pager pager, string columns)//, string stime, string etime, string productbigtype, string regCampainid)
|
||
{
|
||
int total = 0;
|
||
string msg = "";
|
||
string stime = Request.Form["stime"];
|
||
string etime = Request.Form["etime"];
|
||
string regCampainid = Request.Form["regCampainid"];
|
||
string _productbigtype = Request.Form["productbigtype"];
|
||
//string _productbigtype = productbigtype;
|
||
|
||
if (string.IsNullOrEmpty(_productbigtype))
|
||
_productbigtype = "-1";
|
||
|
||
if (_productbigtype == "-1")
|
||
{
|
||
//if (_protype != null)
|
||
//{
|
||
softBigProducts = cache.GetBigProductList();
|
||
//softBigProducts = softBigProducts.Where(p => p.GROUPID == Convert.ToDecimal(_protype)).ToList()
|
||
softBigProducts = softBigProducts.ToList();
|
||
_productbigtype = "";
|
||
foreach (L2_SOFT_BIGPRODUCT item in softBigProducts)
|
||
{
|
||
_productbigtype += item.PRODUCTCODE + ",";
|
||
}
|
||
_productbigtype = _productbigtype.Substring(0, _productbigtype.Length - 1);
|
||
//}
|
||
}
|
||
if (!string.IsNullOrEmpty(stime) && !string.IsNullOrEmpty(etime))
|
||
{
|
||
stime = Convert.ToDateTime(stime).ToString("yyyy-MM-dd 00:00:00");
|
||
etime = Convert.ToDateTime(etime).ToString("yyyy-MM-dd 23:59:59");
|
||
}
|
||
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel(_productbigtype, stime, etime, string.IsNullOrEmpty(regCampainid) ? (decimal?)null : Convert.ToDecimal(regCampainid), pager.page, pager.rows);
|
||
//获取支付列表
|
||
List<Soft_OrderWebPayList> detail = crmmodel.GetOrderStDetail(out msg, out total);
|
||
var list = detail.AsQueryable();
|
||
pager.totalRows = total;
|
||
var table = new Table(columns, true);
|
||
table.gridPager = pager;
|
||
|
||
foreach (var model in list)
|
||
{
|
||
table.AddCol(model.ORDERID);//订单号
|
||
table.AddCol(PhoneHelper.FormatPhoneUserName(model.PcUserName));//pc用户名
|
||
table.AddCol(GetBigProductName(model.BIGPRODUCTCODE));//大类代码
|
||
table.AddCol(model.RegCampainid);//注册渠道号
|
||
table.AddCol(model.WEBPAYID);//支付流水号
|
||
table.AddCol(model.PAYTOTAL);//支付金额
|
||
table.AddCol(GetPayType(model.PAYTYPE.ToString()));//支付方式
|
||
table.AddCol(model.CTIME);//开通时间
|
||
table.AddCol(model.PAYMEMO);//支付备注
|
||
table.AddRow();
|
||
}
|
||
var json = new
|
||
{
|
||
totalPages = pager.totalPages,
|
||
totalRows = pager.totalRows,
|
||
rowsList = table.GetRows()
|
||
};
|
||
return Json(json, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[AuthorizeToolBar(InitRights.CONST_L2订单统计, InitToolBar.CONST_Other4)]
|
||
public FileResult L2OrderStOrExDetailListExport()
|
||
{
|
||
int total = 0;
|
||
string msg = "";
|
||
string checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
||
string checkedTitles = PageRequest.GetQueryString("checkedTitles");
|
||
|
||
string ctime = Request.QueryString["ctime"];
|
||
string etime = Request.QueryString["etime"];
|
||
string openstime = Request.QueryString["openctime"];
|
||
string openetime = Request.QueryString["openetime"];
|
||
string _productbigtype = Request.QueryString["productbigtype"];
|
||
string _productsmalltype = Request.QueryString["productsmalltype"];
|
||
string _openStatu = Request.QueryString["openStatu"];
|
||
string _userName = Request.QueryString["userName"];
|
||
string _OrderId = Request.QueryString["OrderId"];
|
||
string _resId = Request.Form["ResId"];
|
||
|
||
if (_productbigtype == "-1")
|
||
{
|
||
_productbigtype = "";
|
||
}
|
||
if (_productsmalltype == "-1" || _productsmalltype == "null")
|
||
{
|
||
_productsmalltype = "";
|
||
}
|
||
|
||
Soft_CRMOrderModel crmmodel = new Soft_CRMOrderModel("", _productbigtype, _productsmalltype, _userName, _OrderId, _openStatu, ctime, etime, openstime, openetime, _resId, 1, int.MaxValue);
|
||
//获取订单列表
|
||
List<Soft_OrderDetail> list = crmmodel.GetOderDetail(out msg, out total);
|
||
List<string> ResIds = new List<string>();
|
||
foreach (var item in list)
|
||
{
|
||
item.USERNAME = PhoneHelper.FormatPhoneUserName(item.USERNAME);
|
||
item.PcUserName = PhoneHelper.FormatPhoneUserName(item.USERNAME);
|
||
var orderext = item.orderExt.FirstOrDefault();
|
||
if (null != orderext)
|
||
{
|
||
item.CHANNEL = orderext.USERCAMPAINID;
|
||
item.L2RESID = orderext.MOBILE;
|
||
try
|
||
{
|
||
ResIds.Add(orderext.MOBILE);
|
||
RegisterResId regist = new RegisterResId(orderext.MOBILE);
|
||
regist.RegisterPhone();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("level2导出的手机注册" + orderext.MOBILE + ex.ToString());
|
||
}
|
||
}
|
||
}
|
||
try
|
||
{
|
||
RegisterListResId regist = new RegisterListResId(ResIds);
|
||
regist.RegisterPhone();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error("level2导出的手机注册" + ex.ToString());
|
||
}
|
||
|
||
return File(ExcelHelper.ExportListModelToExcel<Soft_OrderDetail>(list, "订单查询", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("订单查询.xls"));
|
||
}
|
||
|
||
#endregion 订单统计
|
||
|
||
public class FreeOrderRule
|
||
{
|
||
public bool IsLimit { get; set; }
|
||
public List<FreeProductRule> Products { get; set; }
|
||
}
|
||
|
||
public class FreeProductRule
|
||
{
|
||
public decimal ProductId { get; set; }
|
||
public int Limit { get; set; }
|
||
}
|
||
}
|
||
} |