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(HttpMethod.Post, "http://12306.liebao.cn/index.php?r=Api/SentMessage", null, new {data}).Send(); return true; } } }