111 lines
2.8 KiB
C#
111 lines
2.8 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Web;
|
|||
|
using System.Web.Mvc;
|
|||
|
|
|||
|
namespace Web12306.Controllers
|
|||
|
{
|
|||
|
using System.Net;
|
|||
|
using FSLib.Network.Http;
|
|||
|
using Web12306.Models;
|
|||
|
using Web12306.Models.Entity;
|
|||
|
|
|||
|
public class CrmController : Controller
|
|||
|
{
|
|||
|
// GET: Crm
|
|||
|
public ActionResult Index()
|
|||
|
{
|
|||
|
return View();
|
|||
|
}
|
|||
|
|
|||
|
public JsonResult IgnoreReport(int id)
|
|||
|
{
|
|||
|
var db = new ChatRoomDb();
|
|||
|
var item = db.AbuseReports.FirstOrDefault(s => s.Id == id);
|
|||
|
if (item == null)
|
|||
|
return Json(new { ret = false });
|
|||
|
|
|||
|
item.Is_Check = 1;
|
|||
|
db.SaveChanges();
|
|||
|
|
|||
|
|
|||
|
return Json(new { ret = true });
|
|||
|
}
|
|||
|
|
|||
|
public JsonResult BanReporter(int id)
|
|||
|
{
|
|||
|
var db = new ChatRoomDb();
|
|||
|
var item = db.AbuseReports.FirstOrDefault(s => s.Id == id);
|
|||
|
if (item == null)
|
|||
|
return Json(new { ret = false });
|
|||
|
|
|||
|
var user = item.Reporting_Account;
|
|||
|
if (BanUser(user, item.Reporting_Name, item.RoomKey))
|
|||
|
{
|
|||
|
db.MarkAllCheckedByReporter(user);
|
|||
|
return Json(new { ret = true, user });
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return Json(new { ret = false });
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public JsonResult BanTarget(int id)
|
|||
|
{
|
|||
|
var db = new ChatRoomDb();
|
|||
|
var item = db.AbuseReports.FirstOrDefault(s => s.Id == id);
|
|||
|
if (item == null)
|
|||
|
return Json(new { ret = false });
|
|||
|
|
|||
|
var user = item.Alleged_WrongDoer_Account;
|
|||
|
if (BanUser(user, item.Alleged_WrongDoer_Name, item.RoomKey))
|
|||
|
{
|
|||
|
db.MarkAllCheckedByTarget(user);
|
|||
|
return Json(new { ret = true, user });
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return Json(new { ret = false });
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
bool BanUser(string user, string realname, string roomid)
|
|||
|
{
|
|||
|
var db = new ChatRoomDb();
|
|||
|
if (db.ForbiddenUsers.Any(s => s.Name == user))
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
db.ForbiddenUsers.Add(new ForbiddenUser()
|
|||
|
{
|
|||
|
Name = user,
|
|||
|
CreateTime = DateTime.Now.ToJsTicks() / 1000,
|
|||
|
Creator = "admin"
|
|||
|
});
|
|||
|
db.SaveChanges();
|
|||
|
|
|||
|
var targetServer = new[] { "10.10.17.49", "10.10.17.51" };
|
|||
|
var host = "12306.liebao.cn";
|
|||
|
var url = "http://{0}/index.php?r=KeyWord/CreateUserKeyWord";
|
|||
|
var client = new HttpClient();
|
|||
|
|
|||
|
foreach (var server in targetServer)
|
|||
|
{
|
|||
|
var ctx = client.Create(HttpMethod.Post, string.Format(url, server), result: new { resCode = 0 });
|
|||
|
ctx.Request.Host = host;
|
|||
|
ctx.Send();
|
|||
|
|
|||
|
if (!ctx.IsValid() || ctx.Result.resCode == 1)
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
//自动发消息
|
|||
|
var data = "{\"action\":\"chatRoomSendMsg\",\"detail\":{\"items\":[{\"text\":\"用户【" + realname + "(" + user + ")】已被封禁。\",\"target\":[]}],\"media\":[],\"from\":{\"realname\":\"系统管理员\",\"username\":\"*\"},\"target\":[],\"time\":" + DateTime.Now.ToJsTicks() + ",\"roomid\":\"" + roomid + "\"}}";
|
|||
|
client.Create<string>(HttpMethod.Post, "http://12306.liebao.cn/index.php?r=Api/SentMessage", null, new {data}).Send();
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|