565 lines
25 KiB
C#
565 lines
25 KiB
C#
using CRM.Core.DTO;
|
|
using Ninject;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.BLL.Deliver;
|
|
using WX.CRM.BLL.Res;
|
|
using WX.CRM.BLL.Util;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.IBLL.Res;
|
|
using WX.CRM.IBLL.Util;
|
|
using WX.CRM.Model.Entity;
|
|
using WX.CRM.Model.Enum;
|
|
using WX.CRM.Model.MAP;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace WX.CRM.WEB.Controllers.WeiXin
|
|
{
|
|
public class DeliverMethodController : BaseController
|
|
{
|
|
[Inject]
|
|
public IRES_RESOURCEMOBILE_Q res_ResourceMobile_BL { get; set; }
|
|
|
|
[Inject]
|
|
public IRES_CUSTOMER_Q res_Customer_BL { get; set; }
|
|
|
|
[Inject]
|
|
public ICACHE_Q _CacheQ { get; set; }
|
|
|
|
[Inject]
|
|
public CACHE_BL cache_BL { get; set; }
|
|
|
|
[Inject]
|
|
public ISecurityHelper sHelper { get; set; }
|
|
|
|
[Inject]
|
|
private static IRES_CUSTOMER _customer = new RES_CUSTOMER_BL();
|
|
|
|
private DELIVER_BLL deliver_bll = new DELIVER_BLL();
|
|
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_交付订单列表)]
|
|
public ActionResult DeliverOrderList()
|
|
{
|
|
//ToolBar
|
|
ToolBar tool = new ToolBar();
|
|
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.交付订单列表, userRightId);
|
|
tool.AllowButton(toolbtn);
|
|
tool.AddOtherButton("Other1", "查看订单交付连接", "icon-add", "ShowLink_Click", true);
|
|
tool.AddOtherButton("Other2", "填写快递单号", "icon-edit", "emilNumber_Click", true);
|
|
tool.AddOtherButton("Other3", "上传快递回执", "icon-export", "upload_Click", true);
|
|
tool.AddOtherButton("Other4", "显示手机加密部分", "icon-export", "show_Phone_Click", true);
|
|
tool.AddOtherButton("Other5", "修改收件信息", "icon-export", "address_Click", true);
|
|
ViewBag.ToolBar = tool;
|
|
//table
|
|
Pager pager = new Pager() { page = 1, rows = 20 };
|
|
string tableId = "tablist";
|
|
Table tab = new Table(tableId);
|
|
tab.isCheckbox = true;
|
|
|
|
tab.AddHeadCol("RESID", "", "客户ID");
|
|
tab.AddHeadCol("DEPTCODE", "", "部门归属");
|
|
tab.AddHeadCol("CNAME", "", "客户姓名");
|
|
tab.AddHeadCol("GNAME", "", "组别");
|
|
tab.AddHeadCol("INNERUSERID", "", "工号");
|
|
tab.AddHeadCol("SUBPRODUCTNAME", "", "产品");
|
|
tab.AddHeadCol("ORDERID", "", "订单ID");
|
|
tab.AddHeadCol("ORDERSTATUSNAME", "", "订单状态");
|
|
tab.AddHeadCol("OPENDAYS", "", "订单天数");
|
|
|
|
tab.AddHeadCol("DELIVERTYPE", "", "交付方式");
|
|
tab.AddHeadCol("DELIVERSTATUS", "", "交付状态");
|
|
tab.AddHeadCol("MAILNAME", "", "收件人");
|
|
tab.AddHeadCol("ADDRESSINFO", "", "收货地址");
|
|
tab.AddHeadCol("MAILPHONE", "", "收件人电话");
|
|
tab.AddHeadCol("MAILTYPE", "", "快递公司");
|
|
tab.AddHeadCol("MAILNUMBER", "", "快递单号");
|
|
tab.AddHeadCol("MAILFIlE", "", "快递回执");
|
|
tab.AddHeadCol("OTIME", "", "订单审核时间");
|
|
tab.AddHeadCol("DTIME", "", "交付时间");
|
|
|
|
tab.AddHeadRow();
|
|
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20");
|
|
ViewBag.inneruserid = UserId;
|
|
ViewBag.userGroupId = userGroupId;
|
|
ViewBag.saleDeptId = saleDeptId;
|
|
ViewBag.currentRight = InitRights.CONST_交付订单列表;//当前页面权限
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_交付订单列表)]
|
|
public JsonResult GetDeliverOrderList(string columns, Pager pager, DeliverOrderListDto querydto, QueryUserComboDto usercomboDto)
|
|
{
|
|
string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
|
var showPhoneArray = querydto.showPhone == null ? new List<string>() : querydto.showPhone.Split(',').ToList();
|
|
List<DeliverOrderView> list = deliver_bll.GetList(ref pager, querydto, usercomboDto);
|
|
|
|
Table table = new Table(columns, true);
|
|
table.isCheckbox = true;
|
|
table.gridPager = pager;
|
|
|
|
var deptList = _CacheQ.GetList_SalesDepartMent().Where(p => p.CHANNELDEF != null);
|
|
foreach (var item in list)
|
|
{
|
|
var linkUrl = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>"
|
|
, "客户详细"
|
|
, "/Csvr/CustomerInfo/CustomerDetail?resid=" + item.RESID
|
|
, item.RESID);
|
|
|
|
var dept = deptList.FirstOrDefault(p => p.SALEDEPTCODE == item.DEPTCODE);
|
|
|
|
table.AddCol(linkUrl);
|
|
if (dept != null)
|
|
{
|
|
table.AddCol(dept.DEPTNAME);
|
|
}
|
|
else
|
|
{
|
|
table.AddCol("未知");
|
|
}
|
|
table.AddCol(item.CNAME);
|
|
if (decimal.TryParse(item.INNERUSERID, out decimal iid))
|
|
{
|
|
var innerUserId = Convert.ToDecimal(iid);
|
|
table.AddCol(InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(innerUserId)));
|
|
table.AddCol(InnerUserHelper.Instance.EidAndName(innerUserId));
|
|
}
|
|
else
|
|
{
|
|
table.AddCol("无工号");
|
|
table.AddCol("无工号");
|
|
}
|
|
table.AddCol(item.SUBPRODUCTNAME);
|
|
table.AddCol(item.ORDERID);
|
|
if (item.ORDERSTATUS == "190")
|
|
{
|
|
table.AddCol("color:blue", "", item.ORDERSTATUSNAME);
|
|
}
|
|
else if (item.ORDERSTATUS == "195")
|
|
{
|
|
table.AddCol("", "", string.Format("<a style=\"color:red\" href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>", "支付记录申请列表", "/weixin/orderpay?orderid=" + item.ORDERID.ToString(), item.ORDERSTATUSNAME));
|
|
}
|
|
else if (item.ORDERSTATUS == "200")
|
|
{
|
|
table.AddCol("color:orange", "", item.ORDERSTATUSNAME);
|
|
}
|
|
else if (item.ORDERSTATUS == "220")
|
|
{
|
|
table.AddCol("color:green", "", item.ORDERSTATUSNAME);
|
|
}
|
|
else
|
|
{
|
|
table.AddCol(item.ORDERSTATUSNAME);
|
|
}
|
|
|
|
table.AddCol(item.OPENDAYS);
|
|
table.AddCol(item.DELIVERTYPE);
|
|
//交付状态
|
|
table.AddCol(item.DELIVERSTATUS);
|
|
table.AddCol(item.MAILNAME);
|
|
table.AddCol(item.ADDRESSINFO);
|
|
if (showPhoneArray.Contains(item.ORDERID.ToString()) && !string.IsNullOrEmpty(item.MAILRESID))//需要显示手机号的订单
|
|
{
|
|
DataTable dataTable = res_Customer_BL.CheckResidCanShowMobile(item.MAILRESID, UserId, roleCodes);
|
|
int isShowMobile = Convert.ToInt32(dataTable.Rows[0]["isLook"]);
|
|
string message = dataTable.Rows[0]["msg"].ToString();
|
|
if (isShowMobile == 0)//等于零为不允许查看号码
|
|
{
|
|
table.AddCol(message);
|
|
}
|
|
else if (!string.IsNullOrEmpty(item.MAILRESID))
|
|
{
|
|
PhoneLogModel phoneLogModel = new PhoneLogModel
|
|
{
|
|
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
|
userid = UserId
|
|
};
|
|
var mobile = res_ResourceMobile_BL.GetNumberByResId(item.MAILRESID, phoneLogModel);
|
|
table.AddCol(mobile);
|
|
}
|
|
else
|
|
{
|
|
table.AddCol(item.MAILPHONE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
table.AddCol(item.MAILPHONE);
|
|
}
|
|
|
|
table.AddCol(item.MAILTYPE);
|
|
table.AddCol(item.MAILNUMBER);
|
|
table.AddCol(item.MAILFIlE);
|
|
table.AddCol(item.OTIME);
|
|
table.AddCol(item.DTIME);
|
|
table.AddRow();
|
|
}
|
|
|
|
var json = new
|
|
{
|
|
totalPages = pager.totalPages,
|
|
totalRows = pager.totalRows,
|
|
rowsList = table.GetRows(),
|
|
foot = table.GetFoot(),
|
|
};
|
|
return Json(json, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_交付订单列表)]
|
|
public FileResult ExportDeliverOrderList(Pager pager, DeliverOrderListDto querydto, QueryUserComboDto usercomboDto)
|
|
{
|
|
string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
|
var showPhoneArray = querydto.showPhone == null ? new List<string>() : querydto.showPhone.Split(',').ToList();
|
|
List<DeliverOrderView> list = deliver_bll.GetList(ref pager, querydto, usercomboDto);
|
|
var checkedFilds = PageRequest.GetQueryString("checkedFilds");
|
|
var checkedTitle = PageRequest.GetQueryString("checkedTitles");
|
|
|
|
var deptList = _CacheQ.GetList_SalesDepartMent().Where(p => p.CHANNELDEF != null);
|
|
foreach (var item in list)
|
|
{
|
|
var linkUrl = string.Format("<a href=\"javascript:parent.ChildAddTab('{0}', '{1}', '')\">{2}</a>"
|
|
, "客户详细"
|
|
, "/Csvr/CustomerInfo/CustomerDetail?resid=" + item.RESID
|
|
, item.RESID);
|
|
var dept = deptList.FirstOrDefault(p => p.SALEDEPTCODE == item.DEPTCODE);
|
|
|
|
item.DEPTCODE = dept?.DEPTNAME ?? "未知";
|
|
var innerUserId = Convert.ToDecimal(item.INNERUSERID);
|
|
item.GNAME = InnerUserHelper.Instance.GetGroupName(InnerUserHelper.Instance.GetGroupId(innerUserId));
|
|
item.INNERUSERID = InnerUserHelper.Instance.EidAndName(innerUserId);
|
|
//
|
|
if (showPhoneArray.Contains(item.ORDERID.ToString()) && !string.IsNullOrEmpty(item.MAILRESID))//需要显示手机号的订单
|
|
{
|
|
DataTable dataTable = res_Customer_BL.CheckResidCanShowMobile(item.MAILRESID, UserId, roleCodes);
|
|
int isShowMobile = Convert.ToInt32(dataTable.Rows[0]["isLook"]);
|
|
string message = dataTable.Rows[0]["msg"].ToString();
|
|
if (isShowMobile == 0)//等于零为不允许查看号码
|
|
{
|
|
item.MAILPHONE = message;
|
|
}
|
|
else if (!string.IsNullOrEmpty(item.MAILRESID))
|
|
{
|
|
PhoneLogModel phoneLogModel = new PhoneLogModel
|
|
{
|
|
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
|
userid = UserId
|
|
};
|
|
var mobile = res_ResourceMobile_BL.GetNumberByResId(item.MAILRESID, phoneLogModel);
|
|
item.MAILPHONE = mobile;
|
|
}
|
|
}
|
|
}
|
|
|
|
return File(ExcelHelper.ExportListModelToExcel<DeliverOrderView>(list, "订单交付列表", 60000, checkedFilds, checkedTitle, null), "application/ms-excel", PageRequest.GetDlownLoadName("订单交付列表.xls"));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取产品交付连接
|
|
/// </summary>
|
|
/// <param name="OrderId"></param>
|
|
/// <returns></returns>
|
|
public JsonResult GetDeliverOrderLink(decimal? OrderId)
|
|
{
|
|
try
|
|
{
|
|
var link = deliver_bll.GetOrderDeliverLink(OrderId);
|
|
return Json(new { s = true, d = link }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Json(new { s = false, m = ex.Message }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取产品交付信息
|
|
/// </summary>
|
|
/// <param name="OrderId"></param>
|
|
/// <returns></returns>
|
|
public JsonResult GetMailInfo(decimal? OrderId)
|
|
{
|
|
try
|
|
{
|
|
string roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
|
|
var info = deliver_bll.GetDeliverInfo(OrderId);
|
|
if (info == null)
|
|
{
|
|
return Json(new { s = false, m = "客户未填写收件信息!" }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
else
|
|
{
|
|
if (!string.IsNullOrEmpty(info.MAIL_RESID))
|
|
{
|
|
DataTable dataTable = res_Customer_BL.CheckResidCanShowMobile(info.MAIL_RESID, UserId, roleCodes);
|
|
int isShowMobile = Convert.ToInt32(dataTable.Rows[0]["isLook"]);
|
|
string message = dataTable.Rows[0]["msg"].ToString();
|
|
if (isShowMobile != 0)//等于零为不允许查看号码
|
|
{
|
|
PhoneLogModel phoneLogModel = new PhoneLogModel
|
|
{
|
|
Method = System.Reflection.MethodBase.GetCurrentMethod().Name,
|
|
userid = UserId
|
|
};
|
|
info.MAIL_PHONE = res_ResourceMobile_BL.GetNumberByResId(info.MAIL_RESID, phoneLogModel);
|
|
}
|
|
}
|
|
|
|
return Json(new { s = true, d = info }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Json(new { s = false, m = ex.Message }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改交付地址
|
|
/// </summary>
|
|
/// <param name="OrderId"></param>
|
|
/// <param name=""></param>
|
|
/// <returns></returns>
|
|
public JsonResult SubMailInfo(int OrderId, string mailName, string mailPhone, string province, string city, string area, string address)
|
|
{
|
|
try
|
|
{
|
|
if (OrderId <= 0)
|
|
return Json(new { s = false, m = "参数异常!" }, JsonRequestBehavior.AllowGet);
|
|
if (string.IsNullOrEmpty(mailName))
|
|
return Json(new { s = false, m = "缺少收件人!" }, JsonRequestBehavior.AllowGet);
|
|
if (string.IsNullOrEmpty(mailPhone))
|
|
return Json(new { s = false, m = "缺少收件人电话!" }, JsonRequestBehavior.AllowGet);
|
|
if (!Utility.ChekMobile(mailPhone))
|
|
return Json(new { s = false, m = "填写手机号不正确!" }, JsonRequestBehavior.AllowGet);
|
|
if (string.IsNullOrEmpty(province) || string.IsNullOrEmpty(city) || string.IsNullOrEmpty(area))
|
|
return Json(new { s = false, m = "缺少区域!" }, JsonRequestBehavior.AllowGet);
|
|
if (string.IsNullOrEmpty(address))
|
|
return Json(new { s = false, m = "缺少详细地址!" }, JsonRequestBehavior.AllowGet);
|
|
|
|
Client_DeliverMethodDTO dto = new Client_DeliverMethodDTO();
|
|
dto.Order_Id = OrderId;
|
|
dto.Mail_Name = mailName;
|
|
dto.Mail_Phone = mailPhone;
|
|
dto.Province = province;
|
|
dto.City = city;
|
|
dto.Area = area;
|
|
dto.Address = address;
|
|
dto.IsLog = false;
|
|
//推送千拓//并下发坐席
|
|
var url = cache_BL.GetValue_Parameter(Parameter.Deliver_Push);
|
|
var json = sHelper.createSignEncodingStr(dto.ToJson(), SecurityHelper.OrderClientIdKey);
|
|
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
|
return Json(new { s = true }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Json(new { s = false, m = ex.Message }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 填写快递单号
|
|
/// </summary>
|
|
/// <param name="OrderIds"></param>
|
|
/// <param name="EmilNumber"></param>
|
|
/// <returns></returns>
|
|
public JsonResult AddDeliverLog(string OrderIds, string mailType, string MailNumber)
|
|
{
|
|
try
|
|
{
|
|
List<Client_DeliverMethodDTO> logs = new List<Client_DeliverMethodDTO>();
|
|
foreach (var id in OrderIds.Split(','))
|
|
{
|
|
var oid = Convert.ToDecimal(id);
|
|
var orderDeliver = deliver_bll.GetOrderDeliver(oid);
|
|
if (orderDeliver == null)
|
|
{
|
|
return Json(new { s = false, m = $"{oid}订单,未选择交付方式!" }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
else if (orderDeliver.DELIVER_TYPE != (int)DELIVER_TYPE_ENUM.邮寄交付)
|
|
{
|
|
return Json(new { s = false, m = $"{oid}订单,未选择邮寄交付!" }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
//var orderDeliverLog = deliver_bll.GetOrderDeliverLog(oid);
|
|
//if (orderDeliverLog.FirstOrDefault(m => !string.IsNullOrEmpty(m.MAIL_NUMBER)) != null) {
|
|
// return Json(new { s = false, m = $"{oid}订单,已经填写过快递单号!" }, JsonRequestBehavior.AllowGet);
|
|
//}
|
|
Client_DeliverMethodDTO dto = new Client_DeliverMethodDTO();
|
|
dto.Order_Id = Convert.ToInt32(oid);
|
|
dto.Deliver_Type = orderDeliver.DELIVER_TYPE;
|
|
dto.Ip = GetWebClientIp();
|
|
dto.Mail_Type = mailType;
|
|
dto.Mail_Number = MailNumber;
|
|
dto.IsLog = true;
|
|
logs.Add(dto);
|
|
}
|
|
//推送千拓//并下发坐席
|
|
var url = cache_BL.GetValue_Parameter(Parameter.Deliver_Push);
|
|
foreach (var item in logs)
|
|
{
|
|
var json = sHelper.createSignEncodingStr(item.ToJson(), SecurityHelper.OrderClientIdKey);
|
|
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
|
//retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
|
//var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsg>(retmsg);
|
|
}
|
|
return Json(new { s = true }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Json(new { s = false, m = ex.Message }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 文件上传
|
|
/// </summary>
|
|
/// <param name="OrderIds"></param>
|
|
/// <param name="EmilNumber"></param>
|
|
/// <returns></returns>
|
|
public JsonResult AddFileDeliverLog(string OrderIds, string fileName, string fileUrl)
|
|
{
|
|
List<Client_DeliverMethodDTO> logs = new List<Client_DeliverMethodDTO>();
|
|
foreach (var id in OrderIds.Split(','))
|
|
{
|
|
var oid = Convert.ToDecimal(id);
|
|
var orderDeliver = deliver_bll.GetOrderDeliver(oid);
|
|
if (orderDeliver == null)
|
|
{
|
|
return Json(new { s = false, m = $"{oid}订单,未选择交付方式!" }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
else if (orderDeliver.DELIVER_TYPE != (int)DELIVER_TYPE_ENUM.邮寄交付)
|
|
{
|
|
return Json(new { s = false, m = $"{oid}订单,未选择邮寄交付!" }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
//var orderDeliverLog = deliver_bll.GetOrderDeliverLog(oid);
|
|
//if (orderDeliverLog.FirstOrDefault(m => !string.IsNullOrEmpty(m.FILE_PATH)) != null)
|
|
//{
|
|
// return Json(new { s = false, m = $"{oid}订单,已经上传过回执!" }, JsonRequestBehavior.AllowGet);
|
|
//}
|
|
Client_DeliverMethodDTO dto = new Client_DeliverMethodDTO();
|
|
dto.Order_Id = Convert.ToInt32(oid);
|
|
dto.Deliver_Type = orderDeliver.DELIVER_TYPE;
|
|
dto.Ip = GetWebClientIp();
|
|
dto.File_Name = fileName;
|
|
dto.File_Path = fileUrl;
|
|
dto.IsLog = true;
|
|
logs.Add(dto);
|
|
}
|
|
//推送千拓//并下发坐席
|
|
var url = cache_BL.GetValue_Parameter(Parameter.Deliver_Push);
|
|
foreach (var item in logs)
|
|
{
|
|
var json = sHelper.createSignEncodingStr(item.ToJson(), SecurityHelper.OrderClientIdKey);
|
|
string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);
|
|
//retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
|
|
//var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsg>(retmsg);
|
|
}
|
|
return Json(new { s = true }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取手机号
|
|
/// </summary>
|
|
/// <param name="OrderId"></param>
|
|
/// <returns></returns>
|
|
public JsonResult GetPhone(decimal? OrderId)
|
|
{
|
|
try
|
|
{
|
|
var phone = deliver_bll.GetPhone(OrderId);
|
|
|
|
return Json(new { s = true, d = phone }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Json(new { s = false, m = ex.Message }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取web客户端ip
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private static string GetWebClientIp()
|
|
{
|
|
string userIP = "未获取用户IP";
|
|
|
|
try
|
|
{
|
|
if (System.Web.HttpContext.Current == null
|
|
|| System.Web.HttpContext.Current.Request == null
|
|
|| System.Web.HttpContext.Current.Request.ServerVariables == null)
|
|
{
|
|
return "";
|
|
}
|
|
|
|
string CustomerIP = "";
|
|
|
|
//CDN加速后取到的IP simone 090805
|
|
CustomerIP = System.Web.HttpContext.Current.Request.Headers["Cdn-Src-Ip"];
|
|
if (!string.IsNullOrEmpty(CustomerIP))
|
|
{
|
|
return CustomerIP;
|
|
}
|
|
|
|
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
|
|
|
|
if (!String.IsNullOrEmpty(CustomerIP))
|
|
{
|
|
return CustomerIP;
|
|
}
|
|
|
|
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
|
|
{
|
|
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
|
|
|
|
if (CustomerIP == null)
|
|
{
|
|
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CustomerIP = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
|
|
}
|
|
|
|
if (string.Compare(CustomerIP, "unknown", true) == 0 || String.IsNullOrEmpty(CustomerIP))
|
|
{
|
|
return System.Web.HttpContext.Current.Request.UserHostAddress;
|
|
}
|
|
return CustomerIP;
|
|
}
|
|
catch { }
|
|
|
|
return userIP;
|
|
}
|
|
}
|
|
|
|
public class Client_DeliverMethodDTO
|
|
{
|
|
public int Order_Id { get; set; }
|
|
public int Deliver_Type { get; set; }
|
|
public string Mail_Name { get; set; } = "";
|
|
public string Mail_Phone { get; set; } = "";
|
|
public string Province { get; set; } = "";
|
|
public string City { get; set; } = "";
|
|
public string Area { get; set; } = "";
|
|
public string Address { get; set; } = "";
|
|
|
|
//日志信息
|
|
public string Deliver_url_Log { get; set; } = "";
|
|
|
|
public string Ip { get; set; } = "";
|
|
public string File_Path { get; set; } = "";
|
|
public string File_Name { get; set; } = "";
|
|
public string Mail_Type { get; set; } = "";
|
|
public string Mail_Number { get; set; } = "";
|
|
public bool IsLog { get; set; }
|
|
}
|
|
} |