Mini.Crm/Mini.Web/Areas/Admin/Controllers/HHuserController.cs

878 lines
37 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 System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.StaticFiles;
using Mini.Common;
using Mini.Model.CrmModel;
using Mini.Model.Entity;
using Mini.Model.Enum;
using Mini.Model.Map;
using Mini.Model.ViewModel;
using Mini.Services.Bas;
using Mini.Services.ww;
using Mini.Web.ThreadClass;
using Mini.Web.WebHelper;
using Newtonsoft.Json;
namespace Mini.Web.Areas.Admin.Controllers
{
public class HHuserController : BaseController
{
private readonly Iww_hhuser_Service _iww_hhuser_service;
private readonly IBasParameterService _bas_parameter;
private readonly IBasConfigService _config;
public HHuserController(Iww_hhuser_Service iww_hhuser_service, IBasParameterService bas_parameter, IBasConfigService config)
{
this._iww_hhuser_service = iww_hhuser_service;
this._bas_parameter = bas_parameter;
this._config = config;
}
#region
[AuthorizeRedirect(Roles = InitRights.CONST_企业微信监控)]
[Area("Admin")]
public ActionResult Index()
{
//ToolBar
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other1", "聊天记录", "", "", true);
tool.AddOtherButton("Other2", "外部联系人", "", "", true);
tool.AddOtherButton("Other3", "查找客户", "", "", true);
tool.AddOtherButton("Other4", "群管理", "", "", true);
tool.AddOtherButton("Other5", "备注姓名", "", "", true);
ViewBag.ToolBar = tool;
List<Ww_Corp> list = _iww_hhuser_service.Corp_Get();
List<SelectListItem> selectlist = new List<SelectListItem>();
selectlist.Add(new SelectListItem() { Value = "", Text = "请选择" });
foreach (Ww_Corp item in list)
{
selectlist.Add(new SelectListItem() { Text = item.corpname, Value = item.corpid });
}
ViewBag.Select = selectlist;
return View();
}
[HttpPost]
[Area("Admin")]
[AuthorizeRedirect(Roles = InitRights.CONST_企业微信监控)]
public JsonResult GetWeWorktHtmlList(Laypage pager, string name, string corp, string columns)
{
var layUidata = new LayuiData<Ww_hhuserModel>();
try
{
List<Ww_hhuserModel> list = _iww_hhuser_service.WorList_Get(ref pager, name, corp, "");
layUidata.msg = "数据加载成功";
layUidata.code = 0;
layUidata.data = list;
layUidata.count = pager.count;
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
layUidata.SetFail(1, "出现错误!" + ex.Message);
}
return Json(layUidata);
}
#endregion
#region
[AuthorizeRedirect(Roles = InitRights.CONST_企微通话查询)]
[Area("Admin")]
public ActionResult Record()
{
//ToolBar
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
ViewBag.ToolBar = tool;
List<Ww_Corp> list = _iww_hhuser_service.Corp_Get();
List<SelectListItem> selectlist = new List<SelectListItem>();
selectlist.Add(new SelectListItem() { Value = "", Text = "请选择" });
foreach (Ww_Corp item in list)
{
selectlist.Add(new SelectListItem() { Text = item.corpname, Value = item.corpid });
}
ViewBag.Select = selectlist;
return View();
}
[HttpPost]
[Area("Admin")]
[AuthorizeRedirect(Roles = InitRights.CONST_企微通话查询)]
public JsonResult GetRecordHtmlList(Laypage pager, string corpid, DateTime? stime, DateTime? etime, string customername, string kefuname)
{
var layUidata = new LayuiData<Ww_RecordModel>();
try
{
List<Ww_RecordModel> list = _iww_hhuser_service.RecordList_Get(ref pager, corpid, stime, etime, customername, kefuname);
foreach (Ww_RecordModel item in list)
{
item.customername = ManagerPhoneHelper.FormatPhoneUserName(item.customername);
}
layUidata.msg = "数据加载成功";
layUidata.code = 0;
layUidata.data = list;
layUidata.count = pager.count;
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
layUidata.SetFail(1, "出现错误!" + ex.Message);
}
return Json(layUidata);
}
#endregion
#region
[AuthorizeRedirect(Roles = InitRights.CONST_群管理)]
[Area("Admin")]
public ActionResult Group(string corp)
{
ToolBar tool = new ToolBar();
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights., userRightId);
tool.AllowButton(toolbtn);
tool.AddOtherButton("Other1", "设置群名称", "", "", true);
tool.AddOtherButton("Other2", "聊天记录", "", "", true);
ViewBag.ToolBar = tool;
ViewBag.corp = corp;
return View();
}
[HttpPost]
[Area("Admin")]
[AuthorizeRedirect(Roles = InitRights.CONST_群管理)]
public JsonResult GetGroupList(Laypage pager, string corp, string name)
{
var layUidata = new LayuiData<Ww_MsgRoom>();
try
{
name = name != null ? name.Trim() : name;
List<Ww_MsgRoom> list = _iww_hhuser_service.GetRoom(ref pager, corp, name);
layUidata.msg = "数据加载成功";
layUidata.code = 0;
layUidata.count = pager.count;
layUidata.data = list;
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
layUidata.SetFail(1, "出现错误!" + ex.Message);
}
return Json(layUidata);
}
[HttpGet]
[Area("Admin")]
[AuthorizeToolBar(InitRights.CONST_群管理, InitToolBar.CONST_Other1)]
public ActionResult RoomEdit(string corp, string roomid, string type, string weixincrmaccount)
{
Ww_MsgRoom model = new Ww_MsgRoom();
if (string.IsNullOrEmpty(roomid) || string.IsNullOrEmpty(corp))
{
ViewBag.isOK = "0";
ViewBag.Msg = "参数不对!";
}
else
{
model = _iww_hhuser_service.GetRoom(corp, roomid);
model.corp = corp;
}
ViewBag.type = type;
ViewBag.weixincrmaccount = weixincrmaccount;
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_群管理, InitToolBar.CONST_Other1)]
[Area("Admin")]
public JsonResult RoomEditSave(Ww_MsgRoom model)
{
bool result = _iww_hhuser_service.UpdateRomeName(model.corp, model.roomid, model.roomname);
retMsg ret = new retMsg() { result = result, retcode = 200, retmsg = "设置成功!" };
if (!result)
{
ret.retmsg = "设置失败!";
}
return Json(ret);
}
[Area("Admin")]
[AuthorizeToolBar(InitRights.CONST_群管理, InitToolBar.CONST_Other1)]
public ActionResult GroupRoom(string type, string roomid, string corp, string weixincrmaccount, string isHg)
{
Ww_MsgRoom model = new Ww_MsgRoom()
{
corp = corp,
roomid = roomid,
userlist = ""
};
string isOldLevel = _config.GetConfig(BasConfigEnums.IsOutAndInnerGroupLevel);//获取配置信息
if (isOldLevel == "0")//老版本
{
model = _iww_hhuser_service.GetRoom(corp, roomid);
}
else
{//新版本
if (type == "inner")
{
Ww_RoomChat cha = _iww_hhuser_service.GetRoomChat(corp, roomid);//内部群
model.ctime = cha.ctime;
model.membernum = cha.membernum;
model.ctimestr = cha.ctime.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!string.IsNullOrEmpty(cha.members))
{
List<Ww_Roomchat_Member> member = JsonConvert.DeserializeObject<List<Ww_Roomchat_Member>>(cha.members);
model.userlist = string.Join(",", member.Select(m => m.memberid));
}
}
else
{
Ww_GroupChat cha = _iww_hhuser_service.GetWw_GroupChat(corp, roomid);//外部群
if (cha == null)//如果type为空找不到外部群就去内部群查找
{
Ww_RoomChat cha2 = _iww_hhuser_service.GetRoomChat(corp, roomid);//内部群
if (cha2 != null)
{
model.ctime = cha2.ctime;
model.membernum = cha2.membernum;
model.ctimestr = cha2.ctime.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!string.IsNullOrEmpty(cha2.members))
{
List<Ww_Roomchat_Member> member = JsonConvert.DeserializeObject<List<Ww_Roomchat_Member>>(cha2.members);
model.userlist = string.Join(",", member.Select(m => m.memberid));
}
}
else
{
model = _iww_hhuser_service.GetRoom(corp, roomid);
}
}
else
{
model.ctime = cha.ctime;
model.membernum = cha.membernum;
model.ctimestr = cha.ctime.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!string.IsNullOrEmpty(cha.member_list))
{
List<Ww_Groupchat_Member> member = JsonConvert.DeserializeObject<List<Ww_Groupchat_Member>>(cha.member_list);
model.userlist = string.Join(",", member.Select(m => m.userid));
}
}
}
}
ViewBag.isHg = isHg;
ViewBag.corp = corp;
ViewBag.roomid = roomid;
ViewBag.roomInfo = model;
List<GroupUser> info = _iww_hhuser_service.GetGroupUser(corp, model);
ViewBag.groupuser = info;
ViewBag.type = type;
ViewBag.weixincrmaccount = weixincrmaccount;
return View();
}
#endregion
[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other3)]
[Area("Admin")]
public ActionResult Find()
{
//ToolBar
//string tableId = "tablist";
//Table tab = new Table(tableId);
//tab.AddHeadCol("corpname", "", "企业号");
//tab.AddHeadCol("userid", "", "客服ID");
//tab.AddHeadCol("uname", "", "客服名称");
//tab.AddHeadCol("name", "", "客户名称");
//tab.AddHeadCol("remark", "", "客户备注");
//tab.AddHeadCol("createtime", "", "时间");
//tab.AddHeadCol("remarkphone", "", "备注号码");
//tab.AddHeadRow();
//ViewBag.gridTable = tab.GetHead(); //+ Pagination.GetPage(pager, tableId, "5,10,15,20");
return View();
}
[HttpPost]
[Area("Admin")]
[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other3)]
public JsonResult GetFindHtmlList(Laypage pager, string name, string columns)
{
//Table table = new Table(columns, true);
//if (string.IsNullOrWhiteSpace(name))
//{
// table.AddCol("7", "请输入查询条件!");
// table.AddRow();
//}
//else
//{
// List<Ww_FindUser_Model> list = _iww_hhuser_service.Find_User(name);
// if (list.Count > 0)
// {
// foreach (var model in list)
// {
// table.AddCol(model.corpname);
// table.AddCol(model.userid);
// table.AddCol(model.uname);
// table.AddCol(model.name);
// string exinfo = model.exinfo;
// if (!string.IsNullOrEmpty(exinfo) && exinfo.Trim() != "-")
// {
// ww_exinfo info = Newtonsoft.Json.JsonConvert.DeserializeObject<ww_exinfo>(exinfo);
// follow follow = info.follow_user.FirstOrDefault(m => m.userid == model.userid);
// if (follow != null)
// {
// table.AddCol(follow.remark);
// table.AddCol(Utility.ToUnityString(DateTimeTool.GetTimeFromLinuxShortTime(follow.createtime.Value), 2));
// table.AddCol(follow.remark_mobiles);
// }
// else
// {
// table.AddCol("");
// table.AddCol(model.ctime);
// table.AddCol("");
// }
// }
// table.AddRow();
// }
// }
// else
// {
// table.AddCol("7", "无数据!");
// table.AddRow();
// }
//}
//var json = new
//{
// rowsList = table.GetRows()
//};
//return Json(json, new JsonSerializerSettings() { DateFormatString = "yyyy-MM-dd HH:mm:ss" });
var layUidata = new LayuiData<Ww_FindUserShow>() { code = 0, msg = "数据加载成功" };
try
{
List<Ww_FindUserShow> showlist = new List<Ww_FindUserShow>();
if (string.IsNullOrWhiteSpace(name))
{
layUidata.msg = "请输入查询条件!";
layUidata.code = 1;
}
else
{
List<Ww_FindUser_Model> list = _iww_hhuser_service.Find_User(ref pager, name,"", "");
if (list.Count > 0)
{
foreach (var model in list)
{
Ww_FindUserShow show = new Ww_FindUserShow();
show.corpid = model.corpid;
show.corpname = model.corpname;
show.userid = model.userid;
show.uname = model.uname;
show.name = ManagerPhoneHelper.FormatPhoneUserName(model.name);
string exinfo = model.exinfo;
if (!string.IsNullOrEmpty(exinfo) && exinfo.Trim() != "-")
{
ww_exinfo info = Newtonsoft.Json.JsonConvert.DeserializeObject<ww_exinfo>(exinfo);
follow follow = info.follow_user.FirstOrDefault(m => m.userid == model.userid);
if (follow != null)
{
show.remark = ManagerPhoneHelper.FormatPhoneUserName(follow.remark);
show.createtime = Utility.ToUnityString(DateTimeTool.GetTimeFromLinuxShortTime(follow.createtime.Value), 2);
show.remark_mobiles = ManagerPhoneHelper.FormatPhoneUserName(string.Format("{0}", follow.remark_mobiles));
}
else
{
//show.remark_mobiles = ManagerPhoneHelper.FormatPhoneUserName(Utility.ToUnityString(model.ctime, 2));
}
}
showlist.Add(show);
}
}
else
{
layUidata.msg = "无数据!";
layUidata.code = 1;
}
}
layUidata.data = showlist;
layUidata.count = pager.count;
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
layUidata.SetFail(1, "出现错误!" + ex.Message);
}
return Json(layUidata);
}
[Area("Admin")]
//[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other2)]
public ActionResult Outer(string userid, string corp)
{
//string tableId = "tablist";
//Table tab = new Table(tableId);
//tab.AddHeadCol("userid", "20%", "ID");
//tab.AddHeadCol("name", "20%", "名称");
//tab.AddHeadCol("remark", "20%", "备注");
//tab.AddHeadCol("createtime", "20%", "时间");
//tab.AddHeadCol("remarkphone", "", "备注号码");
//tab.AddHeadRow();
//ViewBag.gridTable = tab.GetHead(); //+ Pagination.GetPage(pager, tableId, "5,10,15,20");
ViewBag.userid = userid;
ViewBag.corp = corp;
return View();
}
[HttpPost]
[Area("Admin")]
//[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other2)]
public JsonResult GetOuterHtmlList(string userid, string corp, string columns)
{
var layUidata = new LayuiData<Ww_exinfoShow>();
try
{
List<Ww_User_ExtuserModel> list = _iww_hhuser_service.Extuser_Get(userid, corp);
DateTime nowtime = DateTime.Now;
List<ww_exinfo> infolist = new List<ww_exinfo>();
foreach (Ww_User_ExtuserModel model in list)
{
string exinfo = model.exinfo;
if (!string.IsNullOrEmpty(exinfo) && exinfo.Trim() != "-")
{
ww_exinfo info = Newtonsoft.Json.JsonConvert.DeserializeObject<ww_exinfo>(exinfo);
follow follow = info.follow_user.FirstOrDefault(m => m.userid == userid);
if (follow != null)
{
info.self = follow;
info.follow_user = null;
infolist.Add(info);
}
else
{
info.self = new follow() { createtime = null, remark = "" };
info.follow_user = null;
info.external_contact = new external() { external_userid = model.userid, name = model.cname };
infolist.Add(info);
}
}
else
{
ww_exinfo info = new ww_exinfo();
info.self = new follow() { createtime = null, remark = "" };
info.follow_user = null;
info.external_contact = new external() { external_userid = model.userid, name = model.cname };
infolist.Add(info);
}
}
infolist = infolist.OrderByDescending(m => m.self.createtime).ToList();
List<Ww_exinfoShow> showList = new List<Ww_exinfoShow>();
foreach (ww_exinfo model in infolist)
{
Ww_exinfoShow show = new Ww_exinfoShow();
show.external_userid = model.external_contact.external_userid;
show.name = ManagerPhoneHelper.FormatPhoneUserName(model.external_contact.name);
if (model.self != null)
{
show.remark = ManagerPhoneHelper.FormatPhoneUserName(model.self.remark);
if (model.self.createtime != null)
show.createtime = Utility.ToUnityString(DateTimeTool.GetTimeFromLinuxShortTime(model.self.createtime.Value), 2);
show.remark_mobiles = ManagerPhoneHelper.FormatPhoneUserName(string.Format("{0}", model.self.remark_mobiles));
}
showList.Add(show);
}
layUidata.msg = "数据加载成功";
layUidata.code = 0;
layUidata.data = showList;
}
catch (Exception ex)
{
LogHelper.Error(ex.ToString());
layUidata.SetFail(1, "出现错误!" + ex.Message);
}
return Json(layUidata);
}
[Area("Admin")]
//[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other1)]
public ActionResult Message(string userid, string uname, string corp)
{
ViewBag.userid = userid;
ViewBag.uname = uname ?? "";
ViewBag.corp = corp;
//ViewBag.type = type;
List<Ww_User_ExtuserModel> list = _iww_hhuser_service.Extuser_Get(userid, corp);
List<Ww_User_ExtuserShow> showList = new List<Ww_User_ExtuserShow>();
//将外部联系人数据解析500
foreach (Ww_User_ExtuserModel model in list)
{
Ww_User_ExtuserShow showmodel = new Ww_User_ExtuserShow()
{
avatar = model.avatar,//头像
external_userid = model.userid,//外部联系人ID
lmsgtime = model.lmsgtime,//最后聊天时间
name = ManagerPhoneHelper.FormatPhoneUserName(model.cname),//姓名
corpid = model.corpid
};
string exinfo = model.exinfo;
if (!string.IsNullOrEmpty(exinfo) && exinfo.Trim() != "-")
{
ww_exinfo info = Newtonsoft.Json.JsonConvert.DeserializeObject<ww_exinfo>(exinfo);
follow follow = info.follow_user.FirstOrDefault(m => m.userid == userid);
if (follow != null)
{
info.self = follow;
info.follow_user = null;
showmodel.remark = ManagerPhoneHelper.FormatPhoneUserName(follow.remark);
if (follow.createtime != null)
showmodel.createtime = Utility.ToUnityString(DateTimeTool.GetTimeFromLinuxShortTime(follow.createtime.Value), 2);
showmodel.remark_mobiles = ManagerPhoneHelper.FormatPhoneUserName(string.Format("{0}", follow.remark_mobiles));
}
}
showList.Add(showmodel);
}
ViewBag.rcontact = list;
ViewBag.inneruser = _iww_hhuser_service.InnerUser_Get(userid, corp);
ViewBag.showlist = showList;
List<Ww_MsgRoom> roomeCList = new List<Ww_MsgRoom>();
string roomErro = "";
try
{
roomeCList = GetRoomList(userid, corp);
}
catch (Exception e)
{
roomErro = e.ToString();
LogHelper.Error("错误:" + e.ToString());
}
ViewBag.roomList = roomeCList;
ViewBag.roomErro = roomErro;
return View();
}
private List<Ww_MsgRoom> GetRoomList(string userid, string corp)
{
List<Ww_MsgRoom> roomeCList = new List<Ww_MsgRoom>();
string wocha = RequestGet(Mini.Common.Utility.GetSettingByKey("InnerFile") + "userroom?user=" + userid + "&corpid=" + corp);
Ww_room info = Common.JsonHelper.JsonDivertToObj<Ww_room>(wocha);
string roomeCListStr = info == null ? "" : info.roomlist;
if (!string.IsNullOrEmpty(roomeCListStr))
{
string items = "";
foreach (var item in roomeCListStr.Split(','))
{
if (!string.IsNullOrEmpty(item))
{
items += "[" + item + "]";
}
}
if (!string.IsNullOrEmpty(items))
{
items = items.Replace("][", "','").Replace("[", "'").Replace("]", "'");
roomeCList = _iww_hhuser_service.GetRoomList(corp, items);
}
}
return roomeCList;
}
/// <summary>
///
/// </summary>
/// <param name="userid">客服ID</param>
/// <param name="uname">客服名称</param>
/// <param name="corp">公司ID</param>
/// <param name="customer">客户ID</param>
/// <param name="nickname">客户名称</param>
/// <returns></returns>
[Area("Admin")]
public ActionResult MessageDetial(string isgroup, string userid, string uname, string corp, string customer, string nickname, string type, string weixincrmaccount, string isHg)
{
ViewBag.weixincrmaccount = weixincrmaccount;
ViewBag.userid = userid;
ViewBag.uname = uname;
ViewBag.corp = corp;
ViewBag.customer = customer;
ViewBag.nickname = nickname;
ViewBag.isgroup = isgroup;
ViewBag.IsHiddenEWM = MangerEWM.GetIsHiddenEWM(userRoleCodes);
string folderName = string.Format("temp_{0}_{1}_{2}", corp, userid, customer);
ViewBag.IsCanDownLoadMessage = userRightId.Contains(InitRights.CONST_企业微信导出聊天记录);
bool IsCanLoadKeyWords = userRightId.Contains(InitRights.CONST_企业微信关键词合规);
if (isHg != null && isHg.ToLower() == "true")
{
IsCanLoadKeyWords = true;
}
ViewBag.IsCanLoadKeyWords = IsCanLoadKeyWords;
if (IsCanLoadKeyWords)
ViewBag.KeyWrods = _bas_parameter.GetParameterValue(ParameterEnums.WeiXin_IllegalKewords);
else
ViewBag.KeyWrods = "";
List<Wx_ExuserModel> list = new List<Wx_ExuserModel>();
string zhi = _bas_parameter.GetParameterValue(ParameterEnums.ShowOtherSaleLT);
if (!string.IsNullOrEmpty(customer) && zhi == "true")
list = _iww_hhuser_service.Extuser_GetAllUser(customer);//外部联系人
ViewBag.OtherKeFu = list.Where(m => m.userid != userid).ToList();//其他客服,排除掉当前客服
string groupname = "";
if (isgroup == "true")
{
Ww_MsgRoom model = new Ww_MsgRoom()
{
corp = corp,
roomid = customer,
userlist = ""
};
if (type == "inner")
{
Ww_RoomChat cha = _iww_hhuser_service.GetRoomChat(corp, customer);//内部群
model.ctime = cha.ctime;
model.membernum = cha.membernum;
model.ctimestr = cha.ctime.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!string.IsNullOrEmpty(cha.members))
{
List<Ww_Roomchat_Member> member = JsonConvert.DeserializeObject<List<Ww_Roomchat_Member>>(cha.members);
model.userlist = string.Join(",", member.Select(m => m.memberid));
}
}
else
{
Ww_GroupChat cha = _iww_hhuser_service.GetWw_GroupChat(corp, customer);//外部群
if (cha == null)//如果type为空找不到外部群就去内部群查找
{
Ww_RoomChat cha2 = _iww_hhuser_service.GetRoomChat(corp, customer);//内部群
if (cha2 != null)
{
model.ctime = cha2.ctime;
model.membernum = cha2.membernum;
model.ctimestr = cha2.ctime.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!string.IsNullOrEmpty(cha2.members))
{
List<Ww_Roomchat_Member> member = JsonConvert.DeserializeObject<List<Ww_Roomchat_Member>>(cha2.members);
model.userlist = string.Join(",", member.Select(m => m.memberid));
}
}
}
else
{
model.ctime = cha.ctime;
model.membernum = cha.membernum;
model.ctimestr = cha.ctime.Value.ToString("yyyy-MM-dd HH:mm:ss");
if (!string.IsNullOrEmpty(cha.member_list))
{
List<Ww_Groupchat_Member> member = JsonConvert.DeserializeObject<List<Ww_Groupchat_Member>>(cha.member_list);
model.userlist = string.Join(",", member.Select(m => m.userid));
}
}
}
//Ww_MsgRoom model = _iww_hhuser_service.GetRoom(corp, customer);
ViewBag.roomInfo = model;
ViewBag.nickname = string.IsNullOrEmpty(model.roomname) ? "群:" + model.roomid : "群:" + model.roomname;
groupname = ViewBag.nickname;
List<GroupUser> info = _iww_hhuser_service.GetGroupUser(corp, model);
ViewBag.groupuser = Common.JsonHelper.ObjDivertToJson(info);
}
else
{
ViewBag.groupuser = "[]";
}
if (MessagePack.GenerateDownFile.ContainsKey(folderName))
{
ViewBag.IsPackNow = 1;//是不是正在下载
}
else
{
ViewBag.IsPackNow = 0;
var webPath = FileUnit.GetBaseDirectory();//站点目录
var tmpPath = Path.Combine(webPath, "temp");//临时文件目录
string zipPath = Path.Combine(tmpPath, folderName + ".zip");
ViewBag.folderName = folderName;
FileInfo info = new FileInfo(zipPath);
ViewBag.zipPathName = string.Format("{0} 与 {1} 的聊天记录", uname, nickname);
if (isgroup == "true")
{
ViewBag.zipPathName = string.Format("{0}的聊天记录", groupname);
}
if (info.Exists)
{
string name = info.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss") + ".zip";//获取最后修改时间
ViewBag.NowPathName = string.Format("{0} 与 {1} 的聊天记录{2}", uname, nickname, name);
if (isgroup == "true")
{
ViewBag.NowPathName = string.Format("{0}的聊天记录{1}", groupname, name);
}
}
else
{
ViewBag.NowPathName = "";
}
}
return View();
}
[Area("Admin")]
public ActionResult GetPath(string url)
{
string wocha = RequestGet(url);
return Content(wocha);
}
public string RequestGet(string url)
{
string lasjosn = "";
if (url.IndexOf("userjson?") > -1 || url.IndexOf("roomjson?") > -1 || url.IndexOf("recordjson?") > -1)
{
List<string> wocha = new List<string>();
List<object> jsonlist = new List<object>();
try
{
wocha = Utility.GetArryData(url, "", Encoding.UTF8);
}
catch (Exception e)
{
LogHelper.Error("错误:" + url + "**" + e.ToString());
}
foreach (var item in wocha)
{
if (string.IsNullOrEmpty(item))
continue;
try
{
//LogHelper.Error("--json--");
//LogHelper.Error(item);
//LogHelper.Error("--json-end--");
var obj = Common.JsonHelper.JsonDivertToObj<object>(item);
jsonlist.Add(obj);
}
catch (Exception e)
{
//LogHelper.Error(e.ToString());
}
}
lasjosn = Common.JsonHelper.ObjDivertToJson(jsonlist);
}
else if (url.IndexOf("userroom?") > -1)//群信息获取 不做处理
{
string wocha = "";
try
{
wocha = Utility.GetData(url, "", Encoding.UTF8);
}
catch (Exception e)
{
LogHelper.Error("错误:" + url + "**" + e.ToString());
}
if (string.IsNullOrEmpty(wocha))
wocha = "{}";
lasjosn = wocha;
}
return lasjosn;
}
[Area("Admin")]
[HttpGet]
public ActionResult GetNoEWMImgePath(string url)
{
string newurl = url.Replace("mediafile", "mediafilepath");
MediaResult meresult = MangerEWM.GetNoQcodeImg(url);
if (meresult.code != 2)
{
FileInfo fileInfo = new FileInfo(meresult.local);
var ext = fileInfo.Extension;
new FileExtensionContentTypeProvider().Mappings.TryGetValue(ext, out var contenttype);
return new FileContentResult(System.IO.File.ReadAllBytes(meresult.local), contenttype ?? "application/octet-stream");
}
else
{
var webPath = FileUnit.GetBaseDirectory();//站点目录
var cantlookimg = Path.Combine(webPath, "wwwroot", "Content", "Images", "cantlook.jpg");//临时文件目录
var ext = ".jpg";
new FileExtensionContentTypeProvider().Mappings.TryGetValue(ext, out var contenttype);
return new FileContentResult(System.IO.File.ReadAllBytes(cantlookimg), contenttype ?? "application/octet-stream");
}
}
[Area("Admin")]
[HttpPost]
public JsonResult Export(string isgroup, string userid, string uname, string corp, string cs_nickname, string cs_username)
{
return new OutHHuserController(_iww_hhuser_service, _bas_parameter, _config).Export(isgroup, userid, uname, corp, cs_nickname, cs_username,MangerEWM.GetIsHiddenEWM(userRoleCodes));
}
[Area("Admin")]
public FileResult DownLoad(string folderName, string zipname)
{
return new OutHHuserController(_iww_hhuser_service, _bas_parameter, _config).DownLoad(folderName, zipname);
}
[Area("Admin")]
[HttpPost]
public JsonResult RefreshPackStatus(string folderName, string holpName)
{
return new OutHHuserController(_iww_hhuser_service, _bas_parameter, _config).RefreshPackStatus(folderName, holpName);
}
[HttpGet]
[Area("Admin")]
[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other5)]
public ActionResult Remarks(string corp, string userid)
{
Ww_hhuser_Name model = new Ww_hhuser_Name();
if (string.IsNullOrEmpty(userid) || string.IsNullOrEmpty(corp))
{
ViewBag.isOK = "0";
ViewBag.Msg = "参数不对!";
}
else
{
model = _iww_hhuser_service.GetHHuserName(userid, corp);
if (model == null)
{
model = new Ww_hhuser_Name() { corpid = corp, userid = userid };
}
}
return View(model);
}
[HttpPost]
[AuthorizeToolBar(InitRights.CONST_企业微信监控, InitToolBar.CONST_Other5)]
[Area("Admin")]
public JsonResult RemarksSave(Ww_hhuser_Name model)
{
bool result = _iww_hhuser_service.UpdateHHuserName(model);
retMsg ret = new retMsg() { result = result, retcode = 200, retmsg = "设置成功!" };
if (!result)
{
ret.retmsg = "设置失败!";
}
return Json(ret);
}
}
}