451 lines
16 KiB
C#
451 lines
16 KiB
C#
using Core.Web.App_Start;
|
||
using Core.Web.WebHelper;
|
||
using CRM.Core.BLL.Base;
|
||
using CRM.Core.BLL.Hg;
|
||
using CRM.Core.BLL.Util;
|
||
using CRM.Core.Common.Layui;
|
||
using CRM.Core.DTO;
|
||
using CRM.Core.Model.Entity;
|
||
using CRM.Core.Model.Enum;
|
||
using CRM.Core.Model.Map;
|
||
using CRM.Core.Model.QueryModels;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Configuration;
|
||
using System.Linq;
|
||
using System.Web;
|
||
using System.Web.Mvc;
|
||
using WX.CRM.Common;
|
||
|
||
namespace Core.Web.Controllers
|
||
{
|
||
/// <summary>
|
||
/// 合规管理
|
||
/// </summary>
|
||
public class HGManagerController : BaseController
|
||
{
|
||
CACHE_BL cache_BL = new CACHE_BL();
|
||
Hg_Message_BL hg_bll = new Hg_Message_BL();
|
||
ValidationErrors erros = new ValidationErrors();
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_合规报表, ToolBarConfig.CONST_NotButton, true)]
|
||
[HttpGet]
|
||
// GET: HGManager
|
||
public ActionResult Report()
|
||
{
|
||
ViewBag.companyList = cache_BL.GetCompanyVirtual();
|
||
return View();
|
||
}
|
||
|
||
#region 微信合规
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_NotButton, true)]
|
||
public ActionResult Wx()
|
||
{
|
||
ViewBag.rightCode = RightsConfig.CONST_微信聊天记录;
|
||
ViewBag.companyList = cache_BL.GetCompanyVirtual();
|
||
return View();
|
||
}
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_NotButton, false)]
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 微信
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public JsonResult WxList(Laypage pager, Hg_Wx_Message_Query param)
|
||
{
|
||
var list = hg_bll.GetWxList(ref pager, param);
|
||
foreach (var item in list)
|
||
{
|
||
if (item.msgtype == 34)
|
||
{
|
||
var host = ConfigurationManager.AppSettings["WxMessage_" + item.detpcode].ToString();
|
||
item.voiceUrl = host + "/WxMessageSvr.svc/WxAudio/Get?url=" + item.voiceUrl;
|
||
}
|
||
}
|
||
var data = new LayuiData<Hg_Wx_Message>()
|
||
{
|
||
msg = "数据加载成功!",
|
||
count = pager.count,
|
||
code = 0,
|
||
data = list
|
||
};
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_Other1, false)]
|
||
public JsonResult ReadComplete(int[] ids)
|
||
{
|
||
try
|
||
{
|
||
hg_bll.ReadWxComplete(ids, ref erros);
|
||
if (erros.Count() > 0)
|
||
{
|
||
return Json(new retMsg { result = false, retcode = -1, retmsg = erros.Error }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
return Json(new retMsg { result = false, retcode = 0, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 添加违规信息
|
||
/// </summary>
|
||
/// <param name="ids"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_Other2, true)]
|
||
public ActionResult WxHg(string ids)
|
||
{
|
||
ViewBag.MsgType = "wx";
|
||
return HG(ids);//调用公共合规界面
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 企业微信
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_企微聊天记录, ToolBarConfig.CONST_NotButton, true)]
|
||
[HttpGet]
|
||
/// <summary>
|
||
/// 企业微信
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public ActionResult QW()
|
||
{
|
||
ViewBag.rightCode = RightsConfig.CONST_企微聊天记录;
|
||
ViewBag.companyList = cache_BL.GetCompanyVirtual();
|
||
return View();
|
||
}
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_企微聊天记录, ToolBarConfig.CONST_NotButton, false)]
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 微信
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public JsonResult QWList(Laypage pager, Hg_Qw_Message_Query param)
|
||
{
|
||
var list = hg_bll.GetQWList(ref pager, param, ref erros);
|
||
foreach (var item in list)
|
||
{
|
||
if (item.msgtype == "phone")
|
||
{
|
||
var host = ConfigurationManager.AppSettings["QxMessageFile_" + item.detpcode].ToString();
|
||
item.voiceUrl = host + $"/playamr?corpid={item.corpid}&fname={item.nfile}";
|
||
}
|
||
else
|
||
{
|
||
var host = ConfigurationManager.AppSettings["QxMessage_" + item.detpcode].ToString();
|
||
|
||
DateTime now = DateTime.Now;
|
||
DateTime etime = DateTime.Now;
|
||
if (item.ctime.AddDays(15) > now)
|
||
{
|
||
etime = now;
|
||
}
|
||
else
|
||
{
|
||
etime = item.ctime.AddDays(15);
|
||
}
|
||
var obj = new
|
||
{
|
||
NeedLocaltion = 1,
|
||
msgid = item.msgid,
|
||
stime = item.ctime.AddDays(-15).ToString("yyyy-MM-dd"),
|
||
etime = etime.ToString("yyyy-MM-dd")
|
||
};
|
||
item.httpurl = host + $"/Admin/OutHHuser/MessageDetial?locationJson={HttpUtility.UrlEncode(Newtonsoft.Json.JsonConvert.SerializeObject(obj))}&isgroup=false&corp={item.corpid}&nickname={HttpUtility.UrlEncode(item.cusname)}&customer={item.tolist}&uname={HttpUtility.UrlEncode(item.kehuname)}&userid={item.fromer}&IsHg=True";
|
||
}
|
||
|
||
}
|
||
var data = new LayuiData<Hg_Qw_Message>()
|
||
{
|
||
msg = "数据加载成功!",
|
||
count = pager.count,
|
||
code = 0,
|
||
data = list
|
||
};
|
||
if (erros.Count > 0)
|
||
{
|
||
data.msg = erros.Error;
|
||
data.code = 1;
|
||
}
|
||
//foreach (var item in list)
|
||
//{
|
||
// if (item.msgtype == 34)
|
||
// {
|
||
// var host = ConfigurationManager.AppSettings["WxMessage_" + item.detpcode].ToString();
|
||
// item.voiceUrl = host + "/WxMessageSvr.svc/WxAudio/Get?url=" + item.voiceUrl;
|
||
// }
|
||
//}
|
||
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_Other1, false)]
|
||
public JsonResult QWReadComplete(int[] ids)
|
||
{
|
||
try
|
||
{
|
||
hg_bll.ReadQWComplete(ids, ref erros);
|
||
if (erros.Count() > 0)
|
||
{
|
||
return Json(new retMsg { result = false, retcode = -1, retmsg = erros.Error }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
return Json(new retMsg { result = false, retcode = 0, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 添加违规信息
|
||
/// </summary>
|
||
/// <param name="ids"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_Other2, true)]
|
||
public ActionResult QWHg(string ids)
|
||
{
|
||
ViewBag.MsgType = "qw";
|
||
return HG(ids);//调用公共合规界面
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 电话录音合规
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_录音记录, ToolBarConfig.CONST_NotButton, true)]
|
||
[HttpGet]
|
||
/// <summary>
|
||
/// 电话录音
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public ActionResult ReCord()
|
||
{
|
||
ViewBag.rightCode = RightsConfig.CONST_录音记录;
|
||
ViewBag.companyList = cache_BL.GetCompanyVirtual();
|
||
return View();
|
||
}
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_企微聊天记录, ToolBarConfig.CONST_NotButton, false)]
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 微信
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public JsonResult ReCordList(Laypage pager, Hg_ReCord_Query param)
|
||
{
|
||
var list = hg_bll.GetRecordList(ref pager, param, ref erros);
|
||
foreach (var item in list)
|
||
{
|
||
if (item.voiceurl.IndexOf("http") > -1)
|
||
{
|
||
continue;
|
||
}
|
||
var host = ConfigurationManager.AppSettings["video_" + item.detpcode].ToString();
|
||
item.voiceurl = host + item.voiceurl;//组合数据
|
||
}
|
||
var data = new LayuiData<Hg_Record_Message>()
|
||
{
|
||
msg = "数据加载成功!",
|
||
count = pager.count,
|
||
code = 0,
|
||
data = list
|
||
};
|
||
|
||
if (erros.Count > 0)
|
||
{
|
||
data.msg = erros.Error;
|
||
data.code = 1;
|
||
}
|
||
//foreach (var item in list)
|
||
//{
|
||
// if (item.msgtype == 34)
|
||
// {
|
||
// var host = ConfigurationManager.AppSettings["WxMessage_" + item.detpcode].ToString();
|
||
// item.voiceUrl = host + "/WxMessageSvr.svc/WxAudio/Get?url=" + item.voiceUrl;
|
||
// }
|
||
//}
|
||
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_Other1, false)]
|
||
public JsonResult ReCordReadComplete(int[] ids)
|
||
{
|
||
try
|
||
{
|
||
hg_bll.ReadRecordComplete(ids, ref erros);
|
||
if (erros.Count() > 0)
|
||
{
|
||
return Json(new retMsg { result = false, retcode = -1, retmsg = erros.Error }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
return Json(new retMsg { result = false, retcode = 0, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 添加违规信息
|
||
/// </summary>
|
||
/// <param name="ids"></param>
|
||
/// <returns></returns>
|
||
[AuthorizeRedirect(RightsConfig.CONST_微信聊天记录, ToolBarConfig.CONST_Other2, true)]
|
||
public ActionResult ReCordHg(string ids)
|
||
{
|
||
ViewBag.MsgType = "record";
|
||
return HG(ids);//调用公共合规界面
|
||
|
||
}
|
||
#endregion
|
||
|
||
BAS_PARAMETER_BL paramter_bl = new BAS_PARAMETER_BL();
|
||
|
||
|
||
|
||
#region 标记合规,公共界面
|
||
|
||
[HttpGet]
|
||
/// <summary>
|
||
/// 合规标记
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public ActionResult HG(string ids)
|
||
{
|
||
ViewBag.ids = ids;
|
||
var hglevel = paramter_bl.GetValue_Parameter(Parameter.HG_Level);//封装出来的接口
|
||
List<Hg_Type> typelist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Hg_Type>>(hglevel);
|
||
ViewBag.HgType = typelist;
|
||
return View("HG");
|
||
}
|
||
|
||
public JsonResult HGSave(string ids, string hgdetail, string hgresult, string hgtype, string hgsubtype, string msgtype)
|
||
{
|
||
try
|
||
{
|
||
bool result = false;
|
||
if (msgtype == "wx")
|
||
result = hg_bll.WxViolationAdd(ids, hgdetail, hgresult, hgtype, hgsubtype, ref erros);
|
||
else if (msgtype == "qw")
|
||
result = hg_bll.QWViolationAdd(ids, hgdetail, hgresult, hgtype, hgsubtype, ref erros);
|
||
else if (msgtype == "record")
|
||
result = hg_bll.RecordViolationAdd(ids, hgdetail, hgresult, hgtype, hgsubtype, ref erros);
|
||
|
||
if (erros.Count() > 0)
|
||
{
|
||
return Json(new retMsg { result = false, retcode = -1, retmsg = erros.Error }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
return Json(new retMsg { result = false, retcode = 0, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
|
||
#region 违规列表
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_标记违规记录, ToolBarConfig.CONST_NotButton, true)]
|
||
[HttpGet]
|
||
/// <summary>
|
||
/// 电话录音
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public ActionResult HgMsg()
|
||
{
|
||
ViewBag.rightCode = RightsConfig.CONST_标记违规记录;
|
||
ViewBag.companyList = cache_BL.GetCompanyVirtual();
|
||
|
||
var hglevel = paramter_bl.GetValue_Parameter(Parameter.HG_Level);//封装出来的接口
|
||
List<Hg_Type> typelist = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Hg_Type>>(hglevel);
|
||
ViewBag.HgType = typelist;
|
||
return View();
|
||
}
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_标记违规记录, ToolBarConfig.CONST_NotButton, false)]
|
||
[HttpPost]
|
||
/// <summary>
|
||
/// 微信
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public JsonResult HgList(Laypage pager, Hg_Violation_Query param)
|
||
{
|
||
var list = hg_bll.GetViolationList(ref pager, param, ref erros);
|
||
foreach (var item in list)
|
||
{
|
||
if (item.msgtype == "语音" && item.type == "WX")
|
||
{
|
||
var host = ConfigurationManager.AppSettings["WxMessage_" + item.detpcode].ToString();
|
||
item.voiceUrl = host + "/WxMessageSvr.svc/WxAudio/Get?url=" + item.voiceUrl;
|
||
}
|
||
if (item.msgtype == "电话录音")
|
||
{
|
||
if (item.voiceUrl.IndexOf("http") > -1)
|
||
{
|
||
continue;
|
||
}
|
||
var host = ConfigurationManager.AppSettings["video_" + item.detpcode].ToString();
|
||
item.voiceUrl = host + item.voiceUrl;//组合数据
|
||
}
|
||
if (item.msgtype == "企微通话")
|
||
{
|
||
var host = ConfigurationManager.AppSettings["QxMessage_" + item.detpcode].ToString();
|
||
item.voiceUrl = host + $"/playamr?corpid={item.corpid}&fname={item.voiceUrl}";
|
||
}
|
||
|
||
}
|
||
var data = new LayuiData<Hg_Violation>()
|
||
{
|
||
msg = "数据加载成功!",
|
||
count = pager.count,
|
||
code = 0,
|
||
data = list
|
||
};
|
||
if (erros.Count > 0)
|
||
{
|
||
data.msg = erros.Error;
|
||
data.code = 1;
|
||
}
|
||
return Json(data, JsonRequestBehavior.AllowGet);
|
||
}
|
||
|
||
[AuthorizeRedirect(RightsConfig.CONST_标记违规记录, ToolBarConfig.CONST_Delete, false)]
|
||
public JsonResult HgDelete(int id)
|
||
{
|
||
try
|
||
{
|
||
hg_bll.ViolationDelete(id, ref erros);
|
||
if (erros.Count() > 0)
|
||
{
|
||
return Json(new retMsg { result = false, retcode = -1, retmsg = erros.Error }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
return Json(new retMsg { result = true }, JsonRequestBehavior.AllowGet);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.Error(ex.ToString());
|
||
return Json(new retMsg { result = false, retcode = 0, retmsg = ex.ToString() }, JsonRequestBehavior.AllowGet);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
} |