admin
2019-08-27 fe879975a3e8a0a1aa280fb839e02d159bfbcff8
fanli/src/main/java/com/yeshi/fanli/service/impl/push/PushServiceImpl.java
@@ -9,6 +9,7 @@
import com.yeshi.fanli.controller.admin.PushController;
import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
import com.yeshi.fanli.dao.mybatis.push.PushRecordMapper;
import com.yeshi.fanli.dto.push.PushTypeEnum;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.bus.user.AccountMessage;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -104,7 +105,7 @@
      PushRecord pushRecord = new PushRecord();
      pushRecord.setUid(uid);
      pushRecord.setState(1);
      pushRecord.setType(PushController.GOODS); // 都成功
      pushRecord.setType(PushTypeEnum.goodsdetail.getCode()); // 都成功
      pushRecord.setUrl(url);
      pushRecord.setTitle(title);
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
@@ -153,7 +154,7 @@
      PushRecord pushRecord = new PushRecord();
      pushRecord.setUid(uid);
      pushRecord.setState(1);
      pushRecord.setType(PushController.URL);
      pushRecord.setType(PushTypeEnum.url.getCode());
      pushRecord.setUrl(url);
      pushRecord.setTitle(title);
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
@@ -221,7 +222,7 @@
      pushRecord.setUid(uId);
      pushRecord.setTitle(title);
      pushRecord.setState(1); // 成功
      pushRecord.setType(PushController.ZNX); // 类型:站内信
      pushRecord.setType(PushTypeEnum.ZNX.getCode()); // 类型:站内信
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
      pushRecord.setCreatetime(java.lang.System.currentTimeMillis());
      pushRecordMapper.insertSelective(pushRecord);
@@ -268,7 +269,7 @@
      pushRecord.setTitle(title);
      pushRecord.setUid(uid);
      pushRecord.setState(1); // 成功
      pushRecord.setType(PushController.WEEX); // 类型:WEEX
      pushRecord.setType(PushTypeEnum.weex.getCode()); // 类型:WEEX
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
      pushRecord.setCreatetime(java.lang.System.currentTimeMillis());
      pushRecordMapper.insertSelective(pushRecord);
@@ -317,7 +318,7 @@
      pushRecord.setTitle(title);
      pushRecord.setUid(uid);
      pushRecord.setState(1); // 成功
      pushRecord.setType(PushController.BAICHUAN); // 类型:百川
      pushRecord.setType(PushTypeEnum.baichuan.getCode()); // 类型:百川
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
      pushRecord.setCreatetime(java.lang.System.currentTimeMillis());
      pushRecordMapper.insertSelective(pushRecord);
@@ -363,7 +364,7 @@
      pushRecord.setTitle(title);
      pushRecord.setUid(uid);
      pushRecord.setState(1); // 成功
      pushRecord.setType(PushController.WELFARE_CENTER); // 类型:百川
      pushRecord.setType(PushTypeEnum.welfare.getCode()); // 类型:百川
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
      pushRecord.setCreatetime(java.lang.System.currentTimeMillis());
      pushRecordMapper.insertSelective(pushRecord);
@@ -449,4 +450,49 @@
      return versionCodes;
   }
   @Override
   public void pushUserSignInNotification(Long uid, String title, String content, List<String> listIOS,
         List<String> listAndroid) throws PushException {
      if (StringUtil.isNullOrEmpty(title))
         throw new PushException(1, "无推送标题");
      if (StringUtil.isNullOrEmpty(content))
         throw new PushException(1, "无推送内容");
      /* IOS端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listIOS == null || listIOS.size() > 0) {
         // 限制推送版本号:1.6.5以后
         String codes = getEffectiveVersionCodes(60, AppVersionInfo.PLATFORM_IOS, listIOS);
         if (listIOS == null || (listIOS.size() > 0 && codes != null && codes.trim().length() > 0)) {
            iosPushService.pushUserSignInNotification(uid, title, content, codes);
         }
      }
      /* Android端推送 (注明:list等于 'null' 时全推, size等于0 不做推送) */
      if (listAndroid == null || listAndroid.size() > 0) {
         // 限制推送版本号:1.6.5以后
         String versions = getEffectiveVersions(47, AppVersionInfo.PLATFORM_ANDROID, listAndroid);
         if (listAndroid == null || (listAndroid.size() > 0 && versions != null && versions.trim().length() > 0)) {
            xmPushService.pushUserSignInNotification(uid, title, content, versions);
         }
      }
      // 华为推送
      if (listAndroid == null || listAndroid.size() > 0) {
         List<Integer> versionCodeList = null;
         if (listAndroid != null)
            versionCodeList = appVersionService.listVersionCodeByVersions("android", listAndroid);
         hwPushService.pushUserSignInNotification(uid, title, content, versionCodeList);
      }
      // 插入推送记录
      PushRecord pushRecord = new PushRecord();
      pushRecord.setTitle(title);
      pushRecord.setUid(uid);
      pushRecord.setState(1); // 成功
      pushRecord.setType(PushTypeEnum.signin.getCode()); // 类型:百川
      pushRecord.setAppName(Constant.systemCommonConfig.getProjectChineseName());
      pushRecord.setCreatetime(java.lang.System.currentTimeMillis());
      pushRecordMapper.insertSelective(pushRecord);
   }
}