admin
2024-04-26 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c
fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java
@@ -1,5 +1,10 @@
package com.yeshi.fanli.service.impl.push;
import com.ks.push.exception.BPushTaskException;
import com.ks.push.pojo.DO.BPushFilter;
import com.ks.push.pojo.DO.BPushMessage;
import com.ks.push.pojo.DO.BPushTask;
import com.ks.push.service.BPushTaskService;
import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
import com.yeshi.fanli.dao.mybatis.push.PushRecordMapper;
import com.yeshi.fanli.dto.push.PushBaseContent;
@@ -8,28 +13,39 @@
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.entity.bus.user.AccountMessage;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.common.JumpDetailV2;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemZnx;
import com.yeshi.fanli.entity.xinge.PushRecord;
import com.yeshi.fanli.exception.push.PushException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.config.SystemConfigService;
import com.yeshi.fanli.service.inter.push.*;
import com.yeshi.fanli.service.inter.user.SystemZnxService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONObject;
import org.apache.dubbo.config.annotation.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.*;
@Service
public class PushServiceImpl implements PushService {
    Logger logger = LoggerFactory.getLogger(PushService.class);
    static String PROJECT_NAME = "";
    static {
        PROJECT_NAME = Constant.systemCommonConfig.getProjectChineseName();
    }
    @Resource
    private SystemZnxService systemZnxService;
@@ -57,9 +73,14 @@
    @Resource
    private AppVersionService appVersionService;
    @Reference(version = "1.0", check = false)
    private BPushTaskService bPushTaskService;
    @Resource
    private SystemConfigService systemConfigService;
    private ConfigService configService;
    @Resource
    private JumpDetailV2Service jumpDetailV2Service;
    @Override
    public void pushGoods(Long uid, String title, String content, String url, List<String> listIOS,
@@ -73,45 +94,62 @@
        if (StringUtil.isNullOrEmpty(content))
            throw new PushException(1, "请填写推送内容");
        /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listIOS == null || listIOS.size() > 0) {
            // 限制推送版本号:0
            String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushGoods(uid, Long.parseLong(gid), title, content, codes,  system);
        if (system.isNewPush()) {
            List<Long> uidList = null;
            if (uid != null) {
                uidList = new ArrayList<>();
                uidList.add(uid);
            }
        }
        /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listAndroid == null || listAndroid.size() > 0) {
            // 限制推送版本号:0
            String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushGoods(uid, Long.parseLong(gid), title, content, versions,  system);
            }
            // 华为推送
            List<Integer> versionCodeList = null;
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                hwPushService.pushGoods(uid, Long.parseLong(gid), new PushBaseContent(title, content, versionCodeList, system));
            }
            try {
                newPush(system, uidList, versionCodeList, null, title, content, NewPushExtraParamsFactory.createGoods(jumpDetailV2Service.getByTypeCache("goodsdetail", system), gid, Constant.SOURCE_TYPE_TAOBAO));
            } catch (BPushTaskException e) {
                logger.error("推送-商品:{}", gid, e);
            }
        } else {
            /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listIOS == null || listIOS.size() > 0) {
                // 限制推送版本号:0
                String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
                if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                    iosPushService.pushGoods(uid, gid, title, content, codes, system);
                }
            }
            // OPPO推送
            /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                oPPOPushService.pushGoods(uid, Long.parseLong(gid), new PushBaseContent(title, content, versionCodeList, system));
            }
            // VIVO推送
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                vIVOPushService.pushGoods(uid, Long.parseLong(gid), new PushBaseContent(title, content, versionCodeList, system));
            }
                // 限制推送版本号:0
                String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
                if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                    xmPushService.pushGoods(uid, gid, title, content, versions, system);
                }
                // 华为推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    hwPushService.pushGoods(uid, gid, new PushBaseContent(title, content, versionCodeList, system));
                }
                // OPPO推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    oPPOPushService.pushGoods(uid, gid, new PushBaseContent(title, content, versionCodeList, system));
                }
                // VIVO推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    vIVOPushService.pushGoods(uid, gid, new PushBaseContent(title, content, versionCodeList, system));
                }
            }
        }
        PushRecord pushRecord = new PushRecord();
@@ -137,47 +175,66 @@
        if (StringUtil.isNullOrEmpty(content))
            throw new PushException(1, "无推送内容");
        /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listIOS == null || listIOS.size() > 0) {
            // 限制推送版本号:0
            String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushUrl(uid, url, title, content, codes,system);
            }
        }
        /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listAndroid == null || listAndroid.size() > 0) {
            // 限制推送版本号:0
            String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushUrl(uid, url, title, content, versions,system);
        if (system.isNewPush()) {
            List<Long> uidList = null;
            if (uid != null) {
                uidList = new ArrayList<>();
                uidList.add(uid);
            }
            // 华为推送
            List<Integer> versionCodeList = null;
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                hwPushService.pushUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            }
            try {
                newPush(system, uidList, versionCodeList, null, title, content, NewPushExtraParamsFactory.createUrl(jumpDetailV2Service.getByTypeCache("web", system), url));
            } catch (BPushTaskException e) {
                logger.error("推送-链接:{}", url, e);
            }
        } else {
            /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listIOS == null || listIOS.size() > 0) {
                // 限制推送版本号:0
                String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
                if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                    iosPushService.pushUrl(uid, url, title, content, codes, system);
                }
            }
            // OPPO推送
            /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                oPPOPushService.pushUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            }
                // 限制推送版本号:0
                String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
                if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                    xmPushService.pushUrl(uid, url, title, content, versions, system);
                }
            // VIVO推送
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                vIVOPushService.pushUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            }
                // 华为推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    hwPushService.pushUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
                }
                // OPPO推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    oPPOPushService.pushUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
                }
                // VIVO推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    vIVOPushService.pushUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
                }
            }
        }
        PushRecord pushRecord = new PushRecord();
@@ -220,45 +277,64 @@
            accountMessageMapper.insertSelective(accountMessage);
        }
        /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listIOS == null || listIOS.size() > 0) {
            // 限制推送版本号:0
            String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushZNX(uId, accountMessage, systemZnx, codes,system);
        if (system.isNewPush()) {
            logger.debug("新版站内信推送开始:uid-{} title-{} content-{}", new Object[]{uId, title, content});
            List<Long> uidList = null;
            if (uId != null) {
                uidList = new ArrayList<>();
                uidList.add(uId);
            }
        }
        /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listAndroid == null || listAndroid.size() > 0) {
            // 限制推送版本号:0
            String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushZNX(uId, accountMessage, systemZnx, versions,system);
            }
            // 华为推送
            List<Integer> versionCodeList = null;
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                hwPushService.pushZNX(uId, new PushBaseContent(title, content, versionCodeList, system));
            }
            try {
                newPush(system, uidList, versionCodeList, null, title, content, NewPushExtraParamsFactory.createZNX(jumpDetailV2Service.getByTypeCache("system_msg", system)));
            } catch (BPushTaskException e) {
                logger.error("推送-站内信:{}", uId + "", e);
            }
        } else {
            /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listIOS == null || listIOS.size() > 0) {
                // 限制推送版本号:0
                String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
                if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                    iosPushService.pushZNX(uId, accountMessage, systemZnx, codes, system);
                }
            }
            // OPPO推送
            /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                oPPOPushService.pushZNX(uId, new PushBaseContent(title, content, versionCodeList, system));
            }
                // 限制推送版本号:0
                String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
                if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                    xmPushService.pushZNX(uId, accountMessage, systemZnx, versions, system);
                }
            // VIVO推送
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                vIVOPushService.pushZNX(uId, new PushBaseContent(title, content, versionCodeList, system));
                // 华为推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    hwPushService.pushZNX(uId, new PushBaseContent(title, content, versionCodeList, system));
                }
                // OPPO推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    oPPOPushService.pushZNX(uId, new PushBaseContent(title, content, versionCodeList, system));
                }
                // VIVO推送
                if (listAndroid == null || listAndroid.size() > 0) {
                    List<Integer> versionCodeList = null;
                    if (listAndroid != null)
                        versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                    vIVOPushService.pushZNX(uId, new PushBaseContent(title, content, versionCodeList, system));
                }
            }
        }
@@ -288,7 +364,7 @@
            // 限制推送版本号:0
            String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushWEEX(uid, title, content, weexUrl, codes,system);
                iosPushService.pushWEEX(uid, title, content, weexUrl, codes, system);
            }
        }
@@ -297,7 +373,7 @@
            // 限制推送版本号:31
            String versions = getEffectiveVersions(0, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushWEEX(uid, title, content, weexUrl, versions,system);
                xmPushService.pushWEEX(uid, title, content, weexUrl, versions, system);
            }
        }
@@ -345,48 +421,67 @@
        if (StringUtil.isNullOrEmpty(content))
            throw new PushException(1, "无推送内容");
        // 适用版本 1.4.8及以后 推送百川网页
        /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listIOS == null || listIOS.size() > 0) {
            // 限制推送版本号:0
            String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushBaiChuanUrl(uid, title, content, url, codes,system);
        if (system.isNewPush()) {
            List<Long> uidList = null;
            if (uid != null) {
                uidList = new ArrayList<>();
                uidList.add(uid);
            }
        }
        /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
        if (listAndroid == null || listAndroid.size() > 0) {
            // 限制推送版本号:31
            String versions = getEffectiveVersions(31, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushBaiChuanUrl(uid, title, content, url, versions,system);
            List<Integer> versionCodeList = null;
            if (listAndroid == null || listAndroid.size() > 0) {
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
            }
        }
            try {
                newPush(system, uidList, versionCodeList, null, title, content, NewPushExtraParamsFactory.createBaichuan(jumpDetailV2Service.getByTypeCache("baichuan", system), url));
            } catch (BPushTaskException e) {
                logger.error("推送-百川:{}", url, e);
            }
        } else {
        // 华为推送
        if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
                versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
            hwPushService.pushBaiChuanUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
        }
            // 适用版本 1.4.8及以后 推送百川网页
        // OPPO推送
        if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
                versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
            oPPOPushService.pushBaiChuanUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
        }
            /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listIOS == null || listIOS.size() > 0) {
                // 限制推送版本号:0
                String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
                if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                    iosPushService.pushBaiChuanUrl(uid, title, content, url, codes, system);
                }
            }
        // VIVO推送
        if (listAndroid == null || listAndroid.size() > 0) {
            List<Integer> versionCodeList = null;
            if (listAndroid != null)
                versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
            vIVOPushService.pushBaiChuanUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
            if (listAndroid == null || listAndroid.size() > 0) {
                // 限制推送版本号:31
                String versions = getEffectiveVersions(31, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
                if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                    xmPushService.pushBaiChuanUrl(uid, title, content, url, versions, system);
                }
            }
            // 华为推送
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                hwPushService.pushBaiChuanUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            }
            // OPPO推送
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                oPPOPushService.pushBaiChuanUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            }
            // VIVO推送
            if (listAndroid == null || listAndroid.size() > 0) {
                List<Integer> versionCodeList = null;
                if (listAndroid != null)
                    versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid, system);
                vIVOPushService.pushBaiChuanUrl(uid, url, new PushBaseContent(title, content, versionCodeList, system));
            }
        }
        // 插入推送记录
@@ -415,7 +510,7 @@
            // 限制推送版本号:0
            String codes = getEffectiveVersionCodes(0, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushWelfareCenter(uid, title, content, codes,system);
                iosPushService.pushWelfareCenter(uid, title, content, codes, system);
            }
        }
@@ -424,7 +519,7 @@
            // 限制推送版本号:36
            String versions = getEffectiveVersions(36, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushWelfareCenter(uid, title, content, versions,system);
                xmPushService.pushWelfareCenter(uid, title, content, versions, system);
            }
        }
@@ -554,7 +649,7 @@
            // 限制推送版本号:1.6.5以后
            String codes = getEffectiveVersionCodes(60, AppVersionInfo.PLATFORM_IOS, listIOS, system);
            if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
                iosPushService.pushUserSignInNotification(uid, title, content, codes,system);
                iosPushService.pushUserSignInNotification(uid, title, content, codes, system);
            }
        }
@@ -563,7 +658,7 @@
            // 限制推送版本号:1.6.5以后
            String versions = getEffectiveVersions(47, AppVersionInfo.PLATFORM_ANDROID, listAndroid, system);
            if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
                xmPushService.pushUserSignInNotification(uid, title, content, versions,system);
                xmPushService.pushUserSignInNotification(uid, title, content, versions, system);
            }
        }
@@ -602,4 +697,92 @@
        pushRecordMapper.insertSelective(pushRecord);
    }
    private void newPush(SystemEnum system, List<Long> uidList, List<Integer> versionCodeList, Date startPushTime, String title, String content, Map<String, String> params) throws BPushTaskException {
        logger.debug("新版推送开始:title-{} content-{}", new Object[]{title, content});
        //灰度测试
//        if (uidList == null || uidList.size() == 0 || uidList.size() > 1)
//            return;
        BPushFilter filter = new BPushFilter();
        //设置用户信息
        List<String> uidStrList = null;
        if (uidList != null && uidList.size() > 0) {
            uidStrList = new ArrayList<>();
            for (Long uid : uidList) {
                uidStrList.add(uid + "");
            }
        }
        filter.setUidList(uidStrList);
        filter.setVersionCodeList(versionCodeList);
        //默认推送最近两个月的活跃用户
        filter.setMinActiveTime(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 60));
        filter.setStartPushTime(startPushTime);
        BPushMessage message = new BPushMessage();
        message.setAndroidActivityScheme(configService.getValue(ConfigKeyEnum.pushAndroidActivityScheme, system));
        message.setAndroidActivity(configService.getValue(ConfigKeyEnum.pushAndroidActivity, system));
        message.setAndroidHostPath(configService.getValue(ConfigKeyEnum.pushAndroidHostPath, system));
        message.setTitle(title);
        message.setContent(content);
        message.setExtras(params);
        BPushTask pushTask = new BPushTask();
        pushTask.setFilter(filter);
        pushTask.setAppCode(system.name());
        pushTask.setMessage(message);
        String taskId = bPushTaskService.createTask(pushTask);
        if (startPushTime == null) {
            bPushTaskService.startPush(taskId);
        }
        logger.debug("新版推送灰度测试结束:title-{} content-{}", new Object[]{title, content});
    }
    private static class NewPushExtraParamsFactory {
        public static Map<String, String> createCommon(JumpDetailV2 jumpDetail, JSONObject cps) {
            Map<String, String> params = new HashMap<>();
            params.put("activity", jumpDetail.getActivity());
            params.put("type", jumpDetail.getType());
            params.put("controller", jumpDetail.getController());
            if (cps != null)
                params.put("params", cps.toString());
            return params;
        }
        //单品推送
        public static Map<String, String> createGoods(JumpDetailV2 jumpDetail, String goodsId, Integer goodsType) {
            JSONObject cps = new JSONObject();
            cps.put("goodsId", goodsId);
            cps.put("goodsType", goodsType);
            cps.put("from", "push");
            return createCommon(jumpDetail, cps);
        }
        //站内信
        public static Map<String, String> createZNX(JumpDetailV2 jumpDetail) {
            return createCommon(jumpDetail, null);
        }
        //推送链接
        public static Map<String, String> createUrl(JumpDetailV2 jumpDetail, String url) {
            JSONObject cps = new JSONObject();
            cps.put("url", url);
            cps.put("from", "push");
            return createCommon(jumpDetail, cps);
        }
        //推送百川链接
        public static Map<String, String> createBaichuan(JumpDetailV2 jumpDetail, String url) {
            JSONObject cps = new JSONObject();
            cps.put("url", url);
            cps.put("from", "push");
            return createCommon(jumpDetail, cps);
        }
    }
}