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/push/XMPushServiceImpl.java |  742 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 358 insertions(+), 384 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java
index e44614e..dffd425 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/push/XMPushServiceImpl.java
@@ -1,384 +1,358 @@
-package com.yeshi.fanli.service.impl.push;
-
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.mybatis.AppVersionInfoMapper;
-import com.yeshi.fanli.entity.AppVersionInfo;
-import com.yeshi.fanli.entity.bus.user.AccountMessage;
-import com.yeshi.fanli.entity.system.SystemZnx;
-import com.yeshi.fanli.entity.xinge.MessageInfo;
-import com.yeshi.fanli.entity.xinge.PushRecord;
-import com.yeshi.fanli.exception.PushException;
-import com.yeshi.fanli.log.PushLogHelper;
-import com.yeshi.fanli.service.inter.config.AppVersionService;
-import com.yeshi.fanli.service.inter.push.XMPushService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.push.PushUtils;
-
-import net.sf.json.JSONObject;
-
-@Service
-public class XMPushServiceImpl implements XMPushService {
-
-	@Resource
-	private AppVersionInfoMapper appVersionInfoMapper;
-	
-	@Resource
-	private AppVersionService appVersionService;
-
-	@Override
-	public void pushGoods(Long uid, Long auctionId, String title, String content, List<String> listVersion) throws PushException {
-	
-		// 鏃犳渶浣庣増鏈檺鍒�
-		int minVersionCode = 0;
-		String appVersion = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			appVersion = getCanPushVersions(minVersionCode, listVersion);
-		} else if (minVersionCode > 0) {
-			appVersion = getVersionByMinVersionCode(minVersionCode);
-		}
-
-		String gid = auctionId + "";
-		JSONObject json = new JSONObject();
-		// json.put("url", "http://item.taobao.com/item.htm?id=" + gid);// IOS浣跨敤
-		json.put("id", gid);
-		json.put("type", "goodsdetail");
-		json.put("miPushUrl", String.format("%s.ui.recommend.GoodsBrowserActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-		// 鐗堟湰鎺ㄩ��
-		if (appVersion != null && appVersion.trim().length() > 0) {
-			json.put("app_version", appVersion);
-		}
-		
-		MessageInfo info = new MessageInfo();
-		info.setTitle(title);
-		info.setContent(content);
-		info.setDescription(content);
-		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-		info.setActivty(String.format("%s.ui.recommend.GoodsBrowserActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-
-		PushRecord pushRecord = new PushRecord();
-		if (uid == null || uid == 0) {
-			// 灏忕背 鍏ㄦ帹
-			try {
-				PushUtils.allPushXiaoMi(info, json, pushRecord);
-			} catch (Exception e) {
-				PushLogHelper.xmError(e);
-			}
-		} else {
-			info.setAlias(uid + "");
-			// 灏忕背 鍗曟帹
-			PushUtils.singlePushXiaoMi(info, json, pushRecord);
-		}
-	}
-
-	@Override
-	public void pushUrl(Long uid, String url, String title, String content, List<String> listVersion) throws PushException {
-		// 鏃犳渶浣庣増鏈檺鍒�
-		int minVersionCode = 0;
-		String appVersion = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			appVersion = getCanPushVersions(minVersionCode, listVersion);
-		} else if (minVersionCode > 0) {
-			appVersion = getVersionByMinVersionCode(minVersionCode);
-		}
-		
-		JSONObject json = new JSONObject();
-		json.put("url", url);
-		json.put("type", "url");
-		json.put("webUrl", url);
-		json.put("miPushUrl", String.format("%s.ui.invite.ShareBrowserActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-		
-		// 鐗堟湰鎺ㄩ��
-		if (appVersion != null && appVersion.trim().length() > 0) {
-			json.put("app_version", appVersion);
-		}
-
-		MessageInfo info = new MessageInfo();
-		info.setTitle(title);
-		info.setContent(content);
-		info.setDescription(content);
-		// 灏忕背鎺ㄩ�佺綉椤�
-		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-		info.setActivty(String.format("%s.ui.invite.ShareBrowserActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-
-		PushRecord pushRecord = new PushRecord();
-
-		// 灏忕背 鍏ㄦ帹
-		if (uid == null || uid == 0) {
-			try {
-				PushUtils.allPushXiaoMi(info, json, pushRecord);
-			} catch (Exception e) {
-				PushLogHelper.xmError(e);
-			}
-		} else {
-			info.setAlias(uid + "");
-			PushUtils.singlePushXiaoMi(info, json, pushRecord);
-		}
-
-	}
-
-	@Override
-	public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, List<String> listVersion) throws PushException {
-		
-		// 鏃犳渶浣庣増鏈檺鍒�
-		int minVersionCode = 0;
-		String appVersion = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			appVersion = getCanPushVersions(minVersionCode, listVersion);
-		} else if (minVersionCode > 0) {
-			appVersion = getVersionByMinVersionCode(minVersionCode);
-		}
-		
-		MessageInfo info = new MessageInfo();
-		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-
-		JSONObject contentJson = new JSONObject();
-		contentJson.put("isOpen", 0);
-		contentJson.put("createTime", java.lang.System.currentTimeMillis());
-
-		/* 鏃爑id , 骞挎挱 鏁版嵁鎻掑叆绯荤粺琛� */
-		if (systemZNX != null) {
-			info.setTitle(systemZNX.getTitle());
-			info.setContent(systemZNX.getContent());
-			contentJson.put("title", systemZNX.getTitle());
-			contentJson.put("content", systemZNX.getContent());
-			info.setDescription(systemZNX.getContent());
-			// 灏忕背寮�濮嬪叏鎺�
-			long id = systemZNX.getId();
-			contentJson.put("id", id);
-
-			JSONObject json = new JSONObject();
-			json.put("type", "ZNX");
-			json.put("content", contentJson);
-			json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
-					Constant.systemCommonConfig.getAndroidBaseactivityName()));
-			// 鐗堟湰鎺ㄩ��
-			if (appVersion != null && appVersion.trim().length() > 0) {
-				json.put("app_version", appVersion);
-			}
-			
-			PushRecord pushRecord = new PushRecord();
-
-			// 灏忕背 鍏ㄦ帹
-			try {
-				PushUtils.allPushXiaoMi(info, json, pushRecord);
-			} catch (Exception e1) {
-				PushLogHelper.xmError(e1);
-			}
-		} else if (msg != null) {
-			info.setTitle(msg.getTitle());
-			info.setContent(msg.getContent());
-			contentJson.put("title", msg.getTitle());
-			contentJson.put("content", msg.getContent());
-			info.setDescription(msg.getContent());
-
-			// 鎻掑叆鎺ㄩ�佽褰�
-			PushRecord pushRecord = new PushRecord();
-			info.setAlias(uId + "");
-			info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-			info.setActivty(
-					String.format("%s.ui.BrowserActivity", Constant.systemCommonConfig.getAndroidBaseactivityName()));
-			contentJson.put("id", msg.getId() + "");
-
-			JSONObject json = new JSONObject();
-			json.put("type", "ZNX");
-			json.put("content", contentJson);
-			json.put("miPushUrl", String.format("%s.ui.mine.AppMailDetailActivity",
-					Constant.systemCommonConfig.getAndroidBaseactivityName()));
-			
-			// 鐗堟湰鎺ㄩ��
-			if (appVersion != null && appVersion.trim().length() > 0) {
-				json.put("app_version", appVersion);
-			}
-			
-			// 灏忕背 鍗曟帹
-			try {
-				PushUtils.singlePushXiaoMi(info, json, pushRecord);
-			} catch (Exception e) {
-				PushLogHelper.xmError(e);
-			}
-		}
-	}
-
-	@Override
-	public void pushWEEX(Long uid, String title, String content, String weexUrl, List<String> listVersion) throws PushException {
-
-		// 璁剧疆鍙帹閫佺増鏈�,1.4.8浠ュ悗鐨勭増鏈彲鎺ㄩ��
-		int minVersionCode = 31;
-		String appVersion = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			appVersion = getCanPushVersions(minVersionCode, listVersion);
-		} else if (minVersionCode > 0) {
-			appVersion = getVersionByMinVersionCode(minVersionCode);
-		}
-				
-		JSONObject json = new JSONObject();
-		json.put("url", weexUrl);
-		json.put("type", "weex");
-		// 鐗堟湰鎺ㄩ��
-		if (appVersion != null && appVersion.trim().length() > 0) {
-			json.put("app_version", appVersion);
-		}
-		
-		MessageInfo info = new MessageInfo();
-		info.setTitle(title);
-		info.setContent(content);
-		info.setDescription(content);
-		// 灏忕背鎺ㄩ�佺綉椤�
-		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-		info.setActivty(String.format("%s.ui.mine.weex.WeexApplicationActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-
-		PushRecord pushRecord = new PushRecord();
-
-		// 灏忕背 鍏ㄦ帹
-		if (uid == null || uid == 0) {
-			try {
-				PushUtils.allPushXiaoMi(info, json, pushRecord);
-			} catch (Exception e) {
-				PushLogHelper.xmError(e);
-			}
-		} else {
-			info.setAlias(uid + "");
-			PushUtils.singlePushXiaoMi(info, json, pushRecord);
-		}
-	}
-
-	private String getVersionByMinVersionCode(int versionCode) {
-		List<AppVersionInfo> list = appVersionInfoMapper
-				.listByPlatformAndMinVersionCode(AppVersionInfo.PLATFORM_ANDROID, versionCode);
-		String versions = "";
-		if (list != null)
-			for (AppVersionInfo appVersion : list) {
-				versions += appVersion.getVersion() + ",";
-
-			}
-		if (versions.endsWith(","))
-			versions = versions.substring(0, versions.length() - 1);
-
-		return versions;
-	}
-	
-	/**
-	 * 鏌ヨ鑳芥帹閫佺増鏈彿
-	 * @param versionCode
-	 * @param listVersion
-	 * @return
-	 */
-	private String getCanPushVersions(int versionCode, List<String> listVersion) {
-		List<AppVersionInfo> list = appVersionService.listByVersions(AppVersionInfo.PLATFORM_ANDROID, listVersion);
-		String versions = "";
-		
-		if (list != null) {
-			for (AppVersionInfo appVersion : list) {
-				Integer code =	appVersion.getVersionCode();
-				if (code != null && code >= versionCode) {
-					versions += appVersion.getVersion() + ",";
-				}
-			}
-		}
-		
-		if (versions.endsWith(",")) {
-			versions = versions.substring(0, versions.length() - 1);
-		}
-		
-		return versions;
-	}
-
-	@Override
-	public void pushBaiChuanUrl(Long uid, String title, String content, String url, List<String> listVersion) throws PushException {
-	
-		// 璁剧疆鍙帹閫佺増鏈�,1.4.8浠ュ悗鐨勭増鏈彲鎺ㄩ��
-		int minVersionCode = 31;
-		String appVersion = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			appVersion = getCanPushVersions(minVersionCode, listVersion);
-		} else if (minVersionCode > 0){
-			appVersion = getVersionByMinVersionCode(minVersionCode);
-		}
-		
-		JSONObject json = new JSONObject();
-		json.put("url", url);
-		json.put("type", "baichuan");
-		// 鐗堟湰鎺ㄩ��
-		if (appVersion != null && appVersion.trim().length() > 0) {
-			json.put("app_version", appVersion);
-		}
-
-		MessageInfo info = new MessageInfo();
-		info.setTitle(title);
-		info.setContent(content);
-		info.setDescription(content);
-		// 灏忕背鎺ㄩ�佺綉椤�
-		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-
-		PushRecord pushRecord = new PushRecord();
-
-		// 灏忕背 鍏ㄦ帹
-		if (uid == null || uid == 0) {
-			try {
-				PushUtils.allPushXiaoMi(info, json, pushRecord);
-			} catch (Exception e) {
-				PushLogHelper.xmError(e);
-			}
-		} else {
-			info.setAlias(uid + "");
-			PushUtils.singlePushXiaoMi(info, json, pushRecord);
-		}
-
-	}
-
-	@Override
-	public void pushWelfareCenter(Long uid, String title, String content, List<String> listVersion) throws PushException {
-		
-		// 1.5.1涔嬪悗鐨勭増鏈彲鎺ㄩ��
-		int minVersionCode = 36;
-		String appVersion = null;
-		if (listVersion != null && listVersion.size() > 0) {
-			appVersion = getCanPushVersions(minVersionCode, listVersion);
-		} else if (minVersionCode > 0){
-			appVersion = getVersionByMinVersionCode(minVersionCode);
-		}
-		
-		JSONObject json = new JSONObject();
-		json.put("type", "welfare");
-		json.put("miPushUrl", String.format("%s.ui.mine.WelfareCenterActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-		// 鐗堟湰鎺ㄩ��
-		if (appVersion != null && appVersion.trim().length() > 0) {
-			json.put("app_version", appVersion);
-		}
-
-		MessageInfo info = new MessageInfo();
-		info.setTitle(title);
-		info.setContent(content);
-		info.setDescription(content);
-		// 灏忕背鎺ㄩ�佺綉椤�
-		info.setPackageName(Constant.systemCommonConfig.getAndroidPackageName());
-		info.setActivty(String.format("%s.ui.mine.WelfareCenterActivity",
-				Constant.systemCommonConfig.getAndroidBaseactivityName()));
-
-		PushRecord pushRecord = new PushRecord();
-
-		// 灏忕背 鍏ㄦ帹
-		if (uid == null || uid == 0) {
-			try {
-				PushUtils.allPushXiaoMi(info, json, pushRecord);
-			} catch (Exception e) {
-				PushLogHelper.xmError(e);
-			}
-		} else {
-			info.setAlias(uid + "");
-			PushUtils.singlePushXiaoMi(info, json, pushRecord);
-		}
-	}
-
-}
+package com.yeshi.fanli.service.impl.push;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.config.SystemConfigKeyEnum;
+import com.yeshi.fanli.service.inter.config.SystemConfigService;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import com.yeshi.fanli.dto.push.PushTypeEnum;
+import com.yeshi.fanli.entity.bus.user.AccountMessage;
+import com.yeshi.fanli.entity.push.DeviceTokenXM;
+import com.yeshi.fanli.entity.system.SystemZnx;
+import com.yeshi.fanli.entity.xinge.MessageInfo;
+import com.yeshi.fanli.entity.xinge.PushRecord;
+import com.yeshi.fanli.exception.push.PushException;
+import com.yeshi.fanli.log.PushLogHelper;
+import com.yeshi.fanli.service.inter.push.DeviceTokenXMService;
+import com.yeshi.fanli.service.inter.push.XMPushService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.push.PushUtils;
+
+import net.sf.json.JSONObject;
+
+@Service
+public class XMPushServiceImpl implements XMPushService {
+
+    @Resource
+    private DeviceTokenXMService deviceTokenXMService;
+
+    @Resource
+    private SystemConfigService systemConfigService;
+
+    private List<String> getRegIds(Long uid) {
+        List<DeviceTokenXM> list = deviceTokenXMService.listByUid(uid);
+
+        List<String> regIds = new ArrayList<>();
+        if (list != null)
+            for (DeviceTokenXM token : list)
+                regIds.add(token.getRegisterId());
+        return regIds;
+    }
+
+    @Async("pushExecutor")
+    @Override
+    public void pushGoods(Long uid, String auctionId, String title, String content, String versions, SystemEnum system)
+            throws PushException {
+
+        String gid = auctionId + "";
+        JSONObject json = new JSONObject();
+        // json.put("url", "http://item.taobao.com/item.htm?id=" + gid);// IOS浣跨敤
+        json.put("id", gid);
+        json.put("type", PushTypeEnum.goodsdetail.name());
+        json.put("miPushUrl", String.format("%s.ui.recommend.GoodsBrowserActivity",
+                getAndroidPackageName(system)));
+
+        // 鐗堟湰鎺ㄩ��
+        if (versions != null && versions.trim().length() > 0) {
+            json.put("app_version", versions);
+        }
+
+        MessageInfo info = new MessageInfo();
+        info.setTitle(title);
+        info.setContent(content);
+        info.setDescription(content);
+        info.setPackageName(getAndroidBaseactivityName(system));
+        info.setActivty(String.format("%s.ui.recommend.GoodsBrowserActivity",
+                getAndroidPackageName(system)));
+
+        PushRecord pushRecord = new PushRecord();
+        if (uid == null || uid == 0) {
+            // 灏忕背 鍏ㄦ帹
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        } else {
+            info.setAlias(uid + "");
+            // 灏忕背 鍗曟帹
+            PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
+        }
+    }
+
+    @Async("pushExecutor")
+    @Override
+    public void pushUrl(Long uid, String url, String title, String content, String versions, SystemEnum system) throws PushException {
+
+        JSONObject json = new JSONObject();
+        json.put("url", url);
+        json.put("type", PushTypeEnum.url.name());
+        json.put("webUrl", url);
+        json.put("miPushUrl", String.format("%s.ui.invite.ShareBrowserActivity",
+                getAndroidPackageName(system)));
+
+        // 鐗堟湰鎺ㄩ��
+        if (versions != null && versions.trim().length() > 0) {
+            json.put("app_version", versions);
+        }
+
+        MessageInfo info = new MessageInfo();
+        info.setTitle(title);
+        info.setContent(content);
+        info.setDescription(content);
+        // 灏忕背鎺ㄩ�佺綉椤�
+        info.setPackageName(getAndroidBaseactivityName(system));
+        info.setActivty(String.format("%s.ui.invite.ShareBrowserActivity",
+                getAndroidPackageName(system)));
+
+        PushRecord pushRecord = new PushRecord();
+
+        // 灏忕背 鍏ㄦ帹
+        if (uid == null || uid == 0) {
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        } else {
+            info.setAlias(uid + "");
+            PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
+        }
+    }
+
+    @Async("pushExecutor")
+    @Override
+    public void pushZNX(Long uId, AccountMessage msg, SystemZnx systemZNX, String versions, SystemEnum system) throws PushException {
+
+        MessageInfo info = new MessageInfo();
+        info.setPackageName(getAndroidBaseactivityName(system));
+
+        JSONObject contentJson = new JSONObject();
+        contentJson.put("isOpen", 0);
+        contentJson.put("createTime", java.lang.System.currentTimeMillis());
+
+        /* 鏃爑id , 骞挎挱 鏁版嵁鎻掑叆绯荤粺琛� */
+        if (systemZNX != null) {
+            info.setTitle(systemZNX.getTitle());
+            info.setContent(systemZNX.getContent());
+            contentJson.put("title", systemZNX.getTitle());
+            contentJson.put("content", systemZNX.getContent());
+            info.setDescription(systemZNX.getContent());
+            // 灏忕背寮�濮嬪叏鎺�
+            long id = systemZNX.getId();
+            contentJson.put("id", id);
+
+            JSONObject json = new JSONObject();
+            json.put("type", PushTypeEnum.ZNX.name());
+            json.put("content", contentJson);
+            json.put("miPushUrl",
+                    String.format("%s.ui.main.MainActivity", getAndroidPackageName(system)));
+
+            // 鐗堟湰鎺ㄩ��
+            if (versions != null && versions.trim().length() > 0) {
+                json.put("app_version", versions);
+            }
+
+            PushRecord pushRecord = new PushRecord();
+
+            // 灏忕背 鍏ㄦ帹
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e1) {
+                PushLogHelper.xmError(e1);
+            }
+        } else if (msg != null) {
+            info.setTitle(msg.getTitle());
+            info.setContent(msg.getContent());
+            contentJson.put("title", msg.getTitle());
+            contentJson.put("content", msg.getContent());
+            info.setDescription(msg.getContent());
+
+            // 鎻掑叆鎺ㄩ�佽褰�
+            PushRecord pushRecord = new PushRecord();
+            info.setAlias(uId + "");
+            info.setPackageName(getAndroidBaseactivityName(system));
+            info.setActivty(
+                    String.format("%s.ui.BrowserActivity", getAndroidPackageName(system)));
+            contentJson.put("id", msg.getId() + "");
+
+            JSONObject json = new JSONObject();
+            json.put("type", PushTypeEnum.ZNX.name());
+            json.put("content", contentJson);
+            json.put("miPushUrl",
+                    String.format("%s.ui.main.MainActivity", getAndroidPackageName(system)));
+
+            // 鐗堟湰鎺ㄩ��
+            if (versions != null && versions.trim().length() > 0) {
+                json.put("app_version", versions);
+            }
+
+            // 灏忕背 鍗曟帹
+            try {
+                PushUtils.singlePushXiaoMi(info, json, getRegIds(uId), pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        }
+    }
+
+    @Async("pushExecutor")
+    @Override
+    public void pushWEEX(Long uid, String title, String content, String weexUrl, String versions, SystemEnum system) throws PushException {
+
+        JSONObject json = new JSONObject();
+        json.put("url", weexUrl);
+        json.put("type", PushTypeEnum.weex.name());
+
+        // 鐗堟湰鎺ㄩ��
+        if (versions != null && versions.trim().length() > 0) {
+            json.put("app_version", versions);
+        }
+
+        MessageInfo info = new MessageInfo();
+        info.setTitle(title);
+        info.setContent(content);
+        info.setDescription(content);
+        // 灏忕背鎺ㄩ�佺綉椤�
+        info.setPackageName(getAndroidBaseactivityName(system));
+        info.setActivty(String.format("%s.ui.mine.weex.WeexApplicationActivity",
+                getAndroidPackageName(system)));
+
+        PushRecord pushRecord = new PushRecord();
+
+        // 灏忕背 鍏ㄦ帹
+        if (uid == null || uid == 0) {
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        } else {
+            info.setAlias(uid + "");
+            PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
+        }
+    }
+
+    @Async("pushExecutor")
+    @Override
+    public void pushBaiChuanUrl(Long uid, String title, String content, String url, String versions, SystemEnum system)
+            throws PushException {
+
+        JSONObject json = new JSONObject();
+        json.put("url", url);
+        json.put("type", PushTypeEnum.baichuan.name());
+        // 鐗堟湰鎺ㄩ��
+        if (versions != null && versions.trim().length() > 0) {
+            json.put("app_version", versions);
+        }
+
+        MessageInfo info = new MessageInfo();
+        info.setTitle(title);
+        info.setContent(content);
+        info.setDescription(content);
+        // 灏忕背鎺ㄩ�佺綉椤�
+        info.setPackageName(getAndroidBaseactivityName(system));
+
+        PushRecord pushRecord = new PushRecord();
+
+        // 灏忕背 鍏ㄦ帹
+        if (uid == null || uid == 0) {
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        } else {
+            info.setAlias(uid + "");
+            PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
+        }
+    }
+
+    @Async("pushExecutor")
+    @Override
+    public void pushWelfareCenter(Long uid, String title, String content, String versions, SystemEnum system) throws PushException {
+
+        JSONObject json = new JSONObject();
+        json.put("type", PushTypeEnum.welfare.name());
+        json.put("miPushUrl", String.format("%s.ui.mine.WelfareCenterActivity",
+                getAndroidPackageName(system)));
+        // 鐗堟湰鎺ㄩ��
+        if (versions != null && versions.trim().length() > 0) {
+            json.put("app_version", versions);
+        }
+
+        MessageInfo info = new MessageInfo();
+        info.setTitle(title);
+        info.setContent(content);
+        info.setDescription(content);
+        // 灏忕背鎺ㄩ�佺綉椤�
+        info.setPackageName(getAndroidBaseactivityName(system));
+        info.setActivty(String.format("%s.ui.mine.WelfareCenterActivity",
+                getAndroidPackageName(system)));
+
+        PushRecord pushRecord = new PushRecord();
+
+        // 灏忕背 鍏ㄦ帹
+        if (uid == null || uid == 0) {
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        } else {
+            info.setAlias(uid + "");
+            PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
+        }
+    }
+
+    @Override
+    public void pushUserSignInNotification(Long uid, String title, String content, String versions, SystemEnum system)
+            throws PushException {
+        JSONObject json = new JSONObject();
+        json.put("type", PushTypeEnum.signin.name());
+        json.put("miPushUrl", String.format("%s.ui.goldtask.GoldTaskActivity",
+                getAndroidPackageName(system)));
+        // 鐗堟湰鎺ㄩ��
+        if (versions != null && versions.trim().length() > 0) {
+            json.put("app_version", versions);
+        }
+
+        MessageInfo info = new MessageInfo();
+        info.setTitle(title);
+        info.setContent(content);
+        info.setDescription(content);
+        // 灏忕背鎺ㄩ�佺綉椤�
+        info.setPackageName(getAndroidBaseactivityName(system));
+        info.setActivty(String.format("%s.ui.goldtask.GoldTaskActivity",
+                getAndroidPackageName(system)));
+
+        PushRecord pushRecord = new PushRecord();
+
+        // 灏忕背 鍏ㄦ帹
+        if (uid == null || uid == 0) {
+            try {
+                PushUtils.allPushXiaoMi(info, json, pushRecord);
+            } catch (Exception e) {
+                PushLogHelper.xmError(e);
+            }
+        } else {
+            info.setAlias(uid + "");
+            PushUtils.singlePushXiaoMi(info, json, getRegIds(uid), pushRecord);
+        }
+    }
+
+    private String getAndroidBaseactivityName(SystemEnum system) {
+        return systemConfigService.getValueCache(SystemConfigKeyEnum.androidBaseActivityName, system);
+    }
+
+    private String getAndroidPackageName(SystemEnum system) {
+        return systemConfigService.getValueCache(SystemConfigKeyEnum.androidPackageNames, system);
+    }
+
+}

--
Gitblit v1.8.0