642 lines
28 KiB
C#
642 lines
28 KiB
C#
using Core.Web.App_Start;
|
|
using Core.Web.WebHelper;
|
|
using CRM.Core.BLL.Base;
|
|
using CRM.Core.BLL.UserProtocol;
|
|
using CRM.Core.BLL.Util;
|
|
using CRM.Core.BLL.Wx;
|
|
using CRM.Core.Common.Layui;
|
|
using CRM.Core.Common.WebHelper;
|
|
using CRM.Core.Model.Entity;
|
|
using CRM.Core.Model.Enum;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text.RegularExpressions;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace Core.Web.Controllers
|
|
{
|
|
public class UserProtocolController : BaseController
|
|
{
|
|
private static USER_PROTOCOL_BL userProtocolbll = new USER_PROTOCOL_BL();
|
|
private BAS_PARAMETER_BL paramter_bl = new BAS_PARAMETER_BL();
|
|
private ValidationErrors errors = new ValidationErrors();
|
|
private CACHE_BL cache_BL = new CACHE_BL();
|
|
/// <summary>
|
|
/// 协议列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[AuthorizeRedirect(RightsConfig.CONST_用户协议, ToolBarConfig.CONST_NotButton, true)]
|
|
public ActionResult ProList()
|
|
{
|
|
ViewBag.rightCode = RightsConfig.CONST_用户协议;
|
|
var companyList = cache_BL.GetCompanyVirtual();
|
|
var allChannel = new List<Dictionary<string, string>>();
|
|
foreach (var company in companyList)
|
|
{
|
|
var channel = new Dictionary<string, string>
|
|
{
|
|
{ "name", company.CompanyName },
|
|
{ "value", company.Channel.Replace(",", ";") }
|
|
};
|
|
allChannel.Add(channel);
|
|
}
|
|
ViewBag.AllChannel = JsonHelper.ToJson(allChannel);
|
|
return View();
|
|
}
|
|
|
|
public JsonResult GetHtmlList(Laypage pager, string columns, string resid,string UMID, string username, string softusername,int? proType, int? status,
|
|
string subname,DateTime? subsdate,DateTime? subedate,string verifyname, DateTime? verifysdate,DateTime? verifyedate, string protocolno, string channel)
|
|
{
|
|
pager.order = "desc";
|
|
List<ProListView> list = userProtocolbll.PageList(ref pager, resid, UMID, username, softusername, proType,status, subname,subsdate, subedate, verifyname,verifysdate, verifyedate, protocolno, channel);
|
|
|
|
LayuiData<ProListView> data = new LayuiData<ProListView>()
|
|
{
|
|
msg = "数据加载成功!",
|
|
count = pager.count,
|
|
code = 0,
|
|
data = list
|
|
};
|
|
return Json(data, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeRedirect(RightsConfig.CONST_用户协议, ToolBarConfig.CONST_Export, false)]
|
|
public FileResult Export(string resid, string UMID, string username, string softusername, int? proType, int? status,
|
|
string subname, DateTime? subsdate, DateTime? subedate, string verifyname, DateTime? verifysdate, DateTime? verifyedate, string protocolno, string channel)
|
|
{
|
|
Laypage pager = new Laypage();
|
|
pager.page = 1;
|
|
pager.limit = 30000;
|
|
List<ProListView> list = userProtocolbll.PageList(ref pager, resid, UMID, username, softusername, proType, status, subname, subsdate, subedate, verifyname, verifysdate, verifyedate, protocolno, channel);
|
|
|
|
List<ProtocolExport> data = new List<ProtocolExport>();
|
|
foreach(var item in list)
|
|
{
|
|
data.Add(new ProtocolExport
|
|
{
|
|
AUDITTIME = item.AUDITTIME,
|
|
RESID = item.RESID,
|
|
USERID = item.USERID,
|
|
CompanyName = item.CompanyName,
|
|
CREATER = item.CREATER,
|
|
CTIME = item.CTIME,
|
|
NOTE = item.NOTE,
|
|
PRICE = item.PRICE == 0 ? "" : item.PRICE.ToString(),
|
|
PROTOCOLNO = item.PROTOCOLNO,
|
|
PROTOCOLTYPENAME = item.PROTOCOLTYPENAME,
|
|
REVIEWER = item.REVIEWER,
|
|
STATUSNAME = item.STATUSNAME,
|
|
USERNAME = item.USERNAME
|
|
});
|
|
}
|
|
String file = string.Format("用户协议 {0}.xls", DateTime.Now.ToLocalTime().ToString("yyyyMMddHHmmssfffff"));
|
|
return File(ExcelHelper.ExportListModelToExcel<ProtocolExport>(data, "用户协议", 30000, null), "application/ms-excel", file);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 编辑
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[AuthorizeRedirect(RightsConfig.CONST_用户协议, ToolBarConfig.CONST_Edit, true)]
|
|
public ActionResult Edit() {
|
|
return View();
|
|
}
|
|
/// <summary>
|
|
/// 新增
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[AuthorizeRedirect(RightsConfig.CONST_用户协议, ToolBarConfig.CONST_Add, true)]
|
|
public ActionResult Add()
|
|
{
|
|
//select * from BAS_PARAMETERGROUP
|
|
ViewBag.ParamGroupList= paramter_bl.GetParamGroup();
|
|
|
|
return View();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 审核
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[AuthorizeRedirect(RightsConfig.CONST_用户协议, ToolBarConfig.CONST_Other1, true)]
|
|
public ActionResult Aduit(int ID)
|
|
{
|
|
SecurityHelper sHelper = new SecurityHelper();
|
|
var model = userProtocolbll.GetOne(ID);
|
|
var url = paramter_bl.GetValue_Parameter(Parameter.User_Protocol_NewUrl);
|
|
string pdfName = userProtocolbll.ProtocolName(model.PROTOCOLTYPE) + ".pdf";//协议名称
|
|
string timeF = "yyyy年MM月dd日";
|
|
//和解协议
|
|
if ((ProtocolType)model.PROTOCOLTYPE == ProtocolType.退款和解协议)
|
|
{
|
|
#region 和解协议 退款
|
|
var json = new
|
|
{
|
|
ctime = model.CTIME?.ToString(timeF),
|
|
jiaRefundPrice = model.PRICE,
|
|
yiRefundPrice = model.PRICE,
|
|
uid = model.USERID,
|
|
agreementNum = model.ID,
|
|
htid = model.PROTOCOLNO
|
|
};
|
|
|
|
string clientid = SecurityHelper.OrderClientIdKey;
|
|
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json));
|
|
string sign = sHelper.signData(clientid, content);
|
|
|
|
ViewBag.url = url + string.Format("/agreement/reconcile-refund?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
|
|
//var url1 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_Settlement);
|
|
//ViewBag.url = string.Format(url1+"?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
|
|
ViewBag.pdfName = pdfName;
|
|
//协议文件地址
|
|
if (model.STATUS != 0)
|
|
{
|
|
var pdfurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
|
var pdfcontent = sHelper.encyptData(clientid, string.Format("{0}_A_{1}", model.USERID, model.ID));
|
|
var pdfsign = sHelper.signData(clientid, pdfcontent);
|
|
string fxjssUrl = string.Format("{0}/{4}?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
|
pdfurl,
|
|
HttpUtility.UrlEncode(pdfcontent),
|
|
HttpUtility.UrlEncode(pdfsign),
|
|
clientid,
|
|
pdfName,
|
|
Eid,
|
|
UserName,
|
|
"数智化合规",
|
|
"用户协议"
|
|
);
|
|
ViewBag.pdfUrl = fxjssUrl;
|
|
//ViewBag.pdfUrl = string.Format("{0}/{1}?content={2}&sign={3}&clientId={4}", pdfurl, pdfName, HttpUtility.UrlEncode(pdfcontent), HttpUtility.UrlEncode(pdfsign), clientid);
|
|
}
|
|
else
|
|
{
|
|
ViewBag.pdfUrl = "#";
|
|
}
|
|
|
|
ViewBag.status = model.STATUS;
|
|
#endregion
|
|
}
|
|
else if ((ProtocolType)model.PROTOCOLTYPE == ProtocolType.撤销投诉协议)
|
|
{
|
|
#region 撤销投诉协议
|
|
var json = new
|
|
{
|
|
ctime = model.CTIME?.ToString(timeF),
|
|
uid = model.USERID,
|
|
agreementNum = model.ID,
|
|
htid = model.PROTOCOLNO
|
|
};
|
|
|
|
string clientid = SecurityHelper.OrderClientIdKey;
|
|
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json));
|
|
string sign = sHelper.signData(clientid, content);
|
|
|
|
ViewBag.url = url + string.Format("/agreement/repeal-complaint?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
|
|
//var url2 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_CancelComplaint);
|
|
//ViewBag.url = string.Format(url2 + "?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
ViewBag.pdfName = pdfName;
|
|
var viewSource = "数智化合规系统";
|
|
var pageSource = "Audit:用户协议.风控";
|
|
//协议文件地址
|
|
if (model.STATUS != 0)
|
|
{
|
|
var pdfurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
|
//风险揭示书
|
|
var pdfcontent = sHelper.encyptData(clientid, string.Format("{0}_B_{1}", model.USERID, model.ID));
|
|
var pdfsign = sHelper.signData(clientid, pdfcontent);
|
|
string fxjssUrl = string.Format("{0}/{4}?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
|
pdfurl,
|
|
HttpUtility.UrlEncode(pdfcontent),
|
|
HttpUtility.UrlEncode(pdfsign),
|
|
clientid,
|
|
pdfName,
|
|
Eid,
|
|
UserName,
|
|
viewSource,
|
|
pageSource
|
|
);
|
|
ViewBag.pdfUrl = fxjssUrl;
|
|
//ViewBag.pdfUrl = string.Format("{0}/{1}?content={2}&sign={3}&clientId={4}", pdfurl, pdfName, HttpUtility.UrlEncode(pdfcontent), HttpUtility.UrlEncode(pdfsign), clientid);
|
|
}
|
|
|
|
else
|
|
{
|
|
ViewBag.pdfUrl = "#";
|
|
}
|
|
ViewBag.status = model.STATUS;
|
|
#endregion
|
|
}
|
|
else if ((ProtocolType)model.PROTOCOLTYPE == ProtocolType.不退款和解协议)
|
|
{
|
|
#region 和解协议 不退款
|
|
var json = new
|
|
{
|
|
ctime = model.CTIME?.ToString(timeF),
|
|
uid = model.USERID,
|
|
agreementNum = model.ID,
|
|
htid = model.PROTOCOLNO
|
|
};
|
|
|
|
string clientid = SecurityHelper.OrderClientIdKey;
|
|
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json));
|
|
string sign = sHelper.signData(clientid, content);
|
|
|
|
ViewBag.url = url + string.Format("/agreement/reconcile?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
|
|
//var url1 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_Settlement);
|
|
//ViewBag.url = string.Format(url1 + "?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
|
|
ViewBag.pdfName = pdfName;
|
|
//协议文件地址
|
|
if (model.STATUS != 0)
|
|
{
|
|
var pdfurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
|
var pdfcontent = sHelper.encyptData(clientid, string.Format("{0}_A_{1}", model.USERID, model.ID));
|
|
var pdfsign = sHelper.signData(clientid, pdfcontent);
|
|
string fxjssUrl = string.Format("{0}/{4}?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
|
pdfurl,
|
|
HttpUtility.UrlEncode(pdfcontent),
|
|
HttpUtility.UrlEncode(pdfsign),
|
|
clientid,
|
|
pdfName,
|
|
Eid,
|
|
UserName,
|
|
"数智化合规",
|
|
"用户协议"
|
|
);
|
|
ViewBag.pdfUrl = fxjssUrl;
|
|
|
|
//ViewBag.pdfUrl = string.Format("{0}/{1}?content={2}&sign={3}&clientId={4}", pdfurl, pdfName, HttpUtility.UrlEncode(pdfcontent), HttpUtility.UrlEncode(pdfsign), clientid);
|
|
}
|
|
else
|
|
{
|
|
ViewBag.pdfUrl = "#";
|
|
}
|
|
|
|
ViewBag.status = model.STATUS;
|
|
#endregion
|
|
}
|
|
else if ((ProtocolType)model.PROTOCOLTYPE == ProtocolType.退款赠与协议)
|
|
{
|
|
#region 赠与协议 退款
|
|
var json = new
|
|
{
|
|
ctime = model.CTIME?.ToString(timeF),
|
|
uid = model.USERID,
|
|
agreementNum = model.ID,
|
|
productname = (model.PRODUCTTYPE == 1 ? model.PRODUCTNAME : model.SERVICENAME),
|
|
giftdays = model.GIFTDAYS,
|
|
htid = model.PROTOCOLNO
|
|
};
|
|
var ApiName = model.PRODUCTTYPE == 1 ? "gift-product-refund" : "gift-service-refund";
|
|
|
|
string clientid = SecurityHelper.OrderClientIdKey;
|
|
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json));
|
|
string sign = sHelper.signData(clientid, content);
|
|
|
|
ViewBag.url = url + string.Format("/agreement/{3}?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, ApiName);
|
|
ViewBag.pdfName = pdfName;
|
|
//协议文件地址
|
|
if (model.STATUS != 0)
|
|
{
|
|
var pdfurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
|
var pdfcontent = sHelper.encyptData(clientid, string.Format("{0}_C_{1}", model.USERID, model.ID));
|
|
var pdfsign = sHelper.signData(clientid, pdfcontent);
|
|
string fxjssUrl = string.Format("{0}/{4}?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
|
pdfurl,
|
|
HttpUtility.UrlEncode(pdfcontent),
|
|
HttpUtility.UrlEncode(pdfsign),
|
|
clientid,
|
|
pdfName,
|
|
Eid,
|
|
UserName,
|
|
"数智化合规",
|
|
"用户协议"
|
|
);
|
|
ViewBag.pdfUrl = fxjssUrl;
|
|
//ViewBag.pdfUrl = string.Format("{0}/{1}?content={2}&sign={3}&clientId={4}", pdfurl, pdfName, HttpUtility.UrlEncode(pdfcontent), HttpUtility.UrlEncode(pdfsign), clientid);
|
|
}
|
|
else
|
|
{
|
|
ViewBag.pdfUrl = "#";
|
|
}
|
|
|
|
ViewBag.status = model.STATUS;
|
|
#endregion
|
|
}
|
|
else if ((ProtocolType)model.PROTOCOLTYPE == ProtocolType.不退款赠与协议)
|
|
{
|
|
#region 赠与协议 不退款
|
|
var json = new
|
|
{
|
|
ctime = model.CTIME?.ToString(timeF),
|
|
uid = model.USERID,
|
|
agreementNum = model.ID,
|
|
productname = (model.PRODUCTTYPE == 1 ? model.PRODUCTNAME : model.SERVICENAME),
|
|
giftdays = model.GIFTDAYS,
|
|
htid = model.PROTOCOLNO
|
|
};
|
|
var ApiName = model.PRODUCTTYPE == 1 ? "gift-product" : "gift-service";
|
|
string clientid = SecurityHelper.OrderClientIdKey;
|
|
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json));
|
|
string sign = sHelper.signData(clientid, content);
|
|
|
|
ViewBag.url = url + string.Format("/agreement/{3}?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, ApiName);
|
|
ViewBag.pdfName = pdfName;
|
|
//协议文件地址
|
|
if (model.STATUS != 0)
|
|
{
|
|
var pdfurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
|
var pdfcontent = sHelper.encyptData(clientid, string.Format("{0}_C_{1}", model.USERID, model.ID));
|
|
var pdfsign = sHelper.signData(clientid, pdfcontent);
|
|
string fxjssUrl = string.Format("{0}/{4}?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
|
pdfurl,
|
|
HttpUtility.UrlEncode(pdfcontent),
|
|
HttpUtility.UrlEncode(pdfsign),
|
|
clientid,
|
|
pdfName,
|
|
Eid,
|
|
UserName,
|
|
"数智化合规",
|
|
"用户协议"
|
|
);
|
|
ViewBag.pdfUrl = fxjssUrl;
|
|
//ViewBag.pdfUrl = string.Format("{0}/{1}?content={2}&sign={3}&clientId={4}", pdfurl, pdfName, HttpUtility.UrlEncode(pdfcontent), HttpUtility.UrlEncode(pdfsign), clientid);
|
|
}
|
|
else
|
|
{
|
|
ViewBag.pdfUrl = "#";
|
|
}
|
|
|
|
ViewBag.status = model.STATUS;
|
|
#endregion
|
|
}
|
|
else if ((ProtocolType)model.PROTOCOLTYPE == ProtocolType.高龄人群投资风险告知确认书)
|
|
{
|
|
#region 高龄人群投资风险告知确认书
|
|
var json = new
|
|
{
|
|
ctime = model.CTIME?.ToString(timeF),
|
|
uid = model.USERID,
|
|
agreementNum = model.ID,
|
|
htid = model.PROTOCOLNO
|
|
};
|
|
string clientid = SecurityHelper.OrderClientIdKey;
|
|
string content = sHelper.encyptData(clientid, Utility.ConvertToJSON(json));
|
|
string sign = sHelper.signData(clientid, content);
|
|
|
|
ViewBag.url = url + string.Format("/agreement/elderly-investment-risk-book?content={0}&sign={1}&clientId={2}", HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid);
|
|
ViewBag.pdfName = pdfName;
|
|
//协议文件地址
|
|
if (model.STATUS != 0)
|
|
{
|
|
var pdfurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
|
var pdfcontent = sHelper.encyptData(clientid, string.Format("{0}_D_{1}", model.USERID, model.ID));
|
|
var pdfsign = sHelper.signData(clientid, pdfcontent);
|
|
string fxjssUrl = string.Format("{0}/{4}?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
|
pdfurl,
|
|
HttpUtility.UrlEncode(pdfcontent),
|
|
HttpUtility.UrlEncode(pdfsign),
|
|
clientid,
|
|
pdfName,
|
|
Eid,
|
|
UserName,
|
|
"数智化合规",
|
|
"用户协议"
|
|
);
|
|
ViewBag.pdfUrl = fxjssUrl;
|
|
//ViewBag.pdfUrl = string.Format("{0}/{1}?content={2}&sign={3}&clientId={4}", pdfurl, pdfName, HttpUtility.UrlEncode(pdfcontent), HttpUtility.UrlEncode(pdfsign), clientid);
|
|
}
|
|
else
|
|
{
|
|
ViewBag.pdfUrl = "#";
|
|
}
|
|
|
|
ViewBag.status = model.STATUS;
|
|
#endregion
|
|
}
|
|
ViewBag.model = model;
|
|
ViewBag.ModelJson = JsonHelper.ObjDivertToJson(model);
|
|
ViewBag.StatusName = userProtocolbll.StatusName(model.STATUS);
|
|
ViewBag.GiftStatusName = userProtocolbll.GetGiftOrderStatusStr(model.ORDERID);
|
|
return View();
|
|
}
|
|
/// <summary>
|
|
/// 数据插入
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public JsonResult Save(SubmitModel model) {
|
|
SYS_USER_PROTOCOL d = new SYS_USER_PROTOCOL();
|
|
d.RESID = model.resid.Trim();
|
|
d.USERNAME = model.username;
|
|
d.PROTOCOLTYPE = model.protocolType;
|
|
d.PRODUCTTYPE = model.producttype;
|
|
d.SERVICENAME = model.servicename;
|
|
d.PRODUCTNAME = model.productname;
|
|
d.GIFTDAYS = model.giftdays ?? 0;
|
|
d.ORDERID = model.orderid;
|
|
d.PRICE = model.price ?? 0;
|
|
d.USERID = model.userid;
|
|
d.NOTE = model.note ?? "";
|
|
d.STATUS = 0;//默认未签订
|
|
d.CTIME = DateTime.Now;
|
|
d.creater = UserName;
|
|
d.PROTOCOLNO = CreateProtocolNo(model.protocolType);
|
|
//退款金额判断
|
|
if ((ProtocolType)model.protocolType == ProtocolType.退款和解协议)
|
|
{
|
|
WX_SZZYORDER_BL wx_SzzyOrder_BL = new WX_SZZYORDER_BL();
|
|
WX_SzzyOrderRefund_BL wx_szzyorderrefund_BL = new WX_SzzyOrderRefund_BL();
|
|
var list = wx_SzzyOrder_BL.GetModelByResId(model.resid);//查询订单
|
|
var refundList = wx_szzyorderrefund_BL.GetListByResid(model.resid);
|
|
var sumPrice = list.Where(m=> "80,90,200,205,220".Split(',').Contains(m.ORDERSTATUS)).Sum(m => m.ARRIVALPAY);
|
|
sumPrice -= refundList.Sum(m => m.refundprice);
|
|
if ((model.price ?? 0) > sumPrice && !model.confirm) {
|
|
return Json(new { s = false, m = "当前退款金额大于(客户各订单到账金额总和-已退款金额),请确认是否提交?", c = true }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
//验证通过后插入
|
|
var res = userProtocolbll.Create(ref errors,d);
|
|
if (res)
|
|
{
|
|
return Json(new { s = true }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
else {
|
|
|
|
return Json(new { s =false, errors }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
|
|
}
|
|
|
|
private string CreateProtocolNo(int protocolType)
|
|
{
|
|
var no = "";
|
|
switch ((ProtocolType)protocolType)
|
|
{
|
|
case ProtocolType.退款和解协议:
|
|
case ProtocolType.不退款和解协议:
|
|
no = "HJ";
|
|
break;
|
|
case ProtocolType.退款赠与协议:
|
|
case ProtocolType.不退款赠与协议:
|
|
no = "ZY";
|
|
break;
|
|
case ProtocolType.撤销投诉协议:
|
|
no = "CX";
|
|
break;
|
|
case ProtocolType.高龄人群投资风险告知确认书:
|
|
no = "GL";
|
|
break;
|
|
|
|
}
|
|
no += $"{DateTimeOffset.Now.ToUnixTimeMilliseconds()}";
|
|
return no;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 签订协议
|
|
/// </summary>
|
|
/// <param name="ID"></param>
|
|
/// <returns></returns>
|
|
public JsonResult SignProtocol(int ID) {
|
|
try
|
|
{
|
|
var model = userProtocolbll.GetOne(ID);
|
|
if (model != null && model.STATUS == 1)
|
|
{
|
|
var res = userProtocolbll.AuditModel(ID, 9,UserName);//审核通过
|
|
return Json(new { s = res }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
else {
|
|
return Json(new { s = false,m="签署后才能审核!" }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return Json(new { s = false,m=ex.Message }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
|
|
public JsonResult UserInfo(string resid) {
|
|
WX_SZZYORDER_BL wx_SzzyOrder_BL = new WX_SZZYORDER_BL();
|
|
Wx_SzzyOrder_HandGift_BL wx_SzzyOrder_HandGift_BL = new Wx_SzzyOrder_HandGift_BL();
|
|
if (string.IsNullOrEmpty(resid)) {
|
|
return Json(new {s=false }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
var list = wx_SzzyOrder_BL.GetModelByResId(resid);//查询订单
|
|
var giftList = wx_SzzyOrder_HandGift_BL.GetListByResid(resid);//赠送产品
|
|
list = list.Where(m => !string.IsNullOrEmpty(m.idcard)).ToList();//筛选已经实名制有效订单
|
|
giftList = giftList.Where(m =>
|
|
list.Where(i=> "80,90,200,210,220".Split(',').Contains(i.ORDERSTATUS)).Select(o => o.ORDERID).Contains(m.mainorderid)//主订单状态
|
|
&& (m.orderstatus == 0 || m.orderstatus == 1)).ToList();//赠送订单状态
|
|
if (list.Any())
|
|
{
|
|
var userNameList = list.GroupBy(m=>m.SOFTUSERNAME).Select(m => m.Key);
|
|
var cName = list.OrderByDescending(m => m.CTIME).First().CNAME;
|
|
|
|
var orderList = new List<IDictionary<string, object>>();
|
|
foreach (var item in giftList)
|
|
{
|
|
IDictionary<string, object> r = new Dictionary<string, object>();
|
|
r.Add("orderid", item.orderid);
|
|
r.Add("productname", item.subproductname);
|
|
r.Add("giftdays", item.giftdays);
|
|
orderList.Add(r);
|
|
}
|
|
return Json(new {s=true,d= new { userNameList, cName, orderList } }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
else
|
|
{
|
|
return Json(new { s = false }, JsonRequestBehavior.AllowGet);
|
|
}
|
|
}
|
|
}
|
|
|
|
public class SubmitModel {
|
|
public string resid { get; set; }
|
|
public string userid { get; set; }
|
|
public string username { get; set; }
|
|
public int protocolType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 产品类型
|
|
/// </summary>
|
|
public int? producttype { get; set; }
|
|
/// <summary>
|
|
/// 赠送产品id
|
|
/// </summary>
|
|
public decimal? orderid { get; set; }
|
|
/// <summary>
|
|
/// 赠送产品名称
|
|
/// </summary>
|
|
public string productname { get; set; }
|
|
/// <summary>
|
|
/// 赠送服务名称
|
|
/// </summary>
|
|
public string servicename { get; set; }
|
|
/// <summary>
|
|
/// 赠送天数
|
|
/// </summary>
|
|
public int? giftdays { get; set; }
|
|
|
|
public decimal? price { get; set; }
|
|
public string note { get; set; }
|
|
|
|
public bool confirm { get; set; }
|
|
}
|
|
|
|
public class ProtocolExport
|
|
{
|
|
[DisplayName("协议编号")]
|
|
public string PROTOCOLNO { get; set; }
|
|
|
|
[DisplayName("事业部")]
|
|
public string CompanyName { get; set; }
|
|
|
|
[DisplayName("客户id")]
|
|
public string RESID { get; set; }
|
|
|
|
[DisplayName("客户姓名")]
|
|
public string USERNAME { get; set; }
|
|
|
|
[DisplayName("用户名")]
|
|
public string USERID { get; set; }
|
|
|
|
[DisplayName("协议")]
|
|
public string PROTOCOLTYPENAME { get; set; }
|
|
|
|
/// <summary>
|
|
/// 和解协议 金额
|
|
/// </summary>
|
|
[DisplayName("退款金额")]
|
|
public string PRICE { get; set; }
|
|
|
|
[DisplayName("协议状态")]
|
|
public string STATUSNAME { get; set; }
|
|
|
|
[DisplayName("备注")]
|
|
public string NOTE { get; set; }
|
|
|
|
[DisplayName("创建人")]
|
|
public string CREATER { get; set; }
|
|
|
|
[DisplayName("创建时间")]
|
|
public DateTime? CTIME { get; set; }
|
|
|
|
[DisplayName("审核人")]
|
|
public string REVIEWER { get; set; }
|
|
|
|
[DisplayName("审核时间")]
|
|
public DateTime? AUDITTIME { get; set; }
|
|
}
|
|
} |