CosPlyaPlayerServiceImpl.java 12.4 KB
package com.pipi.qa.service.impl;

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

import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.pipi.qa.basic.BasicData;
import com.pipi.qa.framework.tools.HttpToolKit;
import com.pipi.qa.service.CosPlayPlayerService;

/**
 * Created by dennis.dong on 2021/05/18.
 */
@Service
public class CosPlyaPlayerServiceImpl implements CosPlayPlayerService {
    
    public static Map<String, Object> headers = new HashMap<String, Object>();
    
    public static String  cardUrl = "https://test-game-play.oss-cn-hangzhou.aliyuncs.com/temp/2021/4/17/991a50cab9594ce9b7827744f8286b09.jpg";
    
    public static String  cardHandUrl = "https://test-game-play.oss-cn-hangzhou.aliyuncs.com/temp/2021/4/17/66ed341c47764ff1b12c834eda023956.jpg";
    
    public static String emblemUrl = "https://test-game-play.oss-cn-hangzhou.aliyuncs.com/temp/2021/4/17/66ed341c47764ff1b12c834eda023956.jpg";
    		
    public static String  pngURL = "http://test-game-play.oss-cn-hangzhou.aliyuncs.com/temp/2020/11/11/c343b09eccfe4f14b56f33b2f42041d2.jpg";
   
    /**
     * 登录
     * @param env
     * @param mobile
     * @return
     */

	@Override
	public JSONObject login(String mobile,String env) {
		String loginUrl = "https://"+env+"-api-app.apeiwan.com/"+"login";
    	String smsUrl = "https://"+env+"-api-app.apeiwan.com/"+"sms/verify";
    	Map<String, Object> params = new HashMap();
    	Map<String, Object> SmsParams = new HashMap();
    	SmsParams.put("mobile", mobile);
    	//获取验证码
    	HttpToolKit.invokePost(smsUrl, null, SmsParams);
    	params.put("mobile", mobile);
    	params.put("code", 2222);
    	//登录
    	JSONObject jsonObj = HttpToolKit.invokePost(loginUrl, null, params).getJSONObject();
		return jsonObj;
		
	}
	
	 /**
     * 获取token
     * @param env
     * @param mobile
     * @return
     */

	@Override
	public String getAppToken(String mobile,String env) {
		JSONObject loginRes = this.login(mobile, env);
		String token = loginRes.getJSONObject("data").getString("token");
		return token;
		
	}
	
	 /**
     * 获取admin token
     * @param env
     * @param mobile
     * @return
     */

	@Override
	public String getAdminToken(String username,String password,String env) {
		String adminLoginUrl = "https://"+env+"-api-admin.apeiwan.com/login";
		Map<String, Object> params = new HashMap();
		params.put("username", username);
		params.put("password", password);
		JSONObject jsonObj = HttpToolKit.invokePost(adminLoginUrl, null, params ).getJSONObject();
		String token = jsonObj.getJSONObject("data").getString("token");
		return token;
		
	}
	
	
    /**
     * 实名认证
     * @param env
     * @param mobile
     * @return
     */

	@Override
	public JSONObject SubmitAuthentication(String token,String userId,String env) {
	
		logger.info("token:"+token);
		logger.info("userId:"+userId);
		headers.put("token", token);
		Map<String, Object> params = new HashMap();
		params.put("authType", 0);
		params.put("userId", userId);
		params.put("userName", "testc");
		params.put("cardNo", "12124333541551");
		params.put("cardHandUrl", cardHandUrl);
		params.put("cardUrl", cardUrl);
		params.put("emblemUrl", emblemUrl);
		params.put("gender", 1);
		//实名认证申请
		String authUrl = "https://"+env+"-api-h5.apeiwan.com/api/v2/user/body-auth/save";
		HttpToolKit.invokePost(authUrl, headers, params);
		//获取控制台用户token	
		String adminToken = getAdminToken(BasicData.userName, BasicData.passWord, env);
		String passUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/user/body-auth/pass";
		Map<String, Object> headers1 = new HashMap();
		headers1.put("token", adminToken);
		//实名认证同意	
		JSONObject jsonObj = HttpToolKit.invokePost(passUrl, headers1, params).getJSONObject();
		return jsonObj;
		
	}
	
	 /**
     * 提交个人资料及审核
     * @param env
     * @param mobile
     * @return
     */

	@Override
	public JSONObject saveUserInfo(String token,String userId,String env) {
		//提交个人资料
		headers.put("token", token);
		String saveUserInfoUrl = "https://"+env+"-api-h5.apeiwan.com/api/v2/user/save-user-info";
		Map<String, Object> params = new HashMap();
		params.put("nickName", "test");
		params.put("headPortraitsUrl", pngURL);
		params.put("picUrls", pngURL);
		params.put("videoUrl", pngURL);
		HttpToolKit.invokePost(saveUserInfoUrl, headers, params).getJSONObject();
		//获取控制台用户token	
		String adminToken = getAdminToken(BasicData.userName, BasicData.passWord, env);
		String authUpdateUrl = "https://"+env+"-api-admin.apeiwan.com/api/v2/user/info-auth-update";
		Map<String, Object> headers1 = new HashMap();
		headers1.put("token", adminToken);
		//个人资料审核通过	
		Map<String, Object> updateParams = new HashMap();
		updateParams.put("userId", userId);
		updateParams.put("status", 2);
		updateParams.put("reasonJSon", "");
		JSONObject jsonObj = HttpToolKit.invokePost(authUpdateUrl, headers1, updateParams).getJSONObject();
		return jsonObj;
		
	}
	 /**
     * 充钻石
     * @param env
     * @param mobile
     * @return
     */
	@Override
	public JSONObject virtualMoneyModify(String mobile,long money,String env) {
		//获取控制台用户token
		String adminToken = getAdminToken(BasicData.userName, BasicData.passWord, env);
		//根据用户手机号获取userId
		String userListUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/user/list";
		Map<String, Object> adminHeaders = new HashMap();
		adminHeaders.put("token", adminToken);
		Map<String, Object> updateParams = new HashMap();
		updateParams.put("pageNum", 1);
		updateParams.put("pageSize", 10);
		updateParams.put("mobile", mobile);
		JSONObject jsonObj = HttpToolKit.invokePost(userListUrl, adminHeaders, updateParams).getJSONObject();
		JSONArray jsonArr = jsonObj.getJSONObject("data").getJSONArray("list");
		JSONObject jsonObj1 = (JSONObject) jsonArr.get(0);
		String userId = jsonObj1.getString("id");
		logger.info("userId:"+userId);
		//充值钻石
		String virtualMoneyModifyUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/moneyDetails/virtual-money/modify";
		Map<String, Object> modifyParams = new HashMap();
		modifyParams.put("userId", userId);
		modifyParams.put("type", 1);
		modifyParams.put("remark", "1");
		modifyParams.put("ext", "1");
		modifyParams.put("money", money);
		JSONObject modifyJsonObj = HttpToolKit.invokePost(virtualMoneyModifyUrl, adminHeaders, modifyParams).getJSONObject();
		return jsonObj1;
		
	}
	
	 /**
     * 充皮皮币
     * @param env
     * @param mobile
     * @return
     */
	@Override
	public JSONObject moneyDetailsSave(String mobile,long money,String env) {
		//获取控制台用户token
		String adminToken = getAdminToken(BasicData.userName, BasicData.passWord, env);
		//根据用户手机号获取userId
		String userListUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/user/list";
		Map<String, Object> adminHeaders = new HashMap();
		adminHeaders.put("token", adminToken);
		Map<String, Object> updateParams = new HashMap();
		updateParams.put("pageNum", 1);
		updateParams.put("pageSize", 10);
		updateParams.put("mobile", mobile);
		JSONObject jsonObj = HttpToolKit.invokePost(userListUrl, adminHeaders, updateParams).getJSONObject();
		JSONArray jsonArr = jsonObj.getJSONObject("data").getJSONArray("list");
		JSONObject jsonObj1 = (JSONObject) jsonArr.get(0);
		String userId = jsonObj1.getString("id");
		String nickname = jsonObj1.getString("nickname");
		String balance = jsonObj1.getString("balance");
		String chargeBalance = jsonObj1.getString("chargeBalance");
		logger.info("userId:"+userId);
		
		//充皮皮币
		String saveUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/moneyDetails/save";
		Map<String, Object> saveParams = new HashMap();
		saveParams.put("mobile", mobile);
		saveParams.put("userId", userId);
		saveParams.put("moneyType", 1);
		saveParams.put("remark", "1");
		saveParams.put("ext", "1");
		saveParams.put("money", money);
		saveParams.put("nickname", nickname);
		saveParams.put("balance", balance);
		saveParams.put("chargeBalance", chargeBalance);
		saveParams.put("isSearch", true);
		saveParams.put("searchValue", userId);
		JSONObject saveJsonObj = HttpToolKit.invokePost(saveUrl, adminHeaders, saveParams).getJSONObject();
		return jsonObj1;
		
	}
	
	
	 /**
     * 送礼物
     * @param env
     * @param mobile
     * @return
     */
	@Override
	public JSONObject send(String mobile, String roomNo,String productId,String amount, String userIds,String env) {
		String sendUrl = "https://"+env+"-api-app.apeiwan.com/api/v4/room/gift/send";
		String appToken = this.getAppToken(mobile, env);
		Map<String, Object> sendParams = new HashMap();
		headers.put("token", appToken);
		sendParams.put("actionType", "1");
		sendParams.put("amount", amount);
		sendParams.put("roomNo", roomNo);
		sendParams.put("productId", productId);
		sendParams.put("userIds", userIds);
		sendParams.put("timestamp", "1621828487580");
		JSONObject jsonObj = HttpToolKit.invokePost(sendUrl, headers, sendParams).getJSONObject();
		return jsonObj;
	}
	
	 
	/**
     * 礼物列表
     * @param env
     * @param mobile
     * @return
     */
	@Override
	public JSONObject giftList(String env) {
		//获取控制台用户token
		String adminToken = getAdminToken(BasicData.userName, BasicData.passWord, env);
		Map<String, Object> adminHeaders = new HashMap();
		adminHeaders.put("token", adminToken);
		//查询礼物列表
		String giftListUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/virtual-product/gift-list";
		Map<String, Object> giftListParams = new HashMap();
		giftListParams.put("pageNum", "1");
		giftListParams.put("pageSize", "10");
		giftListParams.put("useStatus", "1");
		giftListParams.put("type", "1");		
		JSONObject giftListJsonObj = HttpToolKit.invokePost(giftListUrl, adminHeaders, giftListParams).getJSONObject();
		return giftListJsonObj;
	}
	
	/**
     * 幸运夺宝箱列表
     * @param env
     * @param mobile
     * @return
     */
	@Override
	public JSONObject activityList(String env) {
		//获取控制台用户token
		String adminToken = getAdminToken(BasicData.userName, BasicData.passWord, env);
		Map<String, Object> adminHeaders = new HashMap();
		adminHeaders.put("token", adminToken);
		//幸运夺宝箱列表
		String giftListUrl = "https://"+env+"-api-admin.apeiwan.com/api/v1/lottery/activity/list";
		Map<String, Object> activityListParams = new HashMap();
		activityListParams.put("pageNum", "1");
		activityListParams.put("pageSize", "10");
		activityListParams.put("activityType", "1");		
		JSONObject giftListJsonObj = HttpToolKit.invokePost(giftListUrl, adminHeaders, activityListParams).getJSONObject();
		return giftListJsonObj;
	}
	
	 /**
     * 开宝箱
     * @param env
     * @param mobile
     * @return
     */
	@Override
	public JSONObject lotteryActivity(String mobile,String roomNo, String activityId,String times,String env) {
		String sendUrl = "https://"+env+"-api-app.apeiwan.com/api/v3/virtual-product/lottery-activity";
		String appToken = this.getAppToken(mobile, env);
		Map<String, Object> sendParams = new HashMap();
		headers.put("token", appToken);
		sendParams.put("activityId", activityId);
		sendParams.put("roomNo", roomNo);
		sendParams.put("times", times);
		sendParams.put("timestamp", "1621828487580");
		JSONObject jsonObj = HttpToolKit.invokePost(sendUrl, headers, sendParams).getJSONObject();
		return jsonObj;
	}
	
	
	
	public static void main(String args[]){
		CosPlyaPlayerServiceImpl CosPlyaPlayerServiceImpl = new CosPlyaPlayerServiceImpl();
		String env = "t5";
		String mobile = "13823774138";
		String roomNo = "TEST902661";
		String productId = "444";
		String userIds = "2952662,2952651";
		String amount="1";
		long money=10;
		String times="1";
		String activityId="110";
		//JSONObject loginRes = CosPlyaPlayerServiceImpl.login(mobile,env);
		//String token = loginRes.getJSONObject("data").getString("token");
		//String userId = loginRes.getJSONObject("data").getString("id");
		//CosPlyaPlayerServiceImpl.SubmitAuthentication(token,userId,env);
		//CosPlyaPlayerServiceImpl.saveUserInfo(token, userId, env);
		//CosPlyaPlayerServiceImpl.virtualMoneyModify(mobile,money,env);
		//CosPlyaPlayerServiceImpl.send(mobile, roomNo, productId,amount,userIds,env);
		//CosPlyaPlayerServiceImpl.giftList(env);
		//CosPlyaPlayerServiceImpl.moneyDetailsSave(mobile, money, env);
		//CosPlyaPlayerServiceImpl.activityList(env);
		CosPlyaPlayerServiceImpl.lotteryActivity(mobile, roomNo, activityId, times, env);
	}

	
	
}