Esempio n. 1
0
    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));
    }
Esempio n. 2
0
//     OpRes agree(ResultAPIItem item, GMUser user)
//     {
//         return createAPI(user, item);
//     }

    OpRes refuse(ResultAPIItem item, GMUser user)
    {
        string cmd = string.Format(SQL_REFUSE, TableName.API_APPROVE, item.m_apiAcc);

        user.sqlDb.executeOp(cmd, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA);
        return(OpRes.opres_success);
    }
    public override OpRes doQuery(object param, GMUser user)
    {
        OpRes code = canApprove(user);

        if (code != OpRes.opres_success)
        {
            return(code);
        }

        m_result.Clear();
        string cond = genCond(param, user);
        string cmd  = string.Format(SQL_QUERY_API,
                                    TableName.API_APPROVE,
                                    cond);

        List <Dictionary <string, object> > dataList = user.sqlDb.queryList(cmd,
                                                                            user.getMySqlServerID(),
                                                                            MySqlDbName.DB_XIANXIA);

        if (dataList == null || dataList.Count == 0)
        {
            return(OpRes.op_res_not_found_data);
        }

        for (int i = 0; i < dataList.Count; i++)
        {
            ResultAPIItem info = new ResultAPIItem();
            m_result.Add(info);

            Dictionary <string, object> data = dataList[i];
            info.m_apiAcc        = Convert.ToString(data["apiAcc"]);
            info.m_apiPwd        = Convert.ToString(data["apiPwd"]);
            info.m_genTime       = Convert.ToDateTime(data["genTime"]).ToString(ConstDef.DATE_TIME24);
            info.m_apiCreator    = Convert.ToString(data["apiCreator"]);
            info.m_apiAliasName  = Convert.ToString(data["apiAliasName"]);
            info.m_apiAgentRatio = Convert.ToDouble(data["apiAgentRatio"]);
            info.m_apiWashRatio  = Convert.ToDouble(data["apiWashRatio"]);
            info.m_apiPrefix     = Convert.ToString(data["apiPrefix"]);
        }

        return(OpRes.opres_success);
    }
Esempio n. 4
0
    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);
    }