749 lines
32 KiB
C#
749 lines
32 KiB
C#
using Core.Web.App_Start;
|
||
using Core.Web.WebHelper;
|
||
using CRM.Core.BLL.Application.Order;
|
||
using CRM.Core.BLL.Base;
|
||
using CRM.Core.BLL.EventBus.Events;
|
||
using CRM.Core.BLL.Util;
|
||
using CRM.Core.BLL.Wx;
|
||
using CRM.Core.Common.EventBus;
|
||
using CRM.Core.Common.WebHelper;
|
||
using CRM.Core.DTO;
|
||
using CRM.Core.Model.Entity;
|
||
using CRM.Core.Model.Enum;
|
||
using Newtonsoft.Json;
|
||
using System;
|
||
using System.Text;
|
||
using System.Web;
|
||
using System.Web.Mvc;
|
||
using WX.CRM.Common;
|
||
using WX.CRM.Common.BlowFish;
|
||
using System.Linq;
|
||
|
||
|
||
namespace Core.Web.Controllers
|
||
{
|
||
public class RiskCtrlController : BaseController
|
||
{
|
||
private readonly WX_SZZYORDER_BL _order;
|
||
private readonly BAS_PARAMETER_BL paramter_bl;
|
||
private readonly WX_ComplianceConfirm_BL _confirm;
|
||
private readonly Wx_Szzyorder_Audit_Log_BL _auditLog;
|
||
private readonly Wx_Tran_User_BL _tranUser;
|
||
private readonly SecurityHelper sHelper;
|
||
private readonly WX_PRODUCT_BL product_bl;
|
||
|
||
private readonly CACHE_BL _cache;
|
||
|
||
public RiskCtrlController()
|
||
{
|
||
_order = new WX_SZZYORDER_BL();
|
||
paramter_bl = new BAS_PARAMETER_BL();
|
||
_confirm = new WX_ComplianceConfirm_BL();
|
||
_auditLog = new Wx_Szzyorder_Audit_Log_BL();
|
||
_tranUser = new Wx_Tran_User_BL();
|
||
sHelper = new SecurityHelper();
|
||
product_bl = new WX_PRODUCT_BL();
|
||
_cache = new CACHE_BL();
|
||
}
|
||
|
||
[HttpGet]
|
||
public ActionResult Index()
|
||
{
|
||
return View();
|
||
}
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other2, true)]
|
||
public ActionResult Audit(int orderId)
|
||
{
|
||
|
||
WX_SZZYORDER model = _order.GetModel(orderId);
|
||
//==================风控加密测试================
|
||
//string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_Riske);//风险控制
|
||
//long longtime = DateTimeTool.ConvertDateTimeLong(DateTime.Now);
|
||
//Random rd = new Random();
|
||
//int rx = rd.Next(1000, 9999);
|
||
//var json = new
|
||
//{
|
||
// uid = "qbj105",
|
||
// cid = "",
|
||
// t = longtime,
|
||
// hqrtime = longtime,
|
||
// rd = rx,
|
||
// u = "0",
|
||
// r = "[]"
|
||
//};
|
||
//string varx = HttpUtility.UrlEncode(BlowFish.decode(Utility.ConvertToJSON(json)));
|
||
//string fkUrl = url + varx;//风控地址
|
||
//==============================================
|
||
|
||
//===================合同Url测试===============
|
||
//合同生成URL测试
|
||
var szzysubproduct = product_bl.GetSubProduct(model.PRODUCTCODE);
|
||
if (szzysubproduct == null)
|
||
{
|
||
return Content("商品已被不存在或删除");
|
||
}
|
||
var url1 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_ContractSign);//合同地址
|
||
var json2 = new
|
||
{
|
||
productName = model.SUBPRODUCTNAME,
|
||
period = string.Format("{0}天", model.OPENDAYS),
|
||
price = string.Format("{0}元", model.ORDERTYPE == 3 ? szzysubproduct.PRICE.Value.ToString("#0") : model.NEEDPAY.Value.ToString("#0")),
|
||
//price = szzysubproduct.PRICE,
|
||
userId = model.SOFTUSERNAME,
|
||
productLevel = szzysubproduct.PRODUCTLEVEL,
|
||
productInvestTime = szzysubproduct.PRODUCTINVESTTIME,
|
||
productInvestType = szzysubproduct.PRODUCTINVESTTYPE,
|
||
issupplement = 1,
|
||
orderId = model.SZZYORDERID.ToString(),
|
||
htid = string.Format("DN{0}", model.SZZYORDERID.ToString())
|
||
};
|
||
|
||
//LogHelper.Info("合同链接参数:" + Utility.ConvertToJSON(json2));
|
||
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);
|
||
//=============================================
|
||
|
||
|
||
//20220419 许总提出记录请求者信息
|
||
var viewSource = "千拓后台管理系统";
|
||
var pageSource = "Audit:订单列表.风控";
|
||
//===================合同Url测试===============
|
||
//合同生成URL测试
|
||
var url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
||
//风险揭示书
|
||
content = sHelper.encyptData(clientid, "R_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
string fxjssUrl = string.Format("{0}/{4}-风险揭示书.pdf?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url,
|
||
HttpUtility.UrlEncode(content),
|
||
HttpUtility.UrlEncode(sign),
|
||
clientid,
|
||
model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource
|
||
);
|
||
ViewBag.fxjssUrl = fxjssUrl;
|
||
//投顾服务协议
|
||
content = sHelper.encyptData(clientid, "A_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
string tgfwxyUrl = string.Format("{0}/{4}-投顾服务协议.pdf?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url,
|
||
HttpUtility.UrlEncode(content),
|
||
HttpUtility.UrlEncode(sign),
|
||
clientid,
|
||
model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource
|
||
);
|
||
ViewBag.tgfwxyUrl = tgfwxyUrl;
|
||
|
||
if (!string.IsNullOrEmpty(model.CONTRACTCODE))
|
||
{
|
||
var riskinfoUrl = _cache.GetValue_Parameter("riskinfo");
|
||
var htflagUrl = _cache.GetValue_Parameter("htflag");
|
||
if (string.IsNullOrEmpty(riskinfoUrl))
|
||
{
|
||
riskinfoUrl = "https://r2.soft.dn8188.com/contract_sign_crm/get_riskinfo";
|
||
}
|
||
|
||
var bf = "{\"uid\": \"" + model.SOFTUSERNAME + "\",\"htid\":\"DN" + model.SZZYORDERID.Value.ToString() + "\"}";
|
||
var hqr = BlowFish.encode(bf);
|
||
var para = new { hqr };
|
||
var res = Utility.PostAjaxData(riskinfoUrl, para.ToJson(), Encoding.UTF8);
|
||
var ret1 = JsonHelper.JsonDivertToObj<RiskInfoDto>(res);
|
||
//LogHelper.Info(ret1.ToJson());
|
||
if (ret1.ret == 0)
|
||
{
|
||
string riskcontent = sHelper.encyptData(clientid, Utility.ConvertToJSON(ret1));
|
||
string risksign = sHelper.signData(clientid, riskcontent);
|
||
ViewBag.RiskContent = HttpUtility.UrlEncode(riskcontent);
|
||
ViewBag.RiskSign = HttpUtility.UrlEncode(risksign);
|
||
ViewBag.RiskClientId = clientid;
|
||
|
||
ViewBag.businesstype = ret1.businesstype;
|
||
|
||
if (ret1.businesstype != "smallAmount")
|
||
{
|
||
var ret = Utility.GetData(htflagUrl, "htid=" + model.CONTRACTCODE, Encoding.UTF8);
|
||
var retObj = JsonConvert.DeserializeAnonymousType(ret, new { ret = -1, msg = string.Empty });
|
||
if (retObj.ret != -1)
|
||
{
|
||
if (retObj.ret == 0)
|
||
{
|
||
//产品或服务不适当警示确认书
|
||
content = sHelper.encyptData(clientid, "I_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
//var cphfwApi = _cache.GetValue_Parameter("cphfwApi");
|
||
string cphfwUrl = string.Format("{0}/{4}-产品或服务不适当警示及投资者确认书.pdf ?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url, HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource);
|
||
//string cphfwUrl = string.Format("{0}?htid={1}",
|
||
// cphfwApi, "I_DN" + model.SZZYORDERID.ToString());
|
||
|
||
ViewBag.cphfwUrl = cphfwUrl;
|
||
}
|
||
else if (retObj.ret == 1)
|
||
{
|
||
//适当性评估结果确认书
|
||
content = sHelper.encyptData(clientid, "S_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
string sdxpgUrl = string.Format("{0}/{4}-适当性评估结果确认书.pdf ?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url, HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource);
|
||
ViewBag.sdxpgUrl = sdxpgUrl;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
//ViewBag.fkUrl = fkUrl;//风控Url
|
||
ViewBag.htUrl = htUrl;//合同Url
|
||
|
||
return View(model);
|
||
}
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other9, true)]
|
||
public ActionResult AuditNew(int orderId)
|
||
{
|
||
|
||
WX_SZZYORDER model = _order.GetModel(orderId);
|
||
ViewBag.authcode = model.authcode;
|
||
//==================风控加密测试================
|
||
//string url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_Riske);//风险控制
|
||
//long longtime = DateTimeTool.ConvertDateTimeLong(DateTime.Now);
|
||
//Random rd = new Random();
|
||
//int rx = rd.Next(1000, 9999);
|
||
//var json = new
|
||
//{
|
||
// uid = "qbj105",
|
||
// cid = "",
|
||
// t = longtime,
|
||
// hqrtime = longtime,
|
||
// rd = rx,
|
||
// u = "0",
|
||
// r = "[]"
|
||
//};
|
||
//string varx = HttpUtility.UrlEncode(BlowFish.decode(Utility.ConvertToJSON(json)));
|
||
//string fkUrl = url + varx;//风控地址
|
||
//==============================================
|
||
|
||
//===================合同Url测试===============
|
||
//合同生成URL测试
|
||
var szzysubproduct = product_bl.GetSubProduct(model.PRODUCTCODE);
|
||
if (szzysubproduct == null)
|
||
{
|
||
return Content("商品已被不存在或删除");
|
||
}
|
||
var url1 = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_ContractSignThree);//合同地址
|
||
var json2 = new
|
||
{
|
||
productName = model.SUBPRODUCTNAME,
|
||
period = string.Format("{0}天", model.OPENDAYS),
|
||
price = string.Format("{0}元", model.ORDERTYPE == 3 ? szzysubproduct.PRICE.Value.ToString("#0") : model.NEEDPAY.Value.ToString("#0")),
|
||
//price = szzysubproduct.PRICE,
|
||
userId = model.SOFTUSERNAME,
|
||
productLevel = szzysubproduct.PRODUCTLEVEL,
|
||
productInvestTime = szzysubproduct.PRODUCTINVESTTIME,
|
||
productInvestType = szzysubproduct.PRODUCTINVESTTYPE,
|
||
issupplement = 1,
|
||
orderId = model.SZZYORDERID.ToString(),
|
||
htid = string.Format("DN{0}", model.SZZYORDERID.ToString()),
|
||
};
|
||
|
||
//LogHelper.Info("合同链接参数:" + Utility.ConvertToJSON(json2));
|
||
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 timeOutConfig = paramter_bl.GetValue_Parameter(Parameter.ReSingTimeOutConfig);//过期时长(单位小时)
|
||
if (string.IsNullOrEmpty(timeOutConfig))
|
||
{
|
||
timeOutConfig = "12";
|
||
}
|
||
// 重签地址逻辑
|
||
var json3 = new
|
||
{
|
||
productName = model.SUBPRODUCTNAME,
|
||
period = string.Format("{0}天", model.OPENDAYS),
|
||
price = string.Format("{0}元", model.ORDERTYPE == 3 ? szzysubproduct.PRICE.Value.ToString("#0") : model.NEEDPAY.Value.ToString("#0")),
|
||
//price = szzysubproduct.PRICE,
|
||
userId = model.SOFTUSERNAME,
|
||
productLevel = szzysubproduct.PRODUCTLEVEL,
|
||
productInvestTime = szzysubproduct.PRODUCTINVESTTIME,
|
||
productInvestType = szzysubproduct.PRODUCTINVESTTYPE,
|
||
issupplement = 1,
|
||
orderId = model.SZZYORDERID.ToString(),
|
||
htid = string.Format("DN{0}", model.SZZYORDERID.ToString()),
|
||
reSign = Utility.ConvertDateTimeLong(DateTime.Now.AddHours(Convert.ToInt32(timeOutConfig)))//重签的合同12个小时过期
|
||
};
|
||
|
||
string content3 = sHelper.encyptData(clientid, Utility.ConvertToJSON(json3));
|
||
string sign3 = sHelper.signData(clientid, content3);
|
||
var reSignHtUrl = url1 + string.Format("?content={0}&sign={1}&clientId={2}&protocolType=", HttpUtility.UrlEncode(content3), HttpUtility.UrlEncode(sign3), clientid);
|
||
ViewBag.reSignHtUrl = reSignHtUrl;
|
||
//=============================================
|
||
|
||
|
||
//20220419 许总提出记录请求者信息
|
||
var viewSource = "千拓后台管理系统";
|
||
var pageSource = "Audit:订单列表.风控";
|
||
//===================合同Url测试===============
|
||
//合同生成URL测试
|
||
var url = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_SignPdf);
|
||
//风险揭示书
|
||
content = sHelper.encyptData(clientid, "R_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
string fxjssUrl = string.Format("{0}/{4}-风险揭示书.pdf?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url,
|
||
HttpUtility.UrlEncode(content),
|
||
HttpUtility.UrlEncode(sign),
|
||
clientid,
|
||
model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource
|
||
);
|
||
ViewBag.fxjssUrl = fxjssUrl;
|
||
//投顾服务协议
|
||
content = sHelper.encyptData(clientid, "A_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
string tgfwxyUrl = string.Format("{0}/{4}-投顾服务协议.pdf?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url,
|
||
HttpUtility.UrlEncode(content),
|
||
HttpUtility.UrlEncode(sign),
|
||
clientid,
|
||
model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource
|
||
);
|
||
ViewBag.tgfwxyUrl = tgfwxyUrl;
|
||
|
||
if (!string.IsNullOrEmpty(model.CONTRACTCODE))
|
||
{
|
||
var riskinfoUrl = _cache.GetValue_Parameter("riskinfo");
|
||
var htflagUrl = _cache.GetValue_Parameter("htflag");
|
||
if (string.IsNullOrEmpty(riskinfoUrl))
|
||
{
|
||
riskinfoUrl = "https://r2.soft.dn8188.com/contract_sign_crm/get_riskinfo";
|
||
}
|
||
|
||
var bf = "{\"uid\": \"" + model.SOFTUSERNAME + "\",\"htid\":\"DN" + model.SZZYORDERID.Value.ToString() + "\"}";
|
||
var hqr = BlowFish.encode(bf);
|
||
var para = new { hqr };
|
||
LogHelper.Info(riskinfoUrl + "||" + para.ToJson());
|
||
var res = Utility.PostAjaxData(riskinfoUrl, para.ToJson(), Encoding.UTF8);
|
||
var ret1 = JsonConvert.DeserializeObject<RiskInfoDto>(res);
|
||
LogHelper.Info(ret1.ToJson());
|
||
ViewBag.RiskClientId = clientid;
|
||
//if (ret1.ret == 0)
|
||
//{
|
||
string riskcontent = sHelper.encyptData(clientid, Utility.ConvertToJSON(ret1));
|
||
string risksign = sHelper.signData(clientid, riskcontent);
|
||
ViewBag.RiskContent = HttpUtility.UrlEncode(riskcontent);
|
||
ViewBag.RiskSign = HttpUtility.UrlEncode(risksign);
|
||
|
||
var businesstype = "advisor";
|
||
if (ret1.ret == 0)
|
||
{
|
||
businesstype = ret1.businesstype;
|
||
}
|
||
ViewBag.businesstype = businesstype;
|
||
|
||
if (businesstype != "smallAmount")
|
||
{
|
||
LogHelper.Info(htflagUrl + "||" + "htid=" + model.CONTRACTCODE);
|
||
var ret = Utility.GetData(htflagUrl, "htid=" + model.CONTRACTCODE, Encoding.UTF8);
|
||
var retObj = JsonConvert.DeserializeAnonymousType(ret, new { ret = -1, msg = string.Empty });
|
||
if (retObj.ret != -1)
|
||
{
|
||
if (retObj.ret == 0)
|
||
{
|
||
//var cphfwApi = _cache.GetValue_Parameter("cphfwApi");
|
||
//ret = Utility.GetData(cphfwApi, "htid=" + model.CONTRACTCODE, Encoding.UTF8);
|
||
//var result = JsonConvert.DeserializeAnonymousType(ret, new { ret = -1, msg = string.Empty });
|
||
//产品或服务不适当警示确认书
|
||
content = sHelper.encyptData(clientid, "I_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
|
||
string cphfwUrl = string.Format("{0}/{4}-产品或服务风险警示及投资者确认书.pdf ?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url, HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource);
|
||
|
||
ViewBag.cphfwUrl = cphfwUrl;
|
||
}
|
||
else if (retObj.ret == 1)
|
||
{
|
||
//适当性评估结果确认书
|
||
content = sHelper.encyptData(clientid, "S_DN" + model.SZZYORDERID.ToString());
|
||
sign = sHelper.signData(clientid, content);
|
||
string sdxpgUrl = string.Format("{0}/{4}-适当性匹配意见及投资者确认书.pdf ?content={1}&sign={2}&clientId={3}&employeeId={5}&employeeName={6}&viewSource={7}&pageSource={8}",
|
||
url, HttpUtility.UrlEncode(content), HttpUtility.UrlEncode(sign), clientid, model.SUBPRODUCTNAME,
|
||
Eid,
|
||
UserName,
|
||
viewSource,
|
||
pageSource);
|
||
ViewBag.sdxpgUrl = sdxpgUrl;
|
||
}
|
||
}
|
||
}
|
||
|
||
//更新成交客户列表
|
||
var tranUser = _tranUser.Get(p => p.softusername == model.SOFTUSERNAME);
|
||
if (tranUser != null && ret1.ret == 0)
|
||
{
|
||
tranUser.exptime = string.IsNullOrEmpty(ret1.expTime) ? (DateTime?)null : Convert.ToDateTime(ret1.expTime);
|
||
tranUser.risklevel = ret1.riskType?.level ?? "3";
|
||
tranUser.riskinfo = ret1.ToJson();
|
||
tranUser.isc0user = ret1.isC0User;
|
||
tranUser.isc1_0user = ret1.isC1_0User;
|
||
_tranUser.Update(tranUser);
|
||
}
|
||
if (ret1.ret == 0)
|
||
{
|
||
ViewBag.RiskLevel = ret1.riskType?.level ?? "3";
|
||
ViewBag.IsC0User = ret1.isC0User;
|
||
ViewBag.IsC1_0User = ret1.isC1_0User;
|
||
}
|
||
//}
|
||
|
||
}
|
||
|
||
//ViewBag.fkUrl = fkUrl;//风控Url
|
||
ViewBag.htUrl = htUrl;//合同Url
|
||
ViewBag.eid = Eid;
|
||
ViewBag.userName = UserName;
|
||
var webapi = _cache.GetValue_Parameter(Parameter.Hg_Core_WebApi);
|
||
ViewBag.webapi = webapi;
|
||
ViewBag.isHasLookReSign = containRight("RESIGN");//是否含有重签权限
|
||
ViewBag.isHasLookRenameSign = containRight("RENAMESIGN");//是否含有重签权限
|
||
return View(model);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表重新实名, ToolBarConfig.CONST_NotButton, false)]
|
||
public JsonResult ClearName(int orderId)
|
||
{
|
||
var model = _order.Get(p => p.ORDERID == orderId);
|
||
if (model != null)
|
||
{
|
||
var dto = new { uid = model.SOFTUSERNAME };
|
||
var url = paramter_bl.GetValue_Parameter("DeleteContractUrl");
|
||
if (string.IsNullOrWhiteSpace(url))
|
||
{
|
||
url = "https://r2.soft.dn8188.com/riskevaluate/pc/newcenter/del_risk";
|
||
}
|
||
|
||
var json = Utility.ObjectToJson(dto);
|
||
|
||
var para = new SecurityHelper().createSignEncodingStr(json);
|
||
|
||
var retmsg = Utility.PostData(url, para, Encoding.UTF8);
|
||
|
||
var retmessage = JsonHelper.JsonDivertToObj<DeleteContractRes>(retmsg);
|
||
|
||
if (retmessage.ret == 0)
|
||
{
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
else
|
||
{
|
||
return Json(new retMsg { result = false, retmsg = "清理错误!" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
return Json(new retMsg { result = false, retmsg = "找不到这个订单" }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
[HttpPost]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other2, false)]
|
||
public JsonResult Audit(int orderId, int status, string rejectRemark)
|
||
{
|
||
//UserCenter_RiaService_ContractSign
|
||
var order = _order.Get(p => p.ORDERID == orderId);
|
||
|
||
if (order != null)
|
||
{
|
||
var idCard = string.Empty;
|
||
var name = string.Empty;
|
||
|
||
order.RISKCTRLSTATUS = status;
|
||
order.rejectremark = rejectRemark;
|
||
|
||
if (status == 2)
|
||
{
|
||
try
|
||
{
|
||
var bf = "{\"uid\": \"" + order.SOFTUSERNAME + "\"}";
|
||
var hqr = BlowFish.encode(bf);
|
||
var para = new { hqr };
|
||
string riskurl = paramter_bl.GetValue_Parameter(Parameter.UserCenter_RiaService_Risk);//封装出来的接口
|
||
if (string.IsNullOrEmpty(riskurl))
|
||
riskurl = "https://r2.soft.dn8188.com/riskevaluate/h5/get_riskinfo";
|
||
var res = Utility.PostAjaxData(riskurl, para.ToJson(), Encoding.UTF8);
|
||
var ret = JsonHelper.JsonDivertToObj<RiskInfoDto>(res);
|
||
if (ret.ret == 0 || ret.ret == -104)
|
||
{
|
||
idCard = ret.idCard;
|
||
name = ret.name;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
}
|
||
}
|
||
|
||
if (!string.IsNullOrEmpty(idCard))
|
||
{
|
||
order.idcard = idCard;
|
||
}
|
||
if (!string.IsNullOrEmpty(name))
|
||
{
|
||
order.CNAME = name;
|
||
}
|
||
//_order.Update(order);
|
||
_order.Update(order, x => new
|
||
{
|
||
x.RISKCTRLSTATUS,
|
||
x.rejectremark,
|
||
x.idcard,
|
||
x.CNAME
|
||
});
|
||
_auditLog.Add(new WX_SZZYORDER_AUDIT_LOG
|
||
{
|
||
audit = status == -1 ? 2 : 1,
|
||
create_time = DateTime.Now,
|
||
eid = Eid,
|
||
orderid = orderId,
|
||
resid = order.RESID,
|
||
remark = rejectRemark,
|
||
auditor = UserName
|
||
});
|
||
new OrderService().CanIOpen(order.ORDERID, Eid, UserName);
|
||
//风控通过了,需要调用开通服务去开通订单了
|
||
|
||
//if(status == -1)
|
||
//{
|
||
// //驳回的时候,删除电子回访
|
||
// _confirm.Delete(p => p.SzzyOrderId == order.SZZYORDERID);
|
||
//}
|
||
|
||
EventBus.Instance.Publish(new RejectContractEvent(orderId, status, rejectRemark, order.companycode, idCard, name, Eid, UserName));
|
||
}
|
||
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other9, false)]
|
||
public JsonResult ContractAudit(ContractAuditDto dto)
|
||
{
|
||
var webapi = _cache.GetValue_Parameter(Parameter.Hg_Core_WebApi);
|
||
//webapi = "https://localhost:5252";
|
||
var url = $"{webapi}/Order/ContractAudit";
|
||
var result = Utility.PostAjaxData(url, dto.ToJson(), Encoding.UTF8);
|
||
var data = JsonConvert.DeserializeObject<WX.CRM.Common.Employee.ApiResult<bool>>(result);
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[HttpPost]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other9, false)]
|
||
public JsonResult TraceUserAudit(TraceUserAuditDto dto)
|
||
{
|
||
var webapi = _cache.GetValue_Parameter(Parameter.Hg_Core_WebApi);
|
||
//webapi = "https://localhost:5252";
|
||
var url = $"{webapi}/api/TraceUser/Audit";
|
||
var result = Utility.PostAjaxData(url, dto.ToJson(), Encoding.UTF8);
|
||
var data = JsonConvert.DeserializeObject<WX.CRM.Common.Employee.ApiResult>(result);
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[HttpGet]
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规订单列表, ToolBarConfig.CONST_Other9, false)]
|
||
public JsonResult ContractUser(int orderId, int eid, string ename)
|
||
{
|
||
var webapi = _cache.GetValue_Parameter(Parameter.Hg_Core_WebApi);
|
||
//webapi = "https://localhost:5252";
|
||
var url = $"{webapi}/api/TraceUser/ContractUser";
|
||
var para = $"orderId={orderId}&eid={eid}&ename={ename}";
|
||
var result = Utility.GetData(url, para, Encoding.UTF8);
|
||
var data = JsonConvert.DeserializeObject<WX.CRM.Common.Employee.ApiResult<TraceUserDto>>(result);
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
public class RiskInfoDto
|
||
{
|
||
public int ret { get; set; }
|
||
public string name { get; set; }
|
||
public string idCard { get; set; }
|
||
public string answer { get; set; }
|
||
public Int64 createTime { get; set; }
|
||
public string key { get; set; }
|
||
public string style { get; set; }
|
||
public int index { get; set; }
|
||
public string version { get; set; }
|
||
public string expTime { get; set; }
|
||
public RiskType riskType { get; set; }
|
||
public int verifyType { get; set; }
|
||
public int auditStatus { get; set; }
|
||
public string auditRemark { get; set; }
|
||
public bool isC0User { get; set; } = false;
|
||
public bool isC1_0User { get; set; } = false;
|
||
public string businesstype { get; set; }
|
||
public int paperId { get; set; }
|
||
}
|
||
public class RiskType
|
||
{
|
||
public int min { get; set; }
|
||
public int max { get; set; }
|
||
public string des { get; set; }
|
||
public string name { get; set; }
|
||
public string level { get; set; }
|
||
}
|
||
public class DeleteContractRes
|
||
{
|
||
public int ret { get; set; }
|
||
}
|
||
public class ContractAuditDto
|
||
{
|
||
public int OrderId { get; set; }
|
||
|
||
public int Status { get; set; }
|
||
|
||
public string Remark { get; set; }
|
||
}
|
||
|
||
public class TraceUserAuditDto
|
||
{
|
||
public string Uid { get; set; }
|
||
|
||
public int Status { get; set; }
|
||
|
||
public string Remark { get; set; }
|
||
}
|
||
|
||
public class TraceUserDto
|
||
{
|
||
/// <summary>
|
||
/// 资源ID
|
||
/// </summary>
|
||
public string resId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 优品帐号
|
||
/// </summary>
|
||
public string uid { get; set; }
|
||
|
||
/// <summary>
|
||
/// 用户真实姓名
|
||
/// </summary>
|
||
public string username { get; set; }
|
||
|
||
/// <summary>
|
||
/// 用户绑定的手机号
|
||
/// </summary>
|
||
public string bindmob { get; set; }
|
||
|
||
/// <summary>
|
||
/// 用户身份证件号
|
||
/// </summary>
|
||
public string idcardno { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份证正面
|
||
/// </summary>
|
||
public string idcardfront { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份证反面
|
||
/// </summary>
|
||
public string idcardback { get; set; }
|
||
|
||
/// <summary>
|
||
/// 状态:0未审核 1:已审核 -1:未通过
|
||
/// </summary>
|
||
public int status { get; set; }
|
||
|
||
/// <summary>
|
||
/// 实名驳回备注
|
||
/// </summary>
|
||
public string auditRemark { get; set; }
|
||
|
||
/// <summary>
|
||
/// 审核状态
|
||
/// </summary>
|
||
public string statusStr { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证类型, 1接口验证 2人工审核
|
||
/// </summary>
|
||
public int? verifyType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 验证类型
|
||
/// </summary>
|
||
public string verifyTypeStr { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合同状态
|
||
/// </summary>
|
||
public int? contractStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合同状态
|
||
/// </summary>
|
||
public string contractStatusStr { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合同审核备注
|
||
/// </summary>
|
||
public string contractRemark { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合规状态
|
||
/// </summary>
|
||
public int? riskCtrlStatus { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合规状态
|
||
/// </summary>
|
||
public string riskCtrlStatusStr { get; set; }
|
||
|
||
/// <summary>
|
||
/// 合规驳回备注
|
||
/// </summary>
|
||
public string rejectRemark { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份审核类型
|
||
/// </summary>
|
||
public int type { get; set; }
|
||
|
||
/// <summary>
|
||
/// 身份审核类型
|
||
/// </summary>
|
||
public string typeStr { get; set; }
|
||
}
|
||
}
|
||
} |