public override OpRes doDyop(object param, GMUser user) { ParamApiApprove p = (ParamApiApprove)param; ResultAPIItem item = getItem(p, user); if (item == null) { return(OpRes.op_res_failed); } if (p.m_isPass) { OpRes res = OpRes.op_res_failed; try { HttpContext.Current.Application.Lock(); res = createAPI(user, item, p); //agree(item, user); if (res == OpRes.opres_success) { refuse(item, user); } } catch (System.Exception ex) { } finally { HttpContext.Current.Application.UnLock(); } return(res); } return(refuse(item, user)); }
ResultAPIItem getItem(ParamApiApprove p, GMUser user) { OpRes res = user.doQuery(p.m_apiAcc, QueryType.queryTypeQueryApiApprove); if (res != OpRes.opres_success) { return(null); } List <ResultAPIItem> qresult = (List <ResultAPIItem>)user.getQueryResult(QueryType.queryTypeQueryApiApprove); return(qresult[0]); }
public void ProcessRequest(HttpContext context) { RightMgr.getInstance().opCheck(RIGHT.APPROVE_API, context.Session, context.Response); string op = context.Request.Form["op"]; string acc = context.Request.Form["acc"]; Dictionary <string, object> ret = new Dictionary <string, object>(); GMUser user = (GMUser)context.Session["user"]; ParamApiApprove param = new ParamApiApprove(); param.m_apiAcc = acc; param.m_isPass = (op == "pass"); OpRes res = user.doDyop(param, DyOpType.opTypeDyOpApiApprove); ret.Add("result", (int)res); ret.Add("op", op); ret.Add("acc", acc); if (res == OpRes.opres_success && param.m_isPass) { string str = "审批成功," + OpResMgr.getInstance().getResultString(OpRes.op_res_account_info, param.m_resultAcc, param.m_validatedCode); ret.Add("resultMsg", str); } else { ret.Add("resultMsg", OpResMgr.getInstance().getResultString(res)); } string retStr = BaseJsonSerializer.genJsonStr(ret); context.Response.ContentType = "text/plain"; context.Response.Write(retStr); }
private OpRes createAPI(GMUser user, ResultAPIItem item, ParamApiApprove resultParam) { bool res = user.sqlDb.keyStrExists(TableName.GM_ACCOUNT, "acc", item.m_apiAcc, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA); if (res) { return(OpRes.op_res_account_has_exists); // 账号重复 } CreateInfo info = new CreateInfo(); res = getCreatorInfo(user, item.m_apiCreator, info); if (!res) { return(OpRes.op_res_failed); } SqlInsertGenerator gen = new SqlInsertGenerator(); gen.addField("acc", item.m_apiAcc, FieldType.TypeString); gen.addField("pwd", item.m_apiPwd, FieldType.TypeString); gen.addField("accType", AccType.ACC_API, FieldType.TypeNumber); gen.addField("createTime", DateTime.Now.ToString(ConstDef.DATE_TIME24), FieldType.TypeString); gen.addField("owner", item.m_apiCreator, FieldType.TypeString); gen.addField("generalAgency", info.m_generalAgency, FieldType.TypeString); gen.addField("postfix", item.m_apiPrefix, FieldType.TypeString); gen.addField("money", 0, FieldType.TypeNumber); gen.addField("moneyType", 0, FieldType.TypeNumber); string key = Guid.NewGuid().ToString().Replace("-", ""); gen.addField("devSecretKey", key, FieldType.TypeString); gen.addField("gmRight", "", FieldType.TypeString); gen.addField("depth", info.m_depth + 1, FieldType.TypeNumber); string ccode = ItemHelp.genCreateCode(info.m_childCount, info.m_createCode); gen.addField("createCode", ccode, FieldType.TypeString); gen.addField("aliasName", item.m_apiAliasName, FieldType.TypeString); ValidatedCodeGenerator vg = new ValidatedCodeGenerator(); vg.CodeSerial = DefCC.CODE_SERIAL; string validatedCode = vg.CreateVerifyCode(4); gen.addField("validatedCode", validatedCode, FieldType.TypeString); gen.addField("agentRatio", item.m_apiAgentRatio, FieldType.TypeNumber); gen.addField("washRatio", item.m_apiWashRatio, FieldType.TypeNumber); res = updateChildNodeNumber(user, info); if (res) { string sqlCmd = gen.getResultSql(TableName.GM_ACCOUNT); int count = user.sqlDb.executeOp(sqlCmd, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA); if (count > 0) { resultParam.m_resultAcc = item.m_apiAcc; resultParam.m_validatedCode = validatedCode; OpLogMgr.getInstance().addLog(LogType.LOG_TYPE_API_APPROVE, new LogApiApprove(item.m_apiAcc, item.m_apiAliasName), user); return(OpRes.opres_success); } } return(OpRes.op_res_db_failed); }