From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/TBPidServiceImpl.java |  726 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 371 insertions(+), 355 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TBPidServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TBPidServiceImpl.java
index c80b8d7..ac54f39 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TBPidServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TBPidServiceImpl.java
@@ -1,355 +1,371 @@
-package com.yeshi.fanli.service.impl.user;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.yeshi.utils.HttpUtil;
-
-import com.yeshi.fanli.dao.mybatis.share.PidUserMapper;
-import com.yeshi.fanli.dao.mybatis.taobao.TBPidMapper;
-import com.yeshi.fanli.entity.taobao.ClientTBPid;
-import com.yeshi.fanli.entity.taobao.PidUser;
-import com.yeshi.fanli.entity.taobao.TBPid;
-import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.user.TBPidService;
-
-import net.sf.json.JSONObject;
-
-@Service
-public class TBPidServiceImpl implements TBPidService {
-
-	@Resource
-	private TBPidMapper tbPidMapper;
-
-	@Resource
-	private PidUserMapper pidUserMapper;
-
-	@Resource
-	private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
-	private String getCookie() {
-		String result = HttpUtil.get("http://193.112.35.168:8091/tb/cookie/getcookie?account=17784739772");
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		if (resultJSON.optInt("code") == 0) {
-			return resultJSON.optString("cookie");
-		} else {
-			return null;
-		}
-	}
-
-	private String getCookieBuXin() {
-		String result = HttpUtil.get("http://193.112.35.168:8091/tb/cookie/getcookie?account=17347953252");
-		JSONObject resultJSON = JSONObject.fromObject(result);
-		if (resultJSON.optInt("code") == 0) {
-			return resultJSON.optString("cookie");
-		} else {
-			return null;
-		}
-	}
-
-	private void reportCookieInvalid() {
-		String result = HttpUtil.get("http://193.112.35.168:8091/tb/cookie/getcookie?account=17784739772");
-	}
-
-	private boolean createPid() {
-
-		try {
-			Thread.sleep(1000 * 3 + (int) (Math.random() * 5000));
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-
-		Long count = tbPidMapper.count();
-		
-		String name = "quanqudao_" + count;
-
-		String cookies = getCookie();
-		if (cookies == null) {
-			try {
-				Thread.sleep(1000 * 10);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-			createPid();
-		}
-
-		String url = "https://pub.alimama.com/common/adzone/selfAdzoneCreate.json";
-		Map<String, String> headrers = new HashMap<>();
-		headrers.put("Cookie", cookies);
-		headrers.put("Origin", "http://pub.alimama.com");
-		headrers.put("Referer", "ttp://pub.alimama.com/promo/search/index.htm");
-		headrers.put("User-Agent",
-				"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
-		String[] sts = cookies.split(";");
-		String token = "";
-		for (String st : sts) {
-			if (st.contains("_tb_token_")) {
-				token = st.split("=")[1].trim();
-			}
-		}
-
-		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
-
-		Map<String, String> params = new HashMap<>();
-		params.put("tag", "29");
-		params.put("gcid", "7");
-		params.put("siteid", "56750082");
-		params.put("selectact", "add");
-
-		params.put("t", System.currentTimeMillis() + "");
-		params.put("_tb_token_", token);
-
-		params.put("newadzonename", name);
-		String result = (post(url, params, headrers));
-		JSONObject data = JSONObject.fromObject(result);
-		if (data.optBoolean("ok")) {
-			if (com.yeshi.fanli.util.StringUtil.isNullOrEmpty(data.optJSONObject("data").optString("adzoneId")))
-				return false;
-			String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(),
-					data.optJSONObject("data").optString("siteId"), data.optJSONObject("data").optString("adzoneId"));
-			TBPid tbPid = new TBPid();
-			tbPid.setCreatetime(System.currentTimeMillis());
-			tbPid.setName(name);
-			tbPid.setPid(pid);
-			tbPidMapper.insertSelective(tbPid);
-			return true;
-		} else {
-			System.out.println(result);
-		}
-
-		return false;
-	}
-
-	private boolean createPidBuXin() {
-
-		try {
-			Thread.sleep(1000 * 3 + (int) (Math.random() * 5000));
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-
-		Long count = tbPidMapper.count();
-		
-		String name = "tuiguang_" + count;
-
-		String cookies = getCookieBuXin();
-		if (cookies == null) {
-			try {
-				Thread.sleep(1000 * 10);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-			createPidBuXin();
-		}
-
-		String url = "http://pub.alimama.com/common/adzone/selfAdzoneCreate.json";
-		Map<String, String> headrers = new HashMap<>();
-		headrers.put("Cookie", cookies);
-		headrers.put("Origin", "http://pub.alimama.com");
-		headrers.put("Referer", "ttp://pub.alimama.com/promo/search/index.htm");
-		headrers.put("User-Agent",
-				"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
-		String[] sts = cookies.split(";");
-		String token = "";
-		for (String st : sts) {
-			if (st.contains("_tb_token_")) {
-				token = st.split("=")[1].trim();
-			}
-		}
-
-		Map<String, String> params = new HashMap<>();
-
-		double random = Math.random();
-		if (random > 0.6) {// android
-			params.put("tag", "29");
-			params.put("gcid", "7");
-			params.put("siteid", "45750814");
-		} else if (random > 0.3) // IOS
-		{
-			params.put("tag", "29");
-			params.put("gcid", "7");
-			params.put("siteid", "45820106");
-		} else// 瀵艰喘
-		{
-			params.put("tag", "29");
-			params.put("gcid", "8");
-			params.put("siteid", "45882200");
-		}
-		params.put("selectact", "add");
-
-		params.put("t", System.currentTimeMillis() + "");
-		params.put("_tb_token_", token);
-
-		params.put("newadzonename", name);
-		String result = (post(url, params, headrers));
-		JSONObject data = JSONObject.fromObject(result);
-		if (data.optBoolean("ok")) {
-			if (com.yeshi.fanli.util.StringUtil.isNullOrEmpty(data.optJSONObject("data").optString("adzoneId")))
-				return false;
-			String pid = String.format("mm_133239778_%s_%s", data.optJSONObject("data").optString("siteId"),
-					data.optJSONObject("data").optString("adzoneId"));
-			TBPid tbPid = new TBPid();
-			tbPid.setCreatetime(System.currentTimeMillis());
-			tbPid.setName(name);
-			tbPid.setPid(pid);
-			tbPidMapper.insert(tbPid);
-			return true;
-		} else {
-			System.out.println(result);
-		}
-
-		return false;
-	}
-
-	@Override
-	public void startCreatePid() {
-		for (int i = 1; i < 50000; i++) {
-			try {
-				createPid();
-			} catch (Exception e) {
-				e.printStackTrace();
-				try {
-					// 娌夌潯1鍒嗛挓鍐嶈瘯
-					Thread.sleep(1000 * 60L);
-				} catch (InterruptedException e1) {
-					e1.printStackTrace();
-				}
-			}
-
-		}
-	}
-
-	private String post(String url, Map<String, String> map, Map<String, String> headers) {
-		Iterator<String> its = map.keySet().iterator();
-		NameValuePair[] params = new NameValuePair[map.keySet().size()];
-		int p = 0;
-		while (its.hasNext()) {
-			String key = its.next();
-			NameValuePair np = new NameValuePair(key, map.get(key));
-			params[p] = np;
-			p++;
-		}
-
-		HttpClient client = new HttpClient();
-		PostMethod method = new PostMethod(url);
-
-		if (headers != null) {
-			its = headers.keySet().iterator();
-			while (its.hasNext()) {
-				String key = its.next();
-				method.addRequestHeader(key, headers.get(key));
-			}
-		}
-
-		method.setRequestBody(params);
-		try {
-			client.executeMethod(method);
-			return method.getResponseBodyAsString();
-		} catch (HttpException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		return "";
-	}
-
-	@Override
-	@Transactional
-	public TBPid getTBPid(Long uid, int type) {
-		// 宸茬粡鍒嗛厤鍚岀被鍨嬬殑PID
-		PidUser pidUser = pidUserMapper.selectLatestByUidAndType(uid, type);
-
-		if (type == PidUser.TYPE_SHARE_GOODS && pidUser != null) {// 鍒嗕韩璧氱壒娈婂鐞�
-			List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(type);
-			String pid = pidUser.getPid();
-			String appId = pid.split("_")[2];
-			if (configList.get(0).getAppId().equalsIgnoreCase(appId)) {
-				TBPid tbPid = new TBPid();
-				tbPid.setPid(pidUser.getPid());
-				return tbPid;
-			}
-		} else {
-			if (pidUser != null) {
-				TBPid tbPid = new TBPid();
-				tbPid.setPid(pidUser.getPid());
-				return tbPid;
-			}
-		}
-		TBPid tbPid = null;
-		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(type);
-		// 浠ユ煡璇㈠埌鐨勭涓�涓负涓籔ID锛屽綋涓籔ID缂哄け鐨勬椂鍊欓噰鐢ㄥ叾浠朠ID
-		for (TaoBaoUnionConfig config : configList) {
-			String prefix = String.format("mm_%s_%s_", config.getAccountId(), config.getAppId());
-			tbPid = tbPidMapper.selectAvailablePid(prefix.replace("_", "\\_") + "%");
-			if (tbPid != null) {
-				break;
-			}
-		}
-
-		if (tbPid != null) {
-			// 灏嗗厛鍓嶇殑PID璁剧疆涓哄凡鐢�
-			TBPid updateTBPid = new TBPid();
-			updateTBPid.setId(tbPid.getId());
-			updateTBPid.setUsed(true);
-			tbPidMapper.updateByPrimaryKeySelective(updateTBPid);
-			// 鎻掑叆瀵瑰簲鐨勭敤鎴稰ID鏄犲皠
-			pidUser = new PidUser();
-			pidUser.setPid(tbPid.getPid());
-			pidUser.setUid(uid);
-			pidUser.setType(type);
-			pidUserMapper.insertSelective(pidUser);
-			return tbPid;
-		} else {
-			LogHelper.error("鏃燩ID鍙敤:" + type);
-		}
-		return null;
-	}
-
-	@Override
-	public ClientTBPid getAndroidDefault() {
-		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
-		String pid = configList.get(0).getDefaultPid();
-		String siteId = pid.split("_")[2];
-		String adzoneId = pid.split("_")[3];
-		return new ClientTBPid(configList.get(0).getAppKey(), pid, siteId, adzoneId);
-	}
-
-	@Override
-	public ClientTBPid getIOSDefault() {
-		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_IOS);
-		String pid = configList.get(0).getDefaultPid();
-		String siteId = pid.split("_")[2];
-		String adzoneId = pid.split("_")[3];
-		return new ClientTBPid(configList.get(0).getAppKey(), pid, siteId, adzoneId);
-	}
-
-	@Override
-	public void startCreatePidBuXinJie() {
-		for (int i = 1; i < 50000; i++) {
-			try {
-				createPidBuXin();
-			} catch (Exception e) {
-				e.printStackTrace();
-				try {
-					// 娌夌潯1鍒嗛挓鍐嶈瘯
-					Thread.sleep(1000 * 60L);
-				} catch (InterruptedException e1) {
-					e1.printStackTrace();
-				}
-			}
-		}
-	}
-}
+package com.yeshi.fanli.service.impl.user;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.SystemPIDInfo;
+import com.yeshi.fanli.service.manger.PIDManager;
+import com.yeshi.fanli.util.Constant;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.NameValuePair;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.yeshi.utils.HttpUtil;
+
+import com.yeshi.fanli.dao.mybatis.share.PidUserMapper;
+import com.yeshi.fanli.dao.mybatis.taobao.TBPidMapper;
+import com.yeshi.fanli.entity.taobao.ClientTBPid;
+import com.yeshi.fanli.entity.taobao.PidUser;
+import com.yeshi.fanli.entity.taobao.TBPid;
+import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.user.TBPidService;
+import com.yeshi.fanli.util.TaoBaoConstant;
+
+import net.sf.json.JSONObject;
+
+@Service
+public class TBPidServiceImpl implements TBPidService {
+
+	@Resource
+	private TBPidMapper tbPidMapper;
+
+	@Resource
+	private PidUserMapper pidUserMapper;
+
+	@Resource
+	private TaoBaoUnionConfigService taoBaoUnionConfigService;
+
+	@Resource
+	private PIDManager pidManager;
+
+	private String getCookie() {
+		String result = HttpUtil.get("http://193.112.35.168:8091/tb/cookie/getcookie?account=17784739772");
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		if (resultJSON.optInt("code") == 0) {
+			return resultJSON.optString("cookie");
+		} else {
+			return null;
+		}
+	}
+
+	private String getCookieBuXin() {
+		String result = HttpUtil.get("http://193.112.35.168:8091/tb/cookie/getcookie?account=17347953252");
+		JSONObject resultJSON = JSONObject.fromObject(result);
+		if (resultJSON.optInt("code") == 0) {
+			return resultJSON.optString("cookie");
+		} else {
+			return null;
+		}
+	}
+
+	private void reportCookieInvalid() {
+		String result = HttpUtil.get("http://193.112.35.168:8091/tb/cookie/getcookie?account=17784739772");
+	}
+
+	private boolean createPid() {
+
+		try {
+			Thread.sleep(1000 * 3 + (int) (Math.random() * 5000));
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+
+		Long count = tbPidMapper.count();
+		
+		String name = "quanqudao_" + count;
+
+		String cookies = getCookie();
+		if (cookies == null) {
+			try {
+				Thread.sleep(1000 * 10);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
+			createPid();
+		}
+
+		String url = "https://pub.alimama.com/common/adzone/selfAdzoneCreate.json";
+		Map<String, String> headrers = new HashMap<>();
+		headrers.put("Cookie", cookies);
+		headrers.put("Origin", "http://pub.alimama.com");
+		headrers.put("Referer", "ttp://pub.alimama.com/promo/search/index.htm");
+		headrers.put("User-Agent",
+				"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
+		String[] sts = cookies.split(";");
+		String token = "";
+		for (String st : sts) {
+			if (st.contains("_tb_token_")) {
+				token = st.split("=")[1].trim();
+			}
+		}
+
+		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+
+		Map<String, String> params = new HashMap<>();
+		params.put("tag", "29");
+		params.put("gcid", "7");
+		params.put("siteid", "56750082");
+		params.put("selectact", "add");
+
+		params.put("t", System.currentTimeMillis() + "");
+		params.put("_tb_token_", token);
+
+		params.put("newadzonename", name);
+		String result = (post(url, params, headrers));
+		JSONObject data = JSONObject.fromObject(result);
+		if (data.optBoolean("ok")) {
+			if (com.yeshi.fanli.util.StringUtil.isNullOrEmpty(data.optJSONObject("data").optString("adzoneId")))
+				return false;
+			String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(),
+					data.optJSONObject("data").optString("siteId"), data.optJSONObject("data").optString("adzoneId"));
+			TBPid tbPid = new TBPid();
+			tbPid.setCreatetime(System.currentTimeMillis());
+			tbPid.setName(name);
+			tbPid.setPid(pid);
+			tbPidMapper.insertSelective(tbPid);
+			return true;
+		} else {
+			System.out.println(result);
+		}
+
+		return false;
+	}
+
+	private boolean createPidBuXin() {
+
+		try {
+			Thread.sleep(1000 * 3 + (int) (Math.random() * 5000));
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+
+		Long count = tbPidMapper.count();
+		
+		String name = "tuiguang_" + count;
+
+		String cookies = getCookieBuXin();
+		if (cookies == null) {
+			try {
+				Thread.sleep(1000 * 10);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
+			createPidBuXin();
+		}
+
+		String url = "http://pub.alimama.com/common/adzone/selfAdzoneCreate.json";
+		Map<String, String> headrers = new HashMap<>();
+		headrers.put("Cookie", cookies);
+		headrers.put("Origin", "http://pub.alimama.com");
+		headrers.put("Referer", "ttp://pub.alimama.com/promo/search/index.htm");
+		headrers.put("User-Agent",
+				"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36");
+		String[] sts = cookies.split(";");
+		String token = "";
+		for (String st : sts) {
+			if (st.contains("_tb_token_")) {
+				token = st.split("=")[1].trim();
+			}
+		}
+
+		Map<String, String> params = new HashMap<>();
+
+		double random = Math.random();
+		if (random > 0.6) {// android
+			params.put("tag", "29");
+			params.put("gcid", "7");
+			params.put("siteid", "45750814");
+		} else if (random > 0.3) // IOS
+		{
+			params.put("tag", "29");
+			params.put("gcid", "7");
+			params.put("siteid", "45820106");
+		} else// 瀵艰喘
+		{
+			params.put("tag", "29");
+			params.put("gcid", "8");
+			params.put("siteid", "45882200");
+		}
+		params.put("selectact", "add");
+
+		params.put("t", System.currentTimeMillis() + "");
+		params.put("_tb_token_", token);
+
+		params.put("newadzonename", name);
+		String result = (post(url, params, headrers));
+		JSONObject data = JSONObject.fromObject(result);
+		if (data.optBoolean("ok")) {
+			if (com.yeshi.fanli.util.StringUtil.isNullOrEmpty(data.optJSONObject("data").optString("adzoneId")))
+				return false;
+			String pid = String.format("mm_133239778_%s_%s", data.optJSONObject("data").optString("siteId"),
+					data.optJSONObject("data").optString("adzoneId"));
+			TBPid tbPid = new TBPid();
+			tbPid.setCreatetime(System.currentTimeMillis());
+			tbPid.setName(name);
+			tbPid.setPid(pid);
+			tbPidMapper.insert(tbPid);
+			return true;
+		} else {
+			System.out.println(result);
+		}
+
+		return false;
+	}
+
+	@Override
+	public void startCreatePid() {
+		for (int i = 1; i < 50000; i++) {
+			try {
+				createPid();
+			} catch (Exception e) {
+				e.printStackTrace();
+				try {
+					// 娌夌潯1鍒嗛挓鍐嶈瘯
+					Thread.sleep(1000 * 60L);
+				} catch (InterruptedException e1) {
+					e1.printStackTrace();
+				}
+			}
+
+		}
+	}
+
+	private String post(String url, Map<String, String> map, Map<String, String> headers) {
+		Iterator<String> its = map.keySet().iterator();
+		NameValuePair[] params = new NameValuePair[map.keySet().size()];
+		int p = 0;
+		while (its.hasNext()) {
+			String key = its.next();
+			NameValuePair np = new NameValuePair(key, map.get(key));
+			params[p] = np;
+			p++;
+		}
+
+		HttpClient client = new HttpClient();
+		PostMethod method = new PostMethod(url);
+
+		if (headers != null) {
+			its = headers.keySet().iterator();
+			while (its.hasNext()) {
+				String key = its.next();
+				method.addRequestHeader(key, headers.get(key));
+			}
+		}
+
+		method.setRequestBody(params);
+		try {
+			client.executeMethod(method);
+			return method.getResponseBodyAsString();
+		} catch (HttpException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return "";
+	}
+
+	@Override
+	@Transactional
+	public TBPid getTBPid(Long uid, int type) {
+		// 宸茬粡鍒嗛厤鍚岀被鍨嬬殑PID
+		PidUser pidUser = pidUserMapper.selectLatestByUidAndType(uid, type);
+
+		if (type == PidUser.TYPE_SHARE_GOODS && pidUser != null) {// 鍒嗕韩璧氱壒娈婂鐞�
+			List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(type);
+			String pid = pidUser.getPid();
+			String appId = pid.split("_")[2];
+			if (configList.get(0).getAppId().equalsIgnoreCase(appId)) {
+				TBPid tbPid = new TBPid();
+				tbPid.setPid(pidUser.getPid());
+				return tbPid;
+			}
+		} else {
+			if (pidUser != null) {
+				TBPid tbPid = new TBPid();
+				tbPid.setPid(pidUser.getPid());
+				return tbPid;
+			}
+		}
+		TBPid tbPid = null;
+		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(type);
+		// 浠ユ煡璇㈠埌鐨勭涓�涓负涓籔ID锛屽綋涓籔ID缂哄け鐨勬椂鍊欓噰鐢ㄥ叾浠朠ID
+		for (TaoBaoUnionConfig config : configList) {
+			String prefix = String.format("mm_%s_%s_", config.getAccountId(), config.getAppId());
+			tbPid = tbPidMapper.selectAvailablePid(prefix.replace("_", "\\_") + "%");
+			if (tbPid != null) {
+				break;
+			}
+		}
+
+		if (tbPid != null) {
+			// 灏嗗厛鍓嶇殑PID璁剧疆涓哄凡鐢�
+			TBPid updateTBPid = new TBPid();
+			updateTBPid.setId(tbPid.getId());
+			updateTBPid.setUsed(true);
+			tbPidMapper.updateByPrimaryKeySelective(updateTBPid);
+			// 鎻掑叆瀵瑰簲鐨勭敤鎴稰ID鏄犲皠
+			pidUser = new PidUser();
+			pidUser.setPid(tbPid.getPid());
+			pidUser.setUid(uid);
+			pidUser.setType(type);
+			pidUserMapper.insertSelective(pidUser);
+			return tbPid;
+		} else {
+			LogHelper.error("鏃燩ID鍙敤:" + type);
+		}
+		return null;
+	}
+
+	@Override
+	public ClientTBPid getAndroidDefault() {
+		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+		String pid = configList.get(0).getDefaultPid();
+		String siteId = pid.split("_")[2];
+		String adzoneId = pid.split("_")[3];
+		return new ClientTBPid(configList.get(0).getAppKey(), pid, siteId, adzoneId);
+	}
+
+	@Override
+	public ClientTBPid getIOSDefault() {
+		List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_IOS);
+		String pid = configList.get(0).getDefaultPid();
+		String siteId = pid.split("_")[2];
+		String adzoneId = pid.split("_")[3];
+		return new ClientTBPid(configList.get(0).getAppKey(), pid, siteId, adzoneId);
+	}
+
+	@Override
+	public void startCreatePidBuXinJie() {
+		for (int i = 1; i < 50000; i++) {
+			try {
+				createPidBuXin();
+			} catch (Exception e) {
+				e.printStackTrace();
+				try {
+					// 娌夌潯1鍒嗛挓鍐嶈瘯
+					Thread.sleep(1000 * 60L);
+				} catch (InterruptedException e1) {
+					e1.printStackTrace();
+				}
+			}
+		}
+	}
+
+	@Override
+	public ClientTBPid getSharePid(SystemEnum system) {
+		String pid = pidManager.getPidCache(system, Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share);
+		ClientTBPid clientTBPid = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, pid, pid.split("_")[2],
+				pid.split("_")[3]);
+		return clientTBPid;
+	}
+}

--
Gitblit v1.8.0