ComplianceServer/oldcode/Core.Web/Controllers/HGManagerController.cs

451 lines
16 KiB
C#
Raw 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 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
}
}