363 lines
14 KiB
C#
363 lines
14 KiB
C#
using CRM.Core.DTO;
|
|
using Newtonsoft.Json;
|
|
using Ninject;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using WX.CRM.BLL.Util;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.Common.Layui;
|
|
using WX.CRM.IBLL.MsgTool;
|
|
using WX.CRM.IBLL.Util;
|
|
using WX.CRM.IBLL.Ww;
|
|
using WX.CRM.Model.crmModel;
|
|
using WX.CRM.Model.Enum;
|
|
using WX.CRM.WebHelper;
|
|
|
|
namespace WX.CRM.WEB.Controllers.MsgTool
|
|
{
|
|
public class MsgToolTaskController : BaseController
|
|
{
|
|
[Inject]
|
|
public IMsgToolTask _msgToolTaskQ { get; set; }
|
|
|
|
[Inject]
|
|
public IWw_huser _iww_hhuser_service { get; set; }
|
|
|
|
[Inject]
|
|
public ICACHE_Q _cache { get; set; }
|
|
|
|
public MsgToolTaskController()
|
|
{
|
|
}
|
|
|
|
public ActionResult MsgToolTaskTab()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_群发任务列表)]
|
|
public ActionResult Index(int indexType = 1)
|
|
{
|
|
//ToolBar
|
|
ToolBar tool = new ToolBar();
|
|
string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.群发任务列表, userRightId);
|
|
tool.AllowButton(toolbtn);
|
|
tool.AddOtherButton("Other1", "复制群发任务", "icon-detail", "Copy_Click", true);
|
|
tool.AddOtherButton("Other2", "转发任务", "icon-group", "Cancel_Click", true);
|
|
tool.AddOtherButton("Other3", "取消任务", "icon-search", "Send_Click", true);
|
|
tool.AddOtherButton("Other4", "立即执行", "icon-search", "Run_Click", true);
|
|
ViewBag.ToolBar = tool;
|
|
ViewBag.IndexType = indexType;
|
|
ViewBag.Eid = Eid;
|
|
var faceList = _cache.GetValue_Parameter("FaceSetting");
|
|
if (!string.IsNullOrWhiteSpace(faceList))
|
|
{
|
|
ViewBag.faceList = JsonConvert.DeserializeObject<List<string>>(faceList);
|
|
ViewBag.faceListJson = string.Join(",", ViewBag.faceList);
|
|
}
|
|
return View();
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public ActionResult Add(decimal? id)
|
|
{
|
|
var croplist = _iww_hhuser_service.Corp_GetByCompanyCode(companyCode);
|
|
ViewBag.AllChannel = JsonHelper.ObjDivertToJson(croplist);
|
|
MsgEditTaskModel model = new MsgEditTaskModel();
|
|
if (id.HasValue)
|
|
{
|
|
ViewBag.id = id;
|
|
model = _msgToolTaskQ.GetMsgTaskEditModel(id.Value);
|
|
}
|
|
ViewBag.File_Server = _cache.GetValue_Parameter("File_Server");
|
|
|
|
//生成临时接口请求键
|
|
var help = new AliHelper("LTAI5tERfeaQymj1CD7eycnw", "WScg5brbLlKWJvfRofCGnjso6Wi0Rx", "2015-04-01");
|
|
Dictionary<string, object> ditParam = new Dictionary<string, object>();
|
|
ditParam.Add("Action", "AssumeRole");
|
|
ditParam.Add("DurationSeconds", 3600);
|
|
ditParam.Add("RoleArn", "acs:ram::1497042271361001:role/oss-cms");
|
|
ditParam.Add("RoleSessionName", "test");
|
|
var res = help.HttpGetUrl("https://sts.aliyuncs.com/", ditParam);
|
|
|
|
Credentials credentials = new Credentials();
|
|
if (res.IndexOf("Credentials") > -1)
|
|
{
|
|
credentials = JsonHelper.JsonDivertToObj<Credentials>(res.Substring(res.IndexOf("Credentials") + 13).Replace("}}", "}"));
|
|
}
|
|
ViewBag.OssModel = credentials;
|
|
|
|
var faceList = _cache.GetValue_Parameter("FaceSetting");
|
|
if (!string.IsNullOrWhiteSpace(faceList))
|
|
{
|
|
ViewBag.faceList = JsonConvert.DeserializeObject<List<string>>(faceList);
|
|
ViewBag.faceListJson = string.Join(",", ViewBag.faceList);
|
|
}
|
|
return View(model);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public JsonResult Add(MsgToolTaskCreateDto model)
|
|
{
|
|
try
|
|
{
|
|
model.Eid = Eid;
|
|
model.JSONDATA = model.JSONDATA.Replace("\u200c", "");
|
|
bool result = _msgToolTaskQ.AddMsgTask(model);
|
|
retMsg ret = new retMsg() { result = result, retcode = 200, retmsg = "保存成功!" };
|
|
return Json(ret);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retMsg ret = new retMsg() { result = false, retcode = 200, retmsg = "保存失败:" + ex.Message };
|
|
return Json(ret);
|
|
}
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public ActionResult ChooseQW()
|
|
{
|
|
var setting = _cache.GetValue_Parameter("MsgToolSetting");
|
|
if (!string.IsNullOrWhiteSpace(setting))
|
|
{
|
|
var toolSetting = JsonConvert.DeserializeObject<MsgToolSetting>(setting);
|
|
ViewBag.qiweiUrl = toolSetting.QiWeiUrl;
|
|
}
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public ActionResult ChooseQWGetHtmlList(Laypage pager, decimal? id, string name)
|
|
{
|
|
var layUidata = new LayuiData<Ww_hhuserModel>();
|
|
try
|
|
{
|
|
var croplist = _iww_hhuser_service.WorkListGetByEid(Eid, name);
|
|
layUidata.msg = "数据加载成功";
|
|
layUidata.code = 0;
|
|
layUidata.data = croplist;
|
|
layUidata.count = pager.count;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
layUidata.SetFail(1, "出现错误!" + ex.Message);
|
|
}
|
|
return Json(layUidata);
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public ActionResult ChooseQWByCorp()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public JsonResult ConfirmSend(MsgToolTaskCreateDto model)
|
|
{
|
|
try
|
|
{
|
|
model.Eid = Eid;
|
|
model.Type = 2;
|
|
bool result = _msgToolTaskQ.AddMsgTask(model);
|
|
retMsg ret = new retMsg() { result = result, retcode = 200, retmsg = model.PKID.ToString() };
|
|
return Json(ret);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retMsg ret = new retMsg() { result = false, retcode = 400, retmsg = ex.Message };
|
|
return Json(ret);
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public JsonResult CreateTask(decimal planId)
|
|
{
|
|
try
|
|
{
|
|
bool result = _msgToolTaskQ.CreateTask(planId);
|
|
retMsg ret = new retMsg() { result = result, retcode = 200 };
|
|
return Json(ret);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retMsg ret = new retMsg() { result = false, retcode = 200, retmsg = ex.Message };
|
|
return Json(ret);
|
|
}
|
|
}
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Other1)]
|
|
public ActionResult CopyPlan(decimal? id)
|
|
{
|
|
var croplist = _iww_hhuser_service.Corp_GetByCompanyCode(companyCode);
|
|
ViewBag.AllChannel = JsonHelper.ObjDivertToJson(croplist);
|
|
MsgEditTaskModel model = new MsgEditTaskModel();
|
|
if (id.HasValue)
|
|
{
|
|
ViewBag.id = id;
|
|
model = _msgToolTaskQ.GetMsgTaskEditModel(id.Value);
|
|
if(model.RECEIVERID != Eid)
|
|
{
|
|
model.QiWeiPostJson = "";
|
|
}
|
|
model.PKID = null;
|
|
}
|
|
//生成临时接口请求键
|
|
var help = new AliHelper("LTAI5tERfeaQymj1CD7eycnw", "WScg5brbLlKWJvfRofCGnjso6Wi0Rx", "2015-04-01");
|
|
Dictionary<string, object> ditParam = new Dictionary<string, object>();
|
|
ditParam.Add("Action", "AssumeRole");
|
|
ditParam.Add("DurationSeconds", 3600);
|
|
ditParam.Add("RoleArn", "acs:ram::1497042271361001:role/oss-cms");
|
|
ditParam.Add("RoleSessionName", "test");
|
|
var res = help.HttpGetUrl("https://sts.aliyuncs.com/", ditParam);
|
|
Credentials credentials = new Credentials();
|
|
if (res.IndexOf("Credentials") > -1)
|
|
{
|
|
credentials = JsonHelper.JsonDivertToObj<Credentials>(res.Substring(res.IndexOf("Credentials") + 13).Replace("}}", "}"));
|
|
}
|
|
ViewBag.OssModel = credentials;
|
|
ViewBag.File_Server = _cache.GetValue_Parameter("File_Server");
|
|
var faceList = _cache.GetValue_Parameter("FaceSetting");
|
|
if (!string.IsNullOrWhiteSpace(faceList))
|
|
{
|
|
ViewBag.faceList = JsonConvert.DeserializeObject<List<string>>(faceList);
|
|
ViewBag.faceListJson = string.Join(",", ViewBag.faceList);
|
|
}
|
|
return View("add", model);
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Other4)]
|
|
public ActionResult Execute(decimal taskid, int taskType = 2)
|
|
{
|
|
string servicename = _cache.GetValue_Parameter(Parameter.MsgTool_AppServiceName);//获取msgtool服务名称
|
|
var croplist = _iww_hhuser_service.Corp_GetByCompanyCode(companyCode);
|
|
ViewBag.AllChannel = JsonHelper.ObjDivertToJson(croplist);
|
|
|
|
ViewBag.Taskid = taskid;
|
|
ViewBag.Servicename = servicename;
|
|
ViewBag.appid = System.Configuration.ConfigurationManager.AppSettings["appid"];
|
|
ViewBag.webapi = _cache.GetValue_Parameter("MsgTool_WEBAPI");
|
|
ViewBag.Type = taskType;
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_群发任务列表)]
|
|
public JsonResult GetHtmlList(Laypage pager, MsgToolPlanQueryDto dto)
|
|
{
|
|
var layUidata = new LayuiData<MsgToolTaskViewModel>();
|
|
try
|
|
{
|
|
List<MsgToolTaskViewModel> list = _msgToolTaskQ.GetTaskList(ref pager, dto);
|
|
|
|
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);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_群发任务列表)]
|
|
public JsonResult GetExecuteList(Laypage pager, decimal taskid)
|
|
{
|
|
var layUidata = new LayuiData<MsgToolExecuteViewModel>();
|
|
try
|
|
{
|
|
List<MsgToolExecuteViewModel> list = _msgToolTaskQ.GetExecuteList(ref pager, taskid);
|
|
|
|
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);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Other3)]
|
|
public JsonResult CancelTask(decimal planId)
|
|
{
|
|
try
|
|
{
|
|
bool result = _msgToolTaskQ.CancelTask(planId);
|
|
retMsg ret = new retMsg() { result = result, retcode = 200, retmsg = "操作成功!" };
|
|
return Json(ret);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retMsg ret = new retMsg() { result = false, retcode = 200, retmsg = "操作失败:" + ex.Message };
|
|
return Json(ret);
|
|
}
|
|
}
|
|
|
|
[HttpGet]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Other4)]
|
|
public ActionResult CmdEdit(decimal cmdId)
|
|
{
|
|
ViewBag.CmdId = cmdId;
|
|
return View();
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeRedirect(Roles = InitRights.CONST_群发任务列表)]
|
|
public JsonResult GetCmdEditList(Laypage pager, CmdDetailQueryDto dto)
|
|
{
|
|
var layUidata = new LayuiData<CmdDetailDto>();
|
|
try
|
|
{
|
|
var data = _msgToolTaskQ.GetTaskCmdDetail(ref pager, dto);
|
|
|
|
layUidata.msg = "数据加载成功";
|
|
layUidata.code = 0;
|
|
layUidata.data = data;
|
|
layUidata.count = pager.count;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.Error(ex.ToString());
|
|
layUidata.SetFail(1, "出现错误!" + ex.Message);
|
|
}
|
|
return Json(layUidata);
|
|
}
|
|
|
|
[HttpPost]
|
|
[AuthorizeToolBar(InitRights.CONST_群发任务列表, InitToolBar.CONST_Add)]
|
|
public JsonResult SaveCmdDetail(SetCmdEnableDto model)
|
|
{
|
|
try
|
|
{
|
|
bool result = _msgToolTaskQ.SetCmdDetailEnable(model);
|
|
retMsg ret = new retMsg() { result = result, retcode = 200, retmsg = "保存成功!" };
|
|
return Json(ret);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
retMsg ret = new retMsg() { result = false, retcode = 200, retmsg = "保存失败:" + ex.Message };
|
|
return Json(ret);
|
|
}
|
|
}
|
|
}
|
|
} |