using CRM.Core.DTO; using CRM.Core.DTO.Ord; using Ninject; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using WX.CRM.BLL; using WX.CRM.BLL.Base; using WX.CRM.BLL.Util; using WX.CRM.Common; 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.WebHelper; namespace WX.CRM.WEB.Controllers.WeiXin { public class SzzyOrderRefundController : BaseController { private readonly IWX_SZZYORDER _order; private readonly IWX_ORDEREXT _orderExt; private readonly IWX_SZZYORDER_REFUND _wxSzzyorderRefund; private readonly IWX_SZZYORDERREFUND _orderRefund; private ICACHE_Q _cacheQ; private readonly IWX_SZZYORDERREFUNDCONTRACT _orderRefundContract; [Inject] public ISecurityHelper sHelper { get; set; } public SzzyOrderRefundController(IWX_SZZYORDER order, IWX_ORDEREXT orderExt, IWX_SZZYORDER_REFUND wxSzzyorderRefund, IWX_SZZYORDERREFUND orderRefund, ICACHE_Q cacheQ, IWX_SZZYORDERREFUNDCONTRACT orderRefundContract) { _order = order; _orderExt = orderExt; _wxSzzyorderRefund = wxSzzyorderRefund; _orderRefund = orderRefund; _cacheQ = cacheQ; _orderRefundContract = orderRefundContract; } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult Index() { //var deptCode = _cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_Environment_DeptCode); //ToolBar tool = new ToolBar(); //string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单退款, userRightId); //tool.AllowButton(toolbtn); //tool.AddOtherButton("Other1", "上传退款信息", "icon-export", "upload_Click", true); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("month", "", "退款月份"); tab.AddHeadCol("unOpenRefund", "", "未开通退款"); tab.AddHeadCol("openRefund", "", "已开通退款"); tab.AddHeadCol("allRefund", "", "退款总金额"); tab.AddHeadCol("notCurMonthRefund", "", "业务退款(去除当月退款)"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20"); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public JsonResult Index(Pager pager, string szzyOrderId, DateTime? stime, DateTime? etime, string columns) { //var deptCode = _cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_Environment_DeptCode); var list = _wxSzzyorderRefund.GetOrderRefund(); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { var month = string.Format("{2}", "退款信息", "/weixin/SzzyOrderRefund/Detail?month=" + model.Month.ToShortDateString(), model.Month.ToShortDateString()); table.AddCol(month); table.AddCol(model.UnOpenRefund); table.AddCol(model.OpenRefund); table.AddCol(model.AllRefund); table.AddCol(model.NotCurMonthRefund); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult Detail(DateTime month) { string tableId = "tablist"; Table tab = new Table(tableId); //tab.AddHiddenHeadCol("PKID", ""); tab.AddHeadCol("SZZYORDERID", "", "订单ID"); tab.AddHeadCol("deptname", "", "事业部"); tab.AddHeadCol("SubProductName", "", "产品名称"); tab.AddHeadCol("UName", "", "客户姓名"); tab.AddHeadCol("ISACTURALREFUND", "", "退款类型"); tab.AddHeadCol("REFUND", "", "退款金额"); tab.AddHeadCol("RefundDate", "", "退款时间"); tab.AddHeadCol("SaleUserId", "", "分成人"); tab.AddHeadCol("GName", "", "组别"); tab.AddHeadCol("CommissionRatio", "", "订单分成比例"); //tab.AddHeadCol("UserCommissionRatio", "", "提成比例"); tab.AddHeadCol("UserRefund", "", "提成退款金额"); tab.AddHeadCol("ArrivalTime", "", "到账时间"); tab.AddHeadCol("Month", "", "结算月份"); tab.AddHeadCol("IsOpen", "", "是否开通退款"); tab.AddHeadCol("isjl", "", "类型"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); ViewBag.Month = month.ToShortDateString(); 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 Detail(DateTime month, QueryUserComboDto usercomboDto, decimal? orderid, int? lxType, int? curMonth, int? isOpen, string columns) { decimal? eid = null; if (usercomboDto.userId.HasValue) eid = InnerUserHelper.Instance.GetEidByUserId(usercomboDto.userId.GetValueOrDefault()); decimal? groupId = null; if (!string.IsNullOrEmpty(usercomboDto.groupIds) && usercomboDto.groupIds.IndexOf(',') == -1) { groupId = Convert.ToInt32(usercomboDto.groupIds); } var list = _wxSzzyorderRefund.GetOrderRefundDetail(groupId, month, eid); if (orderid.HasValue) list = list.Where(p => p.SzzyOrderId == orderid.GetValueOrDefault()).ToList(); if (lxType.HasValue) list = list.Where(p => p.IsJL == lxType).ToList(); if (curMonth.HasValue) { if (curMonth == 1) { list = list.Where(p => p.UserRefund.HasValue).ToList(); } } if (isOpen.HasValue) { list = list.Where(p => p.IsOpen == isOpen).ToList(); } Table table = new Table(columns, true); foreach (var model in list) { //table.AddHiddenCol(model.PKID); //table.AddCol(string.Format("{1}", model.SzzyOrderId, model.SzzyOrderId)); table.AddCol(model.SzzyOrderId); table.AddCol(model.deptname); table.AddCol(model.SubProductName); table.AddCol(model.CName); if (model.ISACTURALREFUND.HasValue && model.ISACTURALREFUND == 0) { table.AddCol("退回余额"); } else { table.AddCol("需实际退款"); } table.AddCol(model.Refund); //table.AddCol(model.RefundTime.ToShortDateString()); table.AddCol(model.RefundDate.ToShortDateString()); table.AddCol(string.Format("{0}-{1}", model.Eid, model.UName)); table.AddCol(model.GName); if (model.IsJL == 0) table.AddCol(model.CommissionRatio + "%"); else table.AddCol(""); //table.AddCol(model.UserCommissionRatio + "%"); table.AddCol(model.UserRefund); table.AddCol(model.ArrivalTime.ToShortDateString()); table.AddCol(model.Month.ToShortDateString()); if (model.IsOpen == 0) table.AddCol("否"); else if (model.IsOpen == 1) table.AddCol("是"); else table.AddCol("未知"); if (model.IsJL == 0) table.AddCol("个人"); else if (model.IsJL == 1) table.AddCol("color:#f90", "", "经理"); else if (model.IsJL == 2) table.AddCol("color:#390", "", "订金"); else table.AddCol("未知"); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult Add() { return View(new WX_SZZYORDER_REFUND()); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public JsonResult Add(WX_SZZYORDER_REFUND model) { try { //if (eid <= 0 || month <= 0 || year <= 0) //{ // return JsonHandler.ManageMessage("参数错误,请确认!", false); //} if (!ModelState.IsValid) { return JsonHandler.ValidateFailMessage(); } model.PKID = new SEQUENCES_BL().Seq_base_get(); model.CTIME = DateTime.Now; _wxSzzyorderRefund.Add(model); return Json(new { result = "ok", message = "操作成功!" }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("SzzyOrderRefundController/Add:" + ex.Message); return JsonHandler.ManageMessage(ex.Message, false); } } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult Edit(int pkid) { var model = _wxSzzyorderRefund.Get(p => p.PKID == pkid); return View(model); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public JsonResult Edit(WX_SZZYORDER_REFUND model) { try { //if (eid <= 0 || month <= 0 || year <= 0) //{ // return JsonHandler.ManageMessage("参数错误,请确认!", false); //} if (!ModelState.IsValid) { return JsonHandler.ValidateFailMessage(); } _wxSzzyorderRefund.Update(model); return Json(new { result = "ok", message = "操作成功!" }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error("SzzyOrderRefundController/Edit:" + ex.Message); return JsonHandler.ManageMessage(ex.Message, false); } } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult Upload() { return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public JsonResult Upload(HttpPostedFileBase fileData) { if (fileData != null) { try { //文件上传后的保存路径 string filePath = Server.MapPath("~/UploadFile/Refund/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = Path.GetFileName(fileData.FileName);//原始文件名称 string fileExtension = Path.GetExtension(fileName); //文件扩展名 string saveName = Guid.NewGuid() + fileExtension; //保存文件名称 fileData.SaveAs(filePath + saveName); HandleUpload(saveName); return Json(new { Success = true, Message = "上传成功" }); } catch (Exception ex) { return Json(new { Success = false, Message = ex.Message }, JsonRequestBehavior.AllowGet); } } return Json(new { Success = false, Message = "请选择要上传的文件!" }, JsonRequestBehavior.AllowGet); } public void HandleUpload(string file) { DataTable dt = null; try { NPOIHelper.InitializeWorkbook_xls(AppDomain.CurrentDomain.BaseDirectory + "UploadFile\\Refund\\" + file); dt = NPOIHelper.ConvertToDataTable(); } catch (Exception ex) { LogHelper.Error(ex); } if (dt.Rows.Count > 0 || dt.Columns.Count == 3) { int start = 0; int end = dt.Rows.Count; while (start < end) { DataRow model = dt.Rows[start++]; decimal orderId = Convert.ToDecimal(model[0]); decimal refundAmount = Convert.ToDecimal(model[1]); DateTime refundTime = DateTime.MinValue; if (model[2] != null && !string.IsNullOrWhiteSpace(model[2].ToString())) { refundTime = DateTime.Parse(DateTime.Parse(model[2].ToString()).ToString("yyyy-MM-dd")); //if (!DateTime.TryParse(model[2].ToString(), out refundTime)) //{ // DateTime.TryParseExact(model[2].ToString(), "dd/MM/yy", new CultureInfo("en-US"), DateTimeStyles.None, out refundTime); //} } var refund = _wxSzzyorderRefund.Get(p => p.SZZYORDERID == orderId && p.REFUNDTIME == refundTime); if (refund != null) { refund.SZZYORDERID = orderId; refund.REFUND = refundAmount; refund.REFUNDTIME = refundTime; _wxSzzyorderRefund.Update(refund); } else { var info = new WX_SZZYORDER_REFUND() { PKID = new SEQUENCES_BL().Seq_base_get(), SZZYORDERID = orderId, REFUND = refundAmount, REFUNDTIME = refundTime, CTIME = DateTime.Now }; _wxSzzyorderRefund.Add(info); } } } } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款个人明细)] public ActionResult Info(decimal? orderId, decimal? inneruserid, decimal? gid, DateTime? yearmonth, decimal? eid) { string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("SzzyOrderId", "", "订单ID"); tab.AddHeadCol("Refund", "", "订单退款金额"); tab.AddHeadCol("SaleUserId", "", "分成人"); tab.AddHeadCol("CommissionRatio", "", "订单分成比例"); tab.AddHeadCol("UserCommissionRatio", "", "提成比例"); tab.AddHeadCol("UserRefund", "", "提成退款金额"); tab.AddHeadCol("ArrivalTime", "", "下单月份"); tab.AddHeadCol("Month", "", "结算月份"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); ViewBag.orderId = orderId.HasValue ? orderId.Value.ToString() : string.Empty; ViewBag.inneruserid = inneruserid.HasValue ? inneruserid.Value.ToString() : string.Empty; ViewBag.gid = gid.HasValue ? gid.Value.ToString() : string.Empty; ViewBag.yearmonth = yearmonth.HasValue ? yearmonth.Value.ToString() : string.Empty; ViewBag.eid = eid.HasValue ? eid.Value.ToString() : string.Empty; return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款个人明细)] public JsonResult Info(decimal? orderId, decimal? inneruserid, decimal? gid, DateTime? yearmonth, decimal? eid, string columns) { //LogHelper.Info("yearmonth:" + yearmonth.ToString()); var list = new List(); if (gid.HasValue) list = _wxSzzyorderRefund.GetGrouperRefund(gid, yearmonth, eid.Value); else list = _wxSzzyorderRefund.GetUserRefund(orderId, inneruserid, gid, yearmonth); Table table = new Table(columns, true); foreach (var model in list) { table.AddCol(model.SzzyOrderId); table.AddCol(model.Refund); table.AddCol(InnerUserHelper.Instance.EidAndName(model.SaleUserId)); table.AddCol(model.CommissionRatio + "%"); table.AddCol(model.UserCommissionRatio + "%"); table.AddCol(model.UserRefund); table.AddCol(model.ArrivalTime.ToShortDateString()); table.AddCol(model.Month.ToShortDateString()); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult RefundApplyList() { Table tab = new Table("tablist"); tab.AddHeadCol("orderid", "", "订单号"); tab.AddHeadCol("REFUNDTYPE", "", "支付类型"); tab.AddHeadCol("account", "", "退款人账号"); tab.AddHeadCol("username", "", "退款人姓名"); tab.AddHeadCol("refundprice", "", "退款金额"); tab.AddHeadCol("ISACTURALREFUND", "", "退款类型"); tab.AddHeadCol("refunddate", "", "退款时间"); tab.AddHeadCol("auditorname", "", "审核人"); tab.AddHeadCol("audittime", "", "审核时间"); tab.AddHeadCol("remark", "", "退款说明"); tab.AddHeadCol("auditstatus", "", "状态"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public JsonResult RefundApplyList(decimal? orderId, DateTime? stime, DateTime? etime, DateTime? aTime, DateTime? zTime, decimal? type, decimal? refundtype, decimal? isacturalrefund, string columns) { var where = PredicateExtensionses.True(); if (orderId.HasValue) where = where.And(p => p.ORDERID == orderId); if (stime.HasValue) where = where.And(p => p.REFUNDDATE >= stime.Value); if (etime.HasValue) { etime = etime.Value.AddDays(1); where = where.And(p => p.REFUNDDATE < etime.Value); } if (type.HasValue) { where = where.And(p => p.AUDITSTATUS == type.Value); } if (refundtype.HasValue) { where = where.And(p => p.REFUNDTYPE == refundtype.Value); } if (isacturalrefund.HasValue) { where = where.And(p => p.ISACTURALREFUND == isacturalrefund.Value); } where = where.And(p => p.ISDELETE == 0); var list = _orderRefund.GetList(where, p => p.REFUNDDATE); Table table = new Table(columns, true); foreach (var model in list) { table.AddCol(model.ORDERID); table.AddCol(GetPayTypeName(model.REFUNDTYPE)); table.AddCol(model.ACCOUNT); table.AddCol(model.USERNAME); table.AddCol(model.REFUNDPRICE); if (model.ISACTURALREFUND.HasValue && model.ISACTURALREFUND == 0) { table.AddCol("退回余额"); } else { table.AddCol("需实际退款"); } table.AddCol(model.REFUNDDATE); table.AddCol(model.AUDITORNAME); table.AddCol(model.AUDITTIME); table.AddCol(model.REMARK); table.AddCol(model.AUDITSTATUS == 1 ? "已审核" : "未审核"); table.AddRow(); } table.AddCol("合计:"); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(list.Sum(p => p.REFUNDPRICE)); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddCol(""); table.AddRow(); var json = new { rowsList = table.GetRows(), }; return Json(json, JsonRequestBehavior.AllowGet); } public FileResult RefundApplyExport(decimal? orderId, DateTime? stime, DateTime? etime, DateTime? aTime, DateTime? zTime, decimal? type, decimal? refundtype, decimal? isacturalrefund) { var where = PredicateExtensionses.True(); if (orderId.HasValue) where = where.And(p => p.ORDERID == orderId); if (stime.HasValue) where = where.And(p => p.REFUNDDATE >= stime.Value); if (etime.HasValue) { etime = etime.Value.AddDays(1); where = where.And(p => p.REFUNDDATE < etime.Value); } if (type.HasValue) { where = where.And(p => p.AUDITSTATUS == type.Value); } if (refundtype.HasValue) { where = where.And(p => p.REFUNDTYPE == refundtype.Value); } if (isacturalrefund.HasValue) { where = where.And(p => p.ISACTURALREFUND == isacturalrefund.Value); } where = where.And(p => p.ISDELETE == 0); var list = _orderRefund.GetList(where, p => p.REFUNDDATE); var data = new List(); foreach (var item in list) { var info = new WX_SZZYORDERREFUND_Export() { ORDERID = item.ORDERID, REFUNDTYPENAME = GetPayTypeName(item.REFUNDTYPE), ACCOUNT = item.ACCOUNT, USERNAME = item.USERNAME, REFUNDPRICE = item.REFUNDPRICE, REFUNDDATE = item.REFUNDDATE, AUDITORNAME = item.AUDITORNAME, AUDITTIME = item.AUDITTIME, REMARK = item.REMARK, AUDITSTATUS = item.AUDITSTATUS == 1 ? "已审核" : "未审核" }; data.Add(info); } return File(ExcelHelper.ExportListModelToExcel(data, "退款申请", 10000, null), "application/ms-excel", PageRequest.GetDlownLoadName("退款申请.xls")); } [HttpGet] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public ActionResult refundContract() { Table tab = new Table("tablist"); tab.AddHeadCol("OrderId", "", "订单号"); tab.AddHeadCol("CName", "", "姓名"); tab.AddHeadCol("RefundPrice", "", "退款金额"); tab.AddHeadCol("RefundTime", "", "退款时间"); tab.AddHeadCol("Contract", "", "退款协议"); tab.AddHeadCol("ContractStatus", "", "退款状态"); tab.AddHeadCol("act", "", "操作"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_订单退款)] public JsonResult refundContract(string columns, decimal? orderId, DateTime? stime, DateTime? etime) { var list = _orderRefundContract.GetList(orderId, stime, etime); Table table = new Table(columns, true); foreach (var model in list) { table.AddCol(model.OrderId); table.AddCol(model.CName); table.AddCol(model.RefundPrice); table.AddCol(model.RefundTime); table.AddCol(model.Contract); table.AddCol(GetOrderStatusName(model.ContractStatus)); //if (model.IsOpen == 1 || (model.ArrivalTime.HasValue && model.ArrivalTime.Value.ToString("yyyyMM") == model.RefundTime.ToString("yyyyMM"))) if (model.IsOpen == 1 || (model.IsOpen == 0 && model.ORDERSTATUS == "90")) { table.AddCol(string.Format("{1}", model.OrderId.ToString(), "退款协议地址")); } else { table.AddCol(string.Empty); } table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } public ActionResult ViewContract(int orderId) { var model = _order.Get(p => p.ORDERID == orderId); var orderExt = _orderExt.Get(p => p.ORDERID == orderId); var refundOrder = _orderRefund.GetList(p => p.ORDERID == orderId && p.ISACTURALREFUND != 0).Where(p => p.ISDELETE == 0); var contract = _orderRefundContract.Get(p => p.ORDERID == orderId); if (model == null || !refundOrder.Any()) { return View(model); } var refundPrice = refundOrder.Sum(p => p.REFUNDPRICE); if (refundPrice > model.ARRIVALPAY) { return Content("退款金额不能大于到账金额,请确认!"); } var url1 = _cacheQ.GetValue_Parameter(Parameter.UserCenter_RiaService_RefundContract);//合同地址 var time = refundOrder.First().REFUNDDATE;//第一次退款时间 var json2 = new { RefundPrice = refundPrice, SoftUserName = orderExt.SOFTUSERNAME, OrderId = model.SZZYORDERID.ToString(), ContractTime = time.ToString(), ContractTimeStr = time.Value.ToString("yyyy年MM月dd日"),// string.Format("{0:D}", time), OldContractTimeStr= contract.CONTRACTTIME.Value.ToString("yyyy年MM月dd日") //string.Format("{0:D}", contract.CONTRACTTIME) }; string clientid = SecurityHelper.OrderClientIdKey; string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json2)); string sign = sHelper.signData(clientid, content); var htUrl = url1 + string.Format("?content={0}&sign={1}&clientId={2}&protocolType=", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid); //============================================= var url = _cacheQ.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf); //风险揭示书 content = sHelper.encyptData(clientid, "T_DN" + model.SZZYORDERID.ToString()); sign = sHelper.signData(clientid, content); ViewBag.tkpdf = string.Format("{0}/{4}-退款协议.pdf?content={1}&sign={2}&clientId={3}", url, HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, model.SUBPRODUCTNAME); ViewBag.htUrl = htUrl;//合同Url ViewBag.contract = contract == null ? string.Empty : contract.CONTRACT; ViewBag.contractstatus = contract == null ? 0 : contract.CONTRACTSTATUS; return View(model); } [HttpPost] public JsonResult AuditRefundContract(int orderId) { try { if (orderId <= 0) { return JsonHandler.ManageMessage("参数有误,请确认!", false); } var refundOrderContract = _orderRefundContract.Get(p => p.ORDERID == orderId); if (refundOrderContract == null) { return JsonHandler.ManageMessage("没有退款签约记录,请确认!", false); } if (refundOrderContract.CONTRACTSTATUS.HasValue) { if (refundOrderContract.CONTRACTSTATUS.Value >= 1) { return JsonHandler.ManageMessage("风控已经通过,不需要再操作了!", true); } } var url = _cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_AuditRefundContract); var json = sHelper.createSignEncodingStr(new ContractAuditDto() { OrderId = orderId }.ToJson(), SecurityHelper.OrderClientIdKey); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); var retmessage = WebHelper.JsonHelper.JsonDivertToObj(retmsg); LogHelper.Info("合同审核返回信息:" + retmessage.ToJson()); if (retmessage.result) { refundOrderContract.CONTRACTSTATUS = 2; var ret = _orderRefundContract.Update(refundOrderContract); if (ret) return JsonHandler.ManageMessage("提交成功", true); else return JsonHandler.ManageMessage("远程操作成功,本地操作失败,请重试!", false); } else return JsonHandler.ManageMessage("提交失败,请稍后重试或者联系管理员!", false); //return JsonHandler.ManageMessage("提交成功", true); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return JsonHandler.ManageMessage("提交失败,请稍后重试或者联系管理员!", false); } } public FileResult DetailExport(DateTime month, decimal? saleDeptId, QueryUserComboDto usercomboDto, decimal? orderid, int? lxType, int? curMonth) { string checkedFilds = PageRequest.GetQueryString("checkedFilds"); string checkedTitles = PageRequest.GetQueryString("checkedTitles"); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; decimal? eid = null; if (usercomboDto.userId.HasValue) eid = InnerUserHelper.Instance.GetEidByUserId(usercomboDto.userId.GetValueOrDefault()); decimal? groupId = null; if (!string.IsNullOrEmpty(usercomboDto.groupIds) && usercomboDto.groupIds.IndexOf(',') == -1) { groupId = Convert.ToInt32(usercomboDto.groupIds); } var list = _wxSzzyorderRefund.GetOrderRefundDetail(groupId, month, eid); if (orderid.HasValue) list = list.Where(p => p.SzzyOrderId == orderid.GetValueOrDefault()).ToList(); if (lxType.HasValue) list = list.Where(p => p.IsJL == lxType).ToList(); if (curMonth.HasValue) { if (curMonth == 1) { list = list.Where(p => p.UserRefund.HasValue).ToList(); } } return File(ExcelHelper.ExportListModelToExcel(list, "退款明细", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("退款明细.xls")); } private string DataFormart(string key, object value) { string formartValue = string.Empty; switch (key) { case "SaleUserId": formartValue = value != null ? InnerUserHelper.Instance.EidAndName(Convert.ToDecimal(value)) : ""; break; case "CommissionRatio": formartValue = value.ToString() != "0" ? value + "%" : ""; break; case "IsOpen": formartValue = value.ToString() == "0" ? "否" : value.ToString() == "1" ? "是" : "未知"; break; case "IsJL": formartValue = value.ToString() == "0" ? "个人" : value.ToString() == "1" ? "经理" : value.ToString() == "2" ? "订金" : "未知"; break; case "ISACTURALREFUND": if (value != null && value.ToString() == "0") { formartValue = "退回余额"; } else { formartValue = "需实际退款"; } break; default: formartValue = string.Format("{0}", value); break; } return formartValue; } private string GetOrderStatusName(int? status) { var statusName = string.Empty; if (status.HasValue) { switch (status) { case 0: statusName = "未审核"; break; case 1: statusName = "分部审核,总部待审核"; break; case 2: statusName = "已通过"; break; } } return statusName; } private string GetPayTypeName(decimal typeId) { var name = "未知"; switch (int.Parse(typeId.ToString())) { case 1: name = "支付宝"; break; case 3: name = "银行转账"; break; case 5: name = "微信支付"; break; } return name; } private class WX_SZZYORDERREFUND_Export { [DisplayName("订单号")] public decimal ORDERID { get; set; } [DisplayName("支付类型")] public string REFUNDTYPENAME { get; set; } [DisplayName("退款人账号")] public string ACCOUNT { get; set; } [DisplayName("退款人姓名")] public string USERNAME { get; set; } [DisplayName("退款金额")] public decimal REFUNDPRICE { get; set; } [DisplayName("退款时间")] public DateTime? REFUNDDATE { get; set; } [DisplayName("审核人")] public string AUDITORNAME { get; set; } [DisplayName("审核时间")] public DateTime? AUDITTIME { get; set; } [DisplayName("退款说明")] public string REMARK { get; set; } [DisplayName("状态")] public string AUDITSTATUS { get; set; } } } }