ParamsTools.java 4.8 KB
package com.agg.h5game.tools;

import android.content.Context;

import com.stss.sdk.bean.STSSPayParams;
import com.stss.sdk.bean.STSSUserExtraData;
import com.stss.sdk.verify.STSSUToken;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;
import java.util.Map;

public class ParamsTools {
    public static String getParams(Context context, STSSUToken token) {
        HashMap<String, String> params = new HashMap<>();
        params.put("isAppType", "Android");
        params.put("cid", AggH5Tools.getLogicChannel(context, "sid"));
        if (token != null) {
            params.put("uid", token.getGame_uid());
            params.put("game_uid", token.getGame_uid());
            params.put("channel_uid", token.getChannel_uid());
            params.put("token", token.getToken());
        }
        return mapToQueryString(params);
    }

    public static String mapToQueryString(HashMap<String, String> map) {
        StringBuilder stringBuilder = new StringBuilder();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            if (stringBuilder.length() > 0) {
                stringBuilder.append("&");
            }
            stringBuilder.append(entry.getKey()).append("=").append(entry.getValue());
        }
        return stringBuilder.toString();
    }

    // JS调用Android 支付订单json转STSSPayParams
    public static STSSUserExtraData jsonToSTSSUserExtraData(String jsonParams) {
        STSSUserExtraData userExtraData = new STSSUserExtraData();
        try {
            JSONObject jsonObject = new JSONObject(jsonParams);
            userExtraData.setDataType(jsonObject.getString("data_type"));
            userExtraData.setServerID(jsonObject.getString("server_id"));
            userExtraData.setServerName(jsonObject.getString("server_name"));
            userExtraData.setRoleID(jsonObject.getString("role_id"));
            userExtraData.setRoleName(jsonObject.getString("role_name"));
            userExtraData.setRoleLevel(jsonObject.getString("role_level"));
            userExtraData.setCreateTime(String.valueOf(jsonObject.getLong("role_create_time")));
            userExtraData.setVipLv(String.valueOf(jsonObject.getInt("role_vip")));
            userExtraData.setBalance(jsonObject.getString("role_balance"));
            userExtraData.setGender(jsonObject.getString("role_gender"));
            userExtraData.setOccupationId(jsonObject.getString("role_occupation_id"));
            userExtraData.setOccupationName(jsonObject.getString("role_occupation_name"));
            userExtraData.setPower(jsonObject.getString("role_power"));
            userExtraData.setPartyId(jsonObject.getString("party_id"));
            userExtraData.setPartyName(jsonObject.getString("party_name"));
            userExtraData.setPartyMasterId(jsonObject.getString("party_master_id"));
            userExtraData.setPartyMasterName(jsonObject.getString("party_master_name"));
            userExtraData.setUpdateTime(String.valueOf(jsonObject.optLong("add_time")));
            userExtraData.setExtension(jsonObject.getString("extension"));
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return userExtraData;
    }

    // JS调用Android 支付订单json转STSSPayParams
    public static STSSPayParams jsonToSTSSPayParams(String jsonString) {
        STSSPayParams params = new STSSPayParams();
        try {
            JSONObject jsonObject = new JSONObject(jsonString);
            params.setCpOrderId(jsonObject.optString("out_trade_no"));
            params.setProductId(String.valueOf(jsonObject.optInt("product_id")));
            params.setProductName(jsonObject.optString("product_name"));
            params.setProductDesc(jsonObject.optString("product_desc"));
            params.setPrice(jsonObject.optString("product_price"));
            params.setRatio(jsonObject.optString("exchange_rate"));
            params.setBuyNum(String.valueOf(jsonObject.optInt("product_count")));
            params.setCurrencyName(jsonObject.optString("currency_name"));
            params.setServerId(jsonObject.optString("server_id"));
            params.setServerName(jsonObject.optString("server_name"));
            params.setRoleId(jsonObject.optString("role_id"));
            params.setRoleName(jsonObject.optString("role_name"));
            params.setRoleLevel(jsonObject.optString("role_level"));
            params.setVip(String.valueOf(jsonObject.optInt("role_vip")));
            params.setAddTime(String.valueOf(jsonObject.optLong("add_time")));
            params.setCallBack(jsonObject.optString("call_back"));
            params.setPayNotifyUrl(jsonObject.optString("notify_url"));
            params.setExtension(jsonObject.optString("extension"));
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return params;
    }
}