ComplianceServer/oldcode/WEB/Controllers/Csvr/CustomerInfoController.cs

1465 lines
61 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//using CRM.Core.DTO;
//using CRM.Core.DTO.Ord;
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.Util;
using WX.CRM.Common;
using WX.CRM.Common.Employee;
using WX.CRM.IBLL.Base;
using WX.CRM.IBLL.Csvr;
using WX.CRM.IBLL.QH;
using WX.CRM.IBLL.RedisBL;
using WX.CRM.IBLL.Res;
using WX.CRM.IBLL.Util;
using WX.CRM.IBLL.WeWork;
using WX.CRM.IBLL.Wx;
using WX.CRM.Model.Entity;
using WX.CRM.Model.Enum;
using WX.CRM.Model.QueryMap;
using WX.CRM.WebHelper;
using WX.CRM.WebHelper.DoItems;
using WX.CRM.WebHelper.RedisFactory;
namespace WX.CRM.WEB.Controllers.Csvr
{
public class CustomerInfoController : BaseController
{
[Inject]
public ICUSTOMER_REDIS customerRedisBL { get; set; }
[Inject]
public ISecurityHelper sHelper { get; set; }
//
// GET: /Customer/
private IRES_CUSTOMERDETAIL_Q customerdetailBiz_Q;
private IRES_CUSTOMERUSER_Q _customerUserQ;
private IRES_CUSTOMER _customer;
private IRES_CUSTOMER_Q _customerQ;
private IBAS_BUSINESS_Q businessBiz_Q;
private ICSVR_IDMAP_Q csvr_idmap;
private ICACHE_Q cacheQ;
private IBAS_MOBILEAREA_Q mobileareaQ;
private readonly IWX_RCONTACT _wxRcontact;
private readonly IRES_CUSTOMERDETAIL _resCustomerdetail;
private IQH_CUSTOMER_RESID _iqh_Customer_Resid;
private ValidationErrors errors = new ValidationErrors();
[Inject]
public IBAS_INNERGROUP_Q Bas_InnerGroup_BL { get; set; }
[Inject]
public IWW_EXTUSER ww_extuser { get; set; }
public RedisFactory redisFactory = new RedisFactory();
[Inject]
public IRES_CUSTOMER_LABEL _label { get; set; }
public CustomerInfoController(IRES_CUSTOMERDETAIL_Q _customerdetailBiz_Q
, IRES_CUSTOMERUSER_Q customerUserQ,
IRES_CUSTOMER customer,
IRES_CUSTOMER_Q customerQ,
IBAS_BUSINESS_Q _businessBiz_Q,
ICSVR_IDMAP_Q _csvr_idmap,
ICACHE_Q _cacheQ,
IBAS_MOBILEAREA_Q _mobileareaQ,
IWX_RCONTACT wxRcontact,
IRES_CUSTOMERDETAIL resCustomerdetail,
IQH_CUSTOMER_RESID iQH_CUSTOMER_RESID
)
{
this.customerdetailBiz_Q = _customerdetailBiz_Q;
this._customerUserQ = customerUserQ;
this._customerQ = customerQ;
this._customer = customer;
this.businessBiz_Q = _businessBiz_Q;
this.csvr_idmap = _csvr_idmap;
this.cacheQ = _cacheQ;
this.mobileareaQ = _mobileareaQ;
_wxRcontact = wxRcontact;
_resCustomerdetail = resCustomerdetail;
this._iqh_Customer_Resid = iQH_CUSTOMER_RESID;
}
#region ID
/// <summary>
/// 筛选未外呼客户ID
/// </summary>
/// <returns></returns>
public ActionResult ResIDNoOutboundFilter()
{
var groupList = Bas_InnerGroup_BL.GetList();
if (groupList != null)
{
groupList = groupList.Where(m => m.ISHIDE == 0).ToList();
}
if (groupList == null)
{
groupList = new List<BAS_INNERGROUP>();
}
ViewBag.DeptCode = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_Environment_DeptCode);
ViewBag.MemoSubTypeList = cacheQ.GetList_MemoSubType(1);
ViewBag.GroupList = groupList;
return View();
}
[AuthorizeRedirect(Roles = InitRights.CONST_筛选未外呼客户ID)]
public JsonResult ResIDUpload(DateTime? stime, DateTime? etime, decimal? t_type, string slt_Open, string slt_NotOpen)
{
string dname = "这批ID在这个时间段已经全部有外呼";
if (t_type != null && t_type == 1)
dname = "这批ID在这个时间段没有无效外呼";
else if (t_type != null && t_type == 2)
dname = "筛选后无数据!";
else if (t_type != null && t_type == 8)
dname = "根据条件去除后无数据!";
string importId = DateTime.Now.ToString("yyyyMMddHHmmss");
HttpPostedFileBase file = Request.Files["uploadFile"];
DataTable tab = new DataTable();
DataColumn column = new DataColumn("IMPORTID");
column.Caption = "导入批次ID";
column.DataType = typeof(System.Decimal);
tab.Columns.Add(column);
DataColumn column2 = new DataColumn("IMPORTDATA");
column2.Caption = "客户ID";
column2.DataType = typeof(System.String);
tab.Columns.Add(column2);
using (StreamReader read = new StreamReader(file.InputStream, Encoding.GetEncoding("gb2312")))
{
while (!read.EndOfStream)
{
DataRow row = tab.NewRow();
row["IMPORTID"] = importId;
row["IMPORTDATA"] = read.ReadLine().Trim();
tab.Rows.Add(row);
}
}
List<string> list = _customerQ.ResIDNoOutboundFilter(ref errors, tab, importId, stime.Value, etime.Value, t_type.Value, slt_Open, slt_NotOpen);
Stream stream = ExcelHelper.ExportListObjectToExcel(list, "客户ID", "客户ID", null);
if (errors.Count > 0)
{
JsonResult rs = Json(new { result = false, message = "错误提示:" + errors.Error });
rs.ContentType = "text/html";
return rs;
}
else if (list.Count == 0)
{
JsonResult rs = Json(new { result = false, message = "温馨提示:" + dname }, JsonRequestBehavior.AllowGet);
rs.ContentType = "text/html";
return rs;
}
string fileName = DateTime.Now.ToString("yyyyMMddHHmmffff") + ".xls";
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length); //将流的内容读到缓冲区
FileStream fs = new FileStream(Server.MapPath("~/UploadFile/" + fileName), FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
fs.Close();
JsonResult rb = Json(new { result = true, src = fileName });
rb.ContentType = "text/html";
return rb;
}
[AuthorizeRedirect(Roles = InitRights.CONST_筛选未外呼客户ID)]
public JsonResult ResIDUploadNew(DateTime? stime, DateTime? etime, string checkType_hid, string subType_hid)
{
string dname = "赛选客户ID";
if (Request.Files["uploadFile"] == null)
{
JsonResult rs = null;
rs = Json(new { result = false, message = "错误提示:请选择文件!" });
rs.ContentType = "text/html";
return rs;
}
if (string.IsNullOrEmpty(checkType_hid) && string.IsNullOrEmpty(subType_hid))
{
JsonResult rs = null;
rs = Json(new { result = false, message = "错误提示:请至少选择一项过滤条件!" });
rs.ContentType = "text/html";
return rs;
}
if (!string.IsNullOrEmpty(subType_hid) && (!stime.HasValue || !etime.HasValue))
{
JsonResult rs = null;
rs = Json(new { result = false, message = "错误提示:工单过滤,请选择时间!" });
rs.ContentType = "text/html";
return rs;
}
string importId = DateTime.Now.ToString("yyyyMMddHHmmss");
HttpPostedFileBase file = Request.Files["uploadFile"];
DataTable tab = new DataTable();
DataColumn column = new DataColumn("IMPORTID");
column.Caption = "导入批次ID";
column.DataType = typeof(System.Decimal);
tab.Columns.Add(column);
DataColumn column2 = new DataColumn("IMPORTDATA");
column2.Caption = "客户ID";
column2.DataType = typeof(System.String);
tab.Columns.Add(column2);
using (StreamReader read = new StreamReader(file.InputStream, Encoding.GetEncoding("gb2312")))
{
while (!read.EndOfStream)
{
DataRow row = tab.NewRow();
row["IMPORTID"] = importId;
row["IMPORTDATA"] = read.ReadLine().Trim();
tab.Rows.Add(row);
}
}
List<string> list = _customerQ.res_GetFilterImportRes(ref errors, tab, importId, stime.Value, etime.Value, checkType_hid, subType_hid);
Stream stream = ExcelHelper.ExportListObjectToExcel(list, "客户ID", "客户ID", null);
if (errors.Count > 0)
{
JsonResult rs = Json(new { result = false, message = "错误提示:" + errors.Error });
rs.ContentType = "text/html";
return rs;
}
else if (list.Count == 0)
{
JsonResult rs = Json(new { result = false, message = "温馨提示:过滤后没有数据!" }, JsonRequestBehavior.AllowGet);
rs.ContentType = "text/html";
return rs;
}
string fileName = DateTime.Now.ToString("yyyyMMddHHmmffff") + ".xls";
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length); //将流的内容读到缓冲区
FileStream fs = new FileStream(Server.MapPath("~/UploadFile/" + fileName), FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
fs.Close();
JsonResult rb = Json(new { result = true, src = fileName });
rb.ContentType = "text/html";
return rb;
}
[AuthorizeRedirect(Roles = InitRights.CONST_筛选未外呼客户ID)]
public JsonResult ResIDChoice(DateTime? resStime, DateTime? resEtime, bool checkWeixin, bool checkOrder, string memoSubType, DateTime? memoStime, DateTime? memoEtime)
{
JsonResult rs = null;
var dname = "资源筛选导出";
if (!resStime.HasValue)
{
rs = Json(new { result = false, message = "错误提示:资源开始时间不能为空" });
rs.ContentType = "text/html";
return rs;
}
if (!resEtime.HasValue)
{
rs = Json(new { result = false, message = "错误提示:资源结束时间不能为空" });
rs.ContentType = "text/html";
return rs;
}
if (resEtime > DateTime.Now.AddDays(-9))
{
//rs = Json(new { result = false, message = "错误提示:资源结束时间不能大于"+ DateTime.Now.AddDays(-9).ToString() });
rs = Json(new { result = false, message = "新资源不能倒出请筛选导出10天前的资源。" });
rs.ContentType = "text/html";
return rs;
}
if (resStime < resEtime.Value.AddDays(-30))
{
rs = Json(new { result = false, message = "错误提示由于资源太多资源时间跨度不能超过1个月如若需要可以分多次导出" });
rs.ContentType = "text/html";
return rs;
}
if (!memoStime.HasValue)
{
rs = Json(new { result = false, message = "错误提示:工单开始时间不能为空" });
rs.ContentType = "text/html";
return rs;
}
if (!memoEtime.HasValue)
{
rs = Json(new { result = false, message = "错误提示:工单结束时间不能为空" });
rs.ContentType = "text/html";
return rs;
}
List<string> list = _customerQ.GetResChoiceExpor(ref errors, resStime.ToString(), resEtime.ToString(), checkWeixin ? 1 : 0, checkOrder ? 1 : 0, memoSubType, memoStime.ToString(), memoEtime.ToString());
Stream stream = ExcelHelper.ExportListObjectToExcel(list, "客户ID", "客户ID", null);
if (errors.Count > 0)
{
rs = Json(new { result = false, message = "错误提示:" + errors.Error });
rs.ContentType = "text/html";
return rs;
}
else if (list.Count == 0)
{
rs = Json(new { result = false, message = "温馨提示:" + dname }, JsonRequestBehavior.AllowGet);
rs.ContentType = "text/html";
return rs;
}
string fileName = DateTime.Now.ToString("yyyyMMddHHmmffff") + ".xls";
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length); //将流的内容读到缓冲区
FileStream fs = new FileStream(Server.MapPath("~/UploadFile/" + fileName), FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
fs.Close();
JsonResult rb = Json(new { result = true, src = fileName });
rb.ContentType = "text/html";
return rb;
}
[AuthorizeRedirect(Roles = InitRights.CONST_筛选未外呼客户ID)]
public JsonResult ResIdByMemoChoice(DateTime? memoStime2, DateTime? memoEtime2, decimal? memoType1, decimal? memoType2, decimal? group1, decimal? group2)
{
JsonResult rs = null;
var dname = "没查询到符合条件的工单资源";
if (!memoStime2.HasValue)
{
rs = Json(new { result = false, message = "错误提示:工单开始时间不能为空" });
rs.ContentType = "text/html";
return rs;
}
if (!memoEtime2.HasValue)
{
rs = Json(new { result = false, message = "错误提示:工单结束时间不能为空" });
rs.ContentType = "text/html";
return rs;
}
List<string> list = _customerQ.GetResIdByMemoChoiceExport(ref errors, memoStime2, memoEtime2, memoType1, memoType2, group1, group2);
Stream stream = ExcelHelper.ExportListObjectToExcel(list, "客户ID", "客户ID", null);
if (errors.Count > 0)
{
rs = Json(new { result = false, message = "错误提示:" + errors.Error });
rs.ContentType = "text/html";
return rs;
}
else if (list.Count == 0)
{
rs = Json(new { result = false, message = "温馨提示:" + dname }, JsonRequestBehavior.AllowGet);
rs.ContentType = "text/html";
return rs;
}
string fileName = DateTime.Now.ToString("yyyyMMddHHmmffff") + ".xls";
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length); //将流的内容读到缓冲区
FileStream fs = new FileStream(Server.MapPath("~/UploadFile/" + fileName), FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(buffer, 0, buffer.Length);
fs.Flush();
fs.Close();
JsonResult rb = Json(new { result = true, src = fileName });
rb.ContentType = "text/html";
return rb;
}
public ActionResult ResIdExcelExport(string fileName, decimal? t_type)
{
string dname = "筛选未外呼客户ID";
if (t_type != null && t_type == 1)
dname = "筛选无效外呼客户ID";
else if (t_type != null && t_type == 2)
dname = "筛选未开户客户ID";
else if (t_type != null && t_type == 8)
dname = "去除连续5次无效工单";
else if (t_type != null && t_type == 9)
dname = "去除绑定微信";
else if (t_type != null && t_type == 10)
dname = "去除首次汇款工单";
string filepath = Server.MapPath("~/UploadFile/" + fileName);
FileStream fs = new FileStream(filepath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.Charset = "UTF-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Response.ContentType = "application/ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + PageRequest.GetDlownLoadName(dname + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
if (System.IO.File.Exists(filepath))
{
System.IO.File.Delete(filepath);
}
return new EmptyResult();
}
#endregion ID
public ActionResult Index()
{
return View();
}
/// <summary>
/// isFromHg是否来着合规
/// </summary>
[Inject]
public IRES_VIPCUSTOMER _RES_VIPCUSTOMER { get; set; }
public ActionResult CustomerDetail(string resid, int isFromHg = 0, int hgCustomer = 0, string name = "", int isFromComplaint = 0, string umid = "")
{
//ControlResource.JudgeSYQ();
//var isShowFxh = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_IsShowFXH);
//if (string.IsNullOrEmpty(isShowFxh))
// isShowFxh = "true";
//ViewBag.isShowFxh = isShowFxh;
//ViewBag.IsOpen_TradeCode = cacheQ.IsOpen_TradeCode(resid); //_MN_GJS_CUSTOMER.IsOpen_TradeCode(resid);
//ViewBag.IsOpen_TradeCode = false;
//var tgcrmUrl = cacheQ.GetValue_Parameter("TGCRMUrl");
//ViewBag.TGCRMUrl = string.IsNullOrEmpty(tgcrmUrl)?"": (tgcrmUrl + "/Csvr/CustomerInfoMn/Index?resid="+resid);
RES_CUSTOMERDETAIL model = null;
if (!string.IsNullOrEmpty(resid))
{
model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL(resid);//Old Version
if (model == null && resid.Length >= 32)
{
model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL_UMID(resid);
}
}
else if (!string.IsNullOrEmpty(umid))
{
model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL_UMID(umid);
}
else
{
Response.Redirect(Url.Action("ErrorView", "Error", new { message = "缺少resid/umid" }));
}
//RES_CUSTOMERDETAIL model = redisFactory.GetInfo_Rescustomerdetail(resid);
if (model == null || string.IsNullOrWhiteSpace(model.CNAME))//合规坐席拉取客户信息
{
//var url = cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_GetCustomer);
//var theModel = new ResCustomerDto
//{
// resId = resid,
//};
//string json = Utility.ConvertToJSON<ResCustomerDto>(theModel);
//json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey);//数据参数加密
//string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8);//实现中心点先入库
//retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg);
//retMsgNew<List<ResCustomerModel>> retmessage = JsonHelper.JsonDivertToObj<retMsgNew<List<ResCustomerModel>>>(retmsg);//返回信息
//var uname = "";
//if (retmessage.retcode == (int)NodeJsOrderEnum.调用成功)//成功
//{
// uname = retmessage.data.FirstOrDefault(n => !string.IsNullOrWhiteSpace(n.uname))?.uname;
// foreach (var ord in retmessage.data)
// {
// _customer.ResgisterCustomer(ord.mobile, ord.resId, "isHgComplaint");
// }
//}
/* var url = cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_GetCustomer);
var para = "page=1&limit=1&aiCallType=80";
if (!string.IsNullOrEmpty(resid))
{
para += "&resId=" + resid;
}
var retmsg = Utility.PostData(url + "?" + para, Encoding.UTF8);
var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsgOrderDto>(retmsg);
var orders = retmessage.retmsg;
var uname = orders.FirstOrDefault(n => !string.IsNullOrWhiteSpace(n.cname))?.cname;
foreach (var ord in orders)
{
#region 注册
_customer.ResgisterCustomer(ord.mobile, ord.resid, "hgorder");
#endregion 注册
}*/
//修改客户姓名
//if (string.IsNullOrWhiteSpace(model?.CNAME) && !string.IsNullOrWhiteSpace(uname))
//{
// using (var db = new crmContext())
// {
// var customerDetail = db.RES_CUSTOMERDETAIL.FirstOrDefault(n => n.RESID == resid);
// if (customerDetail != null)
// {
// customerDetail.CNAME = uname;
// db.SaveChanges();
// }
// }
//}
model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL(resid);//Old Version
if (model == null && resid.Length >= 32)
{
model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL_UMID(resid);
}
if(model == null)//如果信息没有,那么拉取信息
{
int relust = 1;
string msg = "";
SeachByResId(resid, ref relust, ref msg);
model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL_UMID(resid);
}
}
if (model == null)
{
Response.Redirect(Url.Action("ErrorView", "Error", new { message = "错误提示:没有这个客户!" }));
}
CustomerInfo info = new CustomerInfo();
//if (!string.IsNullOrEmpty(model.CNAME))
//{
// var roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
// if (!(roleCodes.Contains("[SH]") || roleCodes.Contains("[GLY]")))
// {
// if (model.CNAME.Length > 4)
// {
// model.CNAME = model.CNAME.Substring(0, 4);
// }
// }
//}
info.RequsetResId = model.RESID;
//info.ResCustomerList = _customerQ.GetList_CustomerByResid(resid);//Old Version
//info.CustomerId = info.ResCustomerList.Select(p => p.CUSTOMERID).FirstOrDefault();//Old Version
//string[] resids = info.ResCustomerList.Select(m => m.RESID.Trim()).ToArray();//Old Version
//info.GjsCustomerList = gjs_customerQ.getGjsCustomersByResIds(resids);//Old Version
info.CustomerName = model.CNAME;
if (string.IsNullOrEmpty(info.CustomerName) && !string.IsNullOrEmpty(name))
{
info.CustomerName = name;
model.CNAME = name;
}
info.CustomerId = _customerQ.getResCustomerByResId(model.RESID).CUSTOMERID;
try
{
_customer.res_customerdetial_log(Utility.GetIp(), info.CustomerId, UserId, Eid);
}
catch (Exception ex)
{
LogHelper.Error("记录访问日志出错:" + ex.ToString());
}
string[] resids = _customerQ.GetAllResidByCustomerId(info.CustomerId);
info.ResCustomerList = redisFactory.GetList_Rescustomer(resids, info.CustomerId);//
//info.ResCustomerList = customerRedisBL.GetList_Res_Customer(resids);
//info.GjsCustomerList = redisFactory.GetList_Gjscustomer(resids); //customerRedisBL.GetList_Gjs_Customer(resids);
//info.FxhCustomerList = _fxh_customerQ.getFxhByResIds(resids);
string isShowMobileArea = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Is_ShowCustomerMobileArea);
var isMiniCustomerInfo = cacheQ.GetValue_Parameter(Model.Enum.Parameter.Sys_IsMiniCustomerInfo);
if (null != info.ResCustomerList)
{
var vipcustomer = _RES_VIPCUSTOMER.GetByResIds(info.ResCustomerList.Select(obj => obj.RESID).ToArray());
foreach (RES_CUSTOMER item in info.ResCustomerList)
{
item.IsVip = vipcustomer.Any(obj => obj.RESID == item.RESID);
//LogHelper.Info("isShowMobileArea:" + isShowMobileArea);
if (isShowMobileArea == "true")
{
item.map_MobileArea = mobileareaQ.GetMobileArea(item.RESID);
}
else
item.map_MobileArea = "";
}
}
var residsArr = info.ResCustomerList.Select(obj => obj.RESID);
var fxModel = _label.Get(p => residsArr.Contains(p.RESID));
var zxdurl = cacheQ.GetValue_Parameter(Parameter.Core_ZxdUrl);
zxdurl = $"{zxdurl}/Api/SoftUser/GetUserCanOpenOrderByResid";
LogHelper.Info("zxdurl:" + zxdurl);
try
{
var canopenorderResultJson = Utility.GetData(zxdurl, $"resid={model.RESID}", Encoding.UTF8);
var canopenorderResult = JsonHelper.JsonDivertToObj<HGApiResult<bool>>(canopenorderResultJson);
LogHelper.Info("canopenorderResult:" + canopenorderResult.ToJson());
LogHelper.Info("canopenorderResultJson:" + canopenorderResultJson);
ViewBag.IsCanopenorder = canopenorderResult.data ? 1 : 0;
}
catch (Exception e)
{
LogHelper.Error(e.ToString());
ViewBag.IsCanopenorder = 0;
}
//查询出公司的业务
//List<BAS_COMPANY> companyList = DataCacheHelper.GetCache().GetList_innerCompany();
//BAS_COMPANY company = companyList.Where(m => m.COMPANYID == companyId).FirstOrDefault();
//int businessValue = 0;
//if (company != null)
// businessValue = Convert.ToInt32(company.BUSINESSVALUE);
List<string> customerMessage_UC = new List<string>();//客户信息 控件集合
List<string> memoMessage_UC = new List<string>();//工单信息 控件集合
//List<string> SalememoMessage_UC = new List<string>();//投顾工单信息 控件集合
List<string> ordeMessage_UC = new List<string>();//订单信息 控件集合
List<string> Level2orderMessage_UC = new List<string>();//订单信息 控件集合
List<string> ActivityMessage_UC = new List<string>();//活动信息 控件集合
//List<string> futureMessage_UC = new List<string>();//渤海 控件集合
//List<string> silverMessage_UC = new List<string>();// 控件集合
//var fastmemo = cacheQ.GetValue_Parameter("fastmemo");
//if (!string.IsNullOrEmpty(fastmemo))
//{
// customerMessage_UC.Add("FastMemo");//快速创建工单
//}
customerMessage_UC.Add("CustomerBaseInfoUC");//-客户基本信息
customerMessage_UC.Add("ContactUC");//联系方式
//customerMessage_UC.Add("CustomerCategoryUC");//-客户分类
if (string.IsNullOrEmpty(isMiniCustomerInfo) || isMiniCustomerInfo == "0")
{
//customerMessage_UC.Add("CustomerExtendUC");//客户扩展信息
//customerMessage_UC.Add("CustomerUserUC");//用户信息
//customerMessage_UC.Add("CustomerAddWWUserUC");//添加企业微信
//customerMessage_UC.Add("CustomerAddWxUserUC");//添加微信用户
//customerMessage_UC.Add("CustomerCheckUC");//客户质检信息
//customerMessage_UC.Add("CustomerLoginInfo");//客户最近信息
//customerMessage_UC.Add("CustomerOtherInfo");//客户其它基本信息
//customerMessage_UC.Add("RelationCustomerUC");//相关客户
}
else
{
customerMessage_UC.Add("CustomerAllMemoUC");
}
if (string.IsNullOrEmpty(isMiniCustomerInfo) || isMiniCustomerInfo == "0")
{
memoMessage_UC.Add("CustomerAllMemoUC");//客户所有工单信息
}
//sSalememoMessage_UC.Add("SaleDptAllMemoUC");//投顾客户所有工单信息
ordeMessage_UC.Add("CustomerOrderUC");//客户订单
Level2orderMessage_UC.Add("CustomerLevel2OrderUC");//投顾免费订单
// ordeMessage_UC.Add("CustomerModuleUC");//模块
ActivityMessage_UC.Add("CustomerActivityUC");//活动信息
//渤海和 需要公司有这个业务才能被显示出来
//info.BusinessNames = companyBusiness;
//futureMessage_UC.Add("CustomerFutureUC");//客户渤海信息
////}
////if (info.BusinessNames.IndexOf("[]") > -1)
////{
//silverMessage_UC.Add("CustomerFutureUcSilver");//客户信息
////}
ViewBag.QHType = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_QHData);
//if (ViewBag.QHType=="1")
//{
// List<QH_CUSTOMER_RESID> qH_CUSTOMER_RESID = _iqh_Customer_Resid.GetList(resids);
// if (qH_CUSTOMER_RESID.Count == 0)
// {
// ViewBag.CustomerQH_UC = "CustomerResid";
// }
// else
// {
// ViewBag.CustomerQH_UC = "CustomerQH";
// }
//}
ViewBag.WwMessage_Url = cacheQ.GetValue_Parameter("WwMessage_Url");
string[] extids = ww_extuser.ExtUserBandGetNew(model.RESID);//获取企业微信付费版本绑定的ID
string myids = "";
if (extids != null && extids.Length > 0)
{
myids = string.Join(";", extids);
}
info.IsFromHg = isFromHg;
ViewBag.extuserids = myids;//企业微信外部联系人关联
ViewBag.CustomerInfo = info;//--所有控件用到的数据
ViewBag.customerMessage_UC = customerMessage_UC;
ViewBag.memoMessage_UC = memoMessage_UC;
//ViewBag.SalememoMessage_UC = SalememoMessage_UC;
ViewBag.ordeMessage_UC = ordeMessage_UC;
ViewBag.Level2orderMessage_UC = Level2orderMessage_UC;
ViewBag.ActivityMessage_UC = ActivityMessage_UC; //活动
ViewBag.eid = Eid;
//ViewBag.futureMessage_UC = futureMessage_UC;
//ViewBag.silverMessage_UC = silverMessage_UC;
ViewBag.DeptCode = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_Environment_DeptCode);
ViewBag.ProjectType = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_ProjectType);
ViewBag.isMiniCustomerInfo = isMiniCustomerInfo;
ViewBag.IsHg = userRoleCodes.Contains("[HGZJ]") || userRoleCodes.Contains("[GLY]");
ViewBag.IsFx = (fxModel != null && fxModel.RFMTYPE == 1) ? true : false;
ViewBag.resid = resid;
try
{
PopupMessageFactory.AllocateResMessage.SetView(UserId, resid);
}
catch (Exception ex)
{
LogHelper.Error("清除资源提示错误:" + ex.ToString());
}
return View(model);
}
public ActionResult SearchCustomer()
{
ViewBag.ProjectType = cacheQ.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_ProjectType);
ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
return View();
}
/// <summary>
/// 查询出Resid方便查找
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
[HttpPost]
public JsonResult GetResData(string type)
{
int relust = 1;
string msg = "";
string resid = Request.Form["txt_resid"].GetString();
string username = Request.Form["txt_username"].GetString();
string oldUsername = Request.Form["txt_Oldusername"].GetString();
string userno = Request.Form["txt_userno"].GetString();
string mobile = Request.Form["txt_mobile"].GetString();
string customerId = Request.Form["txt_customerid"].GetString();
string tradeCode = Request.Form["txt_tradeCode"].GetString();
string OldId = Request.Form["txt_OldId"].GetString();
string customerName = Request.Form["txt_customerName"].GetString();
switch (type)
{
case "username": resid = SeachByuserName(username, ref relust, ref msg); break;
case "OlduserName": resid = SeachByOlduserName(oldUsername, ref relust, ref msg); break;
case "userno": resid = SeachByuserNo(userno, ref relust, ref msg); break;
case "mobile": resid = SeachByMobile(mobile, ref relust, ref msg); break;
case "tradeCode": resid = SeachByTradeCode(tradeCode, ref relust, ref msg); break;
case "resid": resid = SeachByResId(resid, ref relust, ref msg); break;//空置·不需要做处理
case "OldId": resid = SeachByOldId(OldId, ref relust, ref msg); break;
case "customerName": resid = SeachByCustomerName(customerName, ref relust, ref msg); break;
}
try
{
switch (type)
{
case "username":
LogHelper.Info(string.Format("IP{3}工号{0}在{1}查询用户名——{2}", Eid, DateTime.Now.ToString(), username, WX.CRM.Common.Utility.GetIp()));
break;
case "mobile":
LogHelper.Info(string.Format("IP{3}工号{0}在{1}查询手机号——{2}", Eid, DateTime.Now.ToString(), mobile, WX.CRM.Common.Utility.GetIp()));
break;
}
}
catch (Exception)
{
}
//if (!string.IsNullOrEmpty(resid))
//{
// RES_CUSTOMER res = _customerQ.getResCustomerByResId(resid);
// if (res == null)
// {
// msg = "不存在此用户"; relust = 0;
// }
//}
//else { msg = "请填写查询条件"; relust = 0; }
ViewBag.ResID = resid;
return Json(new { reslust = relust, message = msg, ResId = resid });
}
public string SeachByOlduserName(string username, ref int relust, ref string msg)
{
try
{
if (string.IsNullOrWhiteSpace(username))
{
msg = "请填写查询条件"; relust = 0;
return "";
}
List<RES_CUSTOMERUSER> list = new List<RES_CUSTOMERUSER>();
list = redisFactory.GetList_Rescustomeruser_Username(username);
if (list == null || list.Count() <= 0)
{
msg = "不存在此用户名"; relust = 0;
return "";
}
if (list != null && list.Count() == 1)
{
return list.FirstOrDefault().RESID;
}
else
{
msg = "存在多个客户ID";
List<string> strList = new List<string>();
list = list.OrderBy(m => m.PKID).ToList();
foreach (var model in list)
{
strList.Add(model.RESID + "-" + (model.PKID == 0 ? "注册" : "活动"));
}
return string.Join(";", strList);
}
}
catch (Exception ex)
{
LogHelper.Error("根据用户名查询:" + username + ":" + ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
public string SeachByOldId(string OldCustomerId, ref int relust, ref string msg)
{
//string resid = string.Empty;
List<string> list = new List<string>();
try
{
if (string.IsNullOrWhiteSpace(OldCustomerId))
{
msg = "请填写查询条件"; relust = 0;
return "";
}
//resid = csvr_idmap.GetResId(OldCustomerId);
//if (string.IsNullOrEmpty(resid))
//{
// msg = "找不到这个旧客户ID"; relust = 0;
// return "";
//}
list = csvr_idmap.GetResId(OldCustomerId);
if (list == null || list.Count <= 0)
{
msg = "找不到这个旧客户ID"; relust = 0;
return "";
}
if (list != null && list.Count == 1)
{
return list[0];
}
else
{
msg = "存在多个客户ID";
return string.Join(";", list);
}
//return resid;
}
catch (Exception ex)
{
LogHelper.Error(ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
public string SeachByResId(string resid, ref int relust, ref string msg)
{
try
{
if (string.IsNullOrWhiteSpace(resid))
{
msg = "请填写查询条件"; relust = 0;
return "";
}
else if (_customerQ.getResCustomerByResId(resid) == null)
{
var host = cacheQ.GetValue_Parameter(Parameter.Hg_Internal_WebApi);
var url = host + "/api/Customer/moblies";
var res = Utility.GetData(url, "resid=" + resid, Encoding.UTF8);
var result = JsonHelper.JsonDivertToObj<Common.StockHelper.ApiResult<List<CustomerMoblieDto>>>(res);
if (result.Code == 0)
{
CreateCustomerMoblie(resid, result.Data);
}
var model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL(resid);
if (model == null)
{
//url = cacheQ.GetValue_Parameter(Parameter.Core_ZxdService_HgList);
//var para = "page=1&limit=1&aiCallType=80";
//if (!string.IsNullOrEmpty(resid))
//{
// para += "&resId=" + resid;
//}
//var retmsg = Utility.PostData(url + "?" + para, Encoding.UTF8);
//var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsgOrderDto>(retmsg);
//var orders = retmessage.retmsg;
//foreach (var ord in orders)
//{
// #region 注册
// _customer.ResgisterCustomer(ord.mobile, ord.resid, "hgorder");
// #endregion 注册
//}
//model = customerdetailBiz_Q.GetModel_RES_CUSTOMERDETAIL(resid);
//if (model == null)
//{
// msg = "请填写正确的ResId"; relust = 0;
// return "";
//}
var mobile = cacheQ.GetPhone(resid);
var rid = ResUtil.CreateResId(mobile);
if (mobile != null) {
_customer.ResgisterCustomer(mobile, rid, "hgorder");
var newCustomer = _customerQ.getResCustomerByResId(rid);
newCustomer.CUSTOMERID = rid;
_customer.Update(ref errors, newCustomer);
}
}
}
//else if(redisFactory.GetInfo_Rescustomer(resid)==null)
//{
// msg = "请填写正确的ResId"; relust = 0;
// return "";
//}
return resid;
}
catch (Exception ex)
{
LogHelper.Error("根据resid查询客户" + resid + ";" + ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
private void CreateCustomerMoblie(string resid, List<CustomerMoblieDto> customers)
{
if (!customers.Any()) return;
foreach (var customer in customers)
{
string clientid = Utility.GetSettingByKey("CRMClientKey");
var mobile = sHelper.decyptData(clientid, customer.Mobile);
_customer.ResgisterCustomer(mobile, customer.Resid, "hglookup");
var newCustomer = _customerQ.getResCustomerByResId(customer.Resid);
newCustomer.CUSTOMERID = customer.CustomerId;
_customer.Update(ref errors, newCustomer);
}
}
public string SeachByMobile(string mobile, ref int relust, ref string msg)
{
try
{
if (string.IsNullOrWhiteSpace(mobile))
{
msg = "请填写查询条件"; relust = 0;
return "";
}
if (!Utility.ChekMobile(mobile) && !Utility.ValidateTelCode2(mobile))//判断是否为手机号码或者电话号码
{
msg = "请填写正确的号码"; relust = 0;
return "";
}
return ResUtil.CreateResId(mobile);
}
catch (Exception ex)
{
LogHelper.Error(ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
public string SeachByuserName(string username, ref int relust, ref string msg)
{
try
{
if (string.IsNullOrWhiteSpace(username))
{
msg = "请填写查询条件"; relust = 0;
return string.Empty;
}
var model = _wxRcontact.Get(p => p.USERNAME == username || p.ALIAS == username);
if (model == null)
{
msg = "不存在此用户名"; relust = 0;
return string.Empty;
}
return model.RESID;
}
catch (Exception ex)
{
LogHelper.Error("根据用户名查询:" + username + ":" + ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return string.Empty;
}
}
public string SeachByuserNo(string userNo, ref int relust, ref string msg)
{
try
{
if (string.IsNullOrWhiteSpace(userNo))
{
msg = "请填写用户号!"; relust = 0;
return "";
}
var model = _resCustomerdetail.Get(p => p.ZX_USERID == userNo);
if (model == null)
{
msg = "不存在此用户号"; relust = 0;
return string.Empty;
}
return model.RESID;
}
catch (Exception ex)
{
LogHelper.Error(ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
public string SeachByTradeCode(string tradeCode, ref int relust, ref string msg)
{
string resid = string.Empty;
try
{
if (string.IsNullOrWhiteSpace(tradeCode))
{
msg = "请填写查询条件"; relust = 0;
return "";
}
return resid;
}
catch (Exception ex)
{
LogHelper.Error("根据tradecode查询客户" + tradeCode + ":" + ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
public string SeachByCustomerName(string customerName, ref int relust, ref string msg)
{
try
{
if (string.IsNullOrWhiteSpace(customerName))
{
msg = "请填写查询条件"; relust = 0;
return "";
}
var list = customerdetailBiz_Q.GetList(p => p.CNAME.Contains(customerName));
if (list == null || list.Count() <= 0)
{
msg = "不存在此用户名"; relust = 0;
return "";
}
if (list != null && list.Count() == 1)
{
return list.FirstOrDefault().RESID;
}
else
{
msg = "存在多个客户ID";
List<string> strList = new List<string>();
foreach (var model in list)
{
strList.Add(model.RESID + "-" + model.CNAME);
}
return string.Join(";", strList);
}
}
catch (Exception ex)
{
LogHelper.Error("根据用户名查询:" + customerName + ":" + ex.Message + ex.StackTrace);
msg = "系统查询出错,请联系管理员"; relust = 0;
return "";
}
}
public string GetResId<T>(T model)
{
string resid = string.Empty;
if (model != null)
{
var tt = model.GetType().GetProperty("RESID").GetValue(model, null);
resid = tt.ToString();
}
return resid;
}
#region
[HttpGet]
public ActionResult getResIdsByCustomerIds()
{
return View();
}
// [HttpPost]
public string getCustomerIdsAndResIds()
{
HttpContext.Response.ContentType = "text/html;characset=utf-8";
// Response.ContentType = "text/html;characset=utf-8";
bool result = false;
string msg = "未找到客户ID";
string type = "";
string resids = "";
string path = "";
List<string> mbs = new List<string>();
string t = string.Format("{0}", Request.Form["FileType"]);
string selecttype = string.Format("{0}", Request.Form["TrunType"]);
if (t == "批量转换")
{
string customerids = string.Format("{0}", Request.Form["txtoldId"]);
type = "批量";
if (!string.IsNullOrWhiteSpace(customerids))
{
string[] _ids = customerids.Replace("\r\n", ",").Replace("\r", ",").Replace("\n", ",").Split(',');
if (selecttype == "1" || selecttype == "2")
{
List<temp_customerturn> customerturn = new List<temp_customerturn>();
foreach (var model in _ids)
{
temp_customerturn temp = new temp_customerturn();
temp.CUSTOMERID = model.Trim();
customerturn.Add(temp);
}
if (customerturn.Count > 0)
{
DataTable tb = Utility.ToOracleDataTable<temp_customerturn>(customerturn);
List<CSVR_IDMAP> idmaps = csvr_idmap.GetResIdList(tb, selecttype);
if (idmaps != null && idmaps.Count > 0)
{
foreach (var model in idmaps)
{
if (selecttype == "1")
{
resids += model.RESID + "\r\n";
}
else
{
resids += model.CUSTOMERID + "\r\n";
}
}
}
}
}
else if (selecttype == "6")
{
foreach (var id in _ids)
{
var resid = ResUtil.CreateResId(id);
resids += resid.Trim() + "\r\n";
}
}
else
{
List<temp_resimportid> resimportid = new List<temp_resimportid>();
string importId = DateTime.Now.ToString("yyyyMMddHHmmss");
foreach (var model in _ids)
{
temp_resimportid temp = new temp_resimportid();
temp.IMPORTID = Convert.ToDecimal(importId);
temp.IMPORTDATA = model.Trim();
resimportid.Add(temp);
}
DataTable tb = Utility.ToOracleDataTable<temp_resimportid>(resimportid);
List<string> list = _customerQ.ResIDNoOutboundFilter(ref errors, tb, importId, DateTime.Now, DateTime.Now, selecttype.GetDecimal(0), "", "");
if (list != null && list.Count > 0)
{
foreach (var model in list)
{
resids += model + "\r\n";
}
}
}
if (string.IsNullOrEmpty(resids)) { result = false; msg = "数据为空"; }
else
{
result = true;
msg = "";
}
}
// return Json(new { result = result, type = type, message = msg, ResIds = resids }, JsonRequestBehavior.AllowGet);
}
else if (t == "文件上传导入")
{
type = "文件";
// mbs = GetByTxtFile();
path = GetByTxtFile();
if (path != null)
{
result = true;
msg = "";
}
// return Json(new { result = result, type = type, path = path, selecttype = selecttype, message = msg }, JsonRequestBehavior.AllowGet);
}
Getresult getresult = new Getresult();
getresult.result = result;
getresult.type = type;
getresult.ResIds = resids;
getresult.path = path;
getresult.selecttype = selecttype;
getresult.message = msg;
string json = JsonHelper.ObjDivertToJson(getresult);
return json;
}
private string GetByTxtFile()
{
string vPath = System.Configuration.ConfigurationManager.AppSettings["UploadTemFileDic"];
List<string> lis = new List<string>();
HttpFileCollectionBase files = Request.Files;
HttpPostedFileBase file = files["FileMobile"];
string fileName = "";
if (file != null && file.ContentLength > 0)
{
fileName = file.FileName;
//判断文件名字是否包含路径名,如果有则提取文件名
if (fileName.LastIndexOf("\\") > -1)
{
fileName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
}
if (fileName.ToLower().IndexOf(".txt") > -1)
{
if (!System.IO.Directory.Exists(Server.MapPath(vPath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(vPath));
}
string path = Server.MapPath((vPath + "/") + fileName);
file.SaveAs(path);
// System.IO.File.Delete(path);
}
else
{
throw new Exception("文件格式不正确!");
}
}
else
{
throw new Exception("文件不存在!");
}
return fileName;
}
public FileResult CustomerIdOrResId(string path, string selecttype)
{
HttpContext.Response.ContentType = "text/html;characset=utf-8";
string vPath = System.Configuration.ConfigurationManager.AppSettings["UploadTemFileDic"];
if (path.LastIndexOf("\\") > -1)
{
path = path.Substring(path.LastIndexOf("\\") + 1);
}
if (path.ToLower().IndexOf(".txt") > -1)
{
if (!System.IO.Directory.Exists(Server.MapPath(vPath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(vPath));
}
path = Server.MapPath((vPath + "/") + path);
}
List<string> lis = new List<string>();
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
while (!sr.EndOfStream)
{
string number = sr.ReadLine();
lis.Add(number);
}
sr.Close();
fs.Close();
System.IO.File.Delete(path);
if (selecttype == "1" || selecttype == "2")
{
List<temp_customerturn> customerturn = new List<temp_customerturn>();
List<temp_customerturn> customerturn2 = new List<temp_customerturn>();
foreach (var model in lis)
{
temp_customerturn temp = new temp_customerturn();
temp.CUSTOMERID = model;
customerturn.Add(temp);
}
if (customerturn.Count > 0)
{
DataTable tb = Utility.ToOracleDataTable<temp_customerturn>(customerturn);
List<CSVR_IDMAP> idmaps = csvr_idmap.GetResIdList(tb, selecttype);
if (idmaps != null && idmaps.Count > 0)
{
foreach (var model in idmaps)
{
temp_customerturn turn = new temp_customerturn();
if (selecttype == "1")
{
turn.CUSTOMERID = model.RESID;
}
else
{
turn.CUSTOMERID = model.CUSTOMERID;
}
customerturn2.Add(turn);
}
}
}
return File(ExcelHelper.ExportListModelToExcel<temp_customerturn>(customerturn2, "Id转换", 60000, null), "application/ms-excel", PageRequest.GetDlownLoadName("Id转换.xls"));
}
else if (selecttype == "6")
{
//手机号码批量生成resid
//ResUtil.CreateResId
var list = new List<string>();
foreach (var model in lis)
{
try
{
var resid = ResUtil.CreateResId(model);
list.Add(resid);
}
catch (Exception ex)
{
LogHelper.Info("错误的号码:" + model);
}
}
return File(ExcelHelper.ExportListObjectToExcel<string>(list, "结果", "数据转换", null), "application/ms-excel", PageRequest.GetDlownLoadName("数据转换.xls"));
}
else
{
List<temp_resimportid> resimportid = new List<temp_resimportid>();
string importId = DateTime.Now.ToString("yyyyMMddHHmmss");
foreach (var model in lis)
{
temp_resimportid temp = new temp_resimportid();
temp.IMPORTID = Convert.ToDecimal(importId);
temp.IMPORTDATA = model.Trim();
resimportid.Add(temp);
}
DataTable tb = Utility.ToOracleDataTable<temp_resimportid>(resimportid);
List<string> list = _customerQ.ResIDNoOutboundFilter(ref errors, tb, importId, DateTime.Now, DateTime.Now, selecttype.GetDecimal(0), "", "");
return File(ExcelHelper.ExportListObjectToExcel<string>(list, "结果", "数据转换", null), "application/ms-excel", PageRequest.GetDlownLoadName("数据转换.xls"));
}
}
public class temp_customerturn
{
public string CUSTOMERID { get; set; }
}
public class temp_resimportid
{
public decimal IMPORTID { get; set; }
public string IMPORTDATA { get; set; }
}
public class Getresult
{
public bool result { get; set; }
public string type { get; set; }
public string message { get; set; }
public string ResIds { get; set; }
public string path { get; set; }
public string selecttype { get; set; }
}
#endregion
}
public class retMsgOrderDto
{
public bool result { get; set; }
public int retcode { get; set; }
public List<OrderDto> retmsg { get; set; }
}
public class OrderDto
{
public string resid { get; set; }
public string cname { get; set; }
public decimal? inneruserid { get; set; }
public string uname { get; set; }
public decimal subproductid { get; set; }
public string subproductname { get; set; }
public decimal? needpay { get; set; }
public decimal? finalpay { get; set; }
public decimal? arrivalpay { get; set; }
public string arrivaltime { get; set; }
public decimal orderid { get; set; }
public decimal? ordertype { get; set; }
public string orderstatusname { get; set; }
public string ctime { get; set; }
public string otime { get; set; }
public string source { get; set; }
public string softusername { get; set; }
public decimal opendays { get; set; }
public decimal? giftdays { get; set; }
public string contractcode { get; set; }
public int riskctrlstatus { get; set; }
public int? hashgrecord { get; set; }
public string szzyorderid { get; set; }
public string companycode { get; set; }
public string mobile { get; set; }
public string rejectremark { get; set; }
public int channel { get; set; }
public string companyName { get; set; }
public decimal price { get; set; }
public decimal productLevel { get; set; }
public decimal productInvestTime { get; set; }
public decimal productInvestType { get; set; }
public long? CpConfirmOrderId { get; set; }
public decimal? Ret { get; set; }
public string ai_hgrecord_time { get; set; }
public int? ai_hgrecord_status { get; set; } = -1;
/// <summary>
/// 外呼状态
/// </summary>
public string ai_hgrecord_statusname { get; set; }
public int hasaiaudio { get; set; }
public int hasbtn { get; set; }
}
}