admin
2019-07-11 3824cbcaec6e6c67418d5280a53e9c2fedeef6f9
fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceActiveServiceImpl.java
@@ -27,84 +27,65 @@
      if (deviceActive.getVersionCode() == null)
         return;
      if (deviceActive.getPlatform() == DeviceActive.PLATFORM_ANDROID
            && StringUtil.isNullOrEmpty(deviceActive.getDevice()))
      if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
         return;
      if (deviceActive.getPlatform() == DeviceActive.PLATFORM_IOS
            && StringUtil.isNullOrEmpty(deviceActive.getDeviceToken()))
      // Android的唯一标识为device
      if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
         return;
      switch (deviceActive.getPlatform()) {
      case DeviceActive.PLATFORM_ANDROID:
         // Android的唯一标识为device
         if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
            return;
         DeviceActive da = deviceActiveMapper.selectByDeviceAndPlatform(deviceActive.getDevice(),
               deviceActive.getPlatform());
         if (da == null) {
            deviceActive.setId(null);
            deviceActive.setUpdateTime(new Date());
            deviceActive.setCreateTime(new Date());
            deviceActiveMapper.insertSelective(deviceActive);
         } else {
            DeviceActive updateDeviceActive = new DeviceActive();
            updateDeviceActive.setId(da.getId());
            updateDeviceActive.setUpdateTime(new Date());
            updateDeviceActive.setVersionCode(deviceActive.getVersionCode());
            deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive);
      DeviceActive da = deviceActiveMapper.selectByDeviceAndPlatform(deviceActive.getDevice(),
            deviceActive.getPlatform());
      if (da == null) {
         deviceActive.setId(null);
         deviceActive.setUpdateTime(new Date());
         deviceActive.setCreateTime(new Date());
         if (!StringUtil.isNullOrEmpty(deviceActive.getDeviceToken())) {
            deviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         }
         break;
      case DeviceActive.PLATFORM_IOS:
         // IOS的设备标识为deviceToken
         if (StringUtil.isNullOrEmpty(deviceActive.getDeviceToken()))
            return;
         deviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         DeviceActive da1 = deviceActiveMapper.selectByDeviceToeknMd5AndPlatform(deviceActive.getDeviceTokenMd5(),
               deviceActive.getPlatform());
         if (da1 == null) {
            deviceActive.setId(null);
            deviceActive.setUpdateTime(new Date());
            deviceActive.setCreateTime(new Date());
            deviceActiveMapper.insertSelective(deviceActive);
         } else {
            DeviceActive updateDeviceActive = new DeviceActive();
            updateDeviceActive.setId(da1.getId());
            updateDeviceActive.setUpdateTime(new Date());
            updateDeviceActive.setVersionCode(deviceActive.getVersionCode());
            deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive);
         deviceActiveMapper.insertSelective(deviceActive);
      } else {
         DeviceActive updateDeviceActive = new DeviceActive();
         updateDeviceActive.setId(da.getId());
         updateDeviceActive.setUpdateTime(new Date());
         updateDeviceActive.setVersionCode(deviceActive.getVersionCode());
         if (!StringUtil.isNullOrEmpty(deviceActive.getDeviceToken())) {
            updateDeviceActive.setDeviceToken(deviceActive.getDeviceToken());
            updateDeviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         }
         break;
      default:
         return;
         deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive);
      }
   }
   /**
    * 
    * @param device 设备号
    * @param platform 平台类型
    * @param device
    *            设备号
    * @param platform
    *            平台类型
    * @return
    */
   @Override
   public DeviceActive getDeviceByDeviceAndPlatform(String device, String deviceToken, String platform) {
      DeviceActive deviceActive = null;
      if ("android".equalsIgnoreCase(platform)) {
         deviceActive = deviceActiveMapper.selectByDeviceAndPlatform(device,   DeviceActive.PLATFORM_ANDROID);
         deviceActive = deviceActiveMapper.selectByDeviceAndPlatform(device, DeviceActive.PLATFORM_ANDROID);
      } else if ("ios".equalsIgnoreCase(platform)) {
         deviceActive = deviceActiveMapper.selectByDeviceToeknMd5AndPlatform(StringUtil.Md5(deviceToken),
               DeviceActive.PLATFORM_IOS);
         deviceActive = deviceActiveMapper.selectByDeviceAndPlatform(device, DeviceActive.PLATFORM_IOS);
      }
      return deviceActive;
   }
   @Override
   public DeviceActive getFirstActiveInfo(String device) {
      return deviceActiveMapper.selectFirst(device);
   }
}