using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Threading; using Operation; using Sog; using LitJson; using SimpleHttpServer; using MySql.Data.MySqlClient; using ProtoCSStruct; namespace Operation { public class DelAccount { [RequestMapping("删除账号",PermissionCode.DELETE_ACCOUNT, toLog: true)] public static int OnDeleteAccountHttpReq(string httpApiCmd, JsonData jsonData, HttpResponse rsp, HttpRequest request, HttpQueryParams query, uint httpContextId) { TraceLog.Trace("DelAccount.OnDeleteAccountHttpReq url {0} ,param count {1} ,httpContextId {2}", request.Url, query.Count, httpContextId); string account = query.GetValue("account"); if (account == "") { jsonData["ret"] = 6; jsonData["msg"] = "account is empty"; return 6; } TraceLog.Trace("DelAccount.OnDeleteAccountHttpReq account {0}", account); RepeatedFixedStructString128_10 data = new RepeatedFixedStructString128_10(); data.Add(account); HttpApiRootHandler.FillHttpApiDbReq2MessageTaskDistributor(httpApiCmd, httpContextId, ref data); rsp.IsWaitFor = true; return 0; } public static int DoDelAccount(string httpApiCmd, SSHttpApiDbReq req, DBOperator dbOperator) { TraceLog.Trace("DelAccount.DoDelAccount HttpContextId {0}", req.HttpContextId); HttpRequestInfo m_request = null; LitJson.JsonData builder = new LitJson.JsonData(); try { var httpContextId = req.HttpContextId; m_request = OperationServer.m_httpService.m_requestList.Find(f => f.Http.id == httpContextId); if (req.Data.Count < 1) { TraceLog.Error("DelAccount.DoDelAccount param error"); builder["ret"] = 2; builder["msg"] = "参数错误"; } else { dbOperator.DBDelAccount(req.Data[0].ToString(), builder); AdminSvc.DeleteAccountRole(req.Data[0].ToString()); } } catch (Exception ex) { TraceLog.Error("DelAccount.DoDelAccount Error Msg {0}", ex.Message); } finally { if (m_request != null) { m_request.Http.httpResponse.ContentAsUTF8 = builder.ToJson(); m_request.ProcessEnd = true; } } TraceLog.Trace("DelAccount.DoDelAccount success httpContextId {0}", req.HttpContextId); return 0; } } }