admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/push/DeviceActiveServiceImpl.java
@@ -1,107 +1,107 @@
package com.yeshi.fanli.service.impl.push;
import java.util.Date;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.push.DeviceActiveMapper;
import com.yeshi.fanli.entity.push.DeviceActive;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.cmq.DouYinDeviceActiveCMQManager;
@Service
public class DeviceActiveServiceImpl implements DeviceActiveService {
   @Resource
   private DeviceActiveMapper deviceActiveMapper;
   @Override
   public void addDeviceActive(DeviceActive deviceActive) {
      // 添加记录
      if (deviceActive == null)
         return;
      if (deviceActive.getPlatform() == null)
         return;
      if (deviceActive.getVersionCode() == null)
         return;
      if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
         return;
      // Android的唯一标识为device
      if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
         return;
      DeviceActive da = deviceActiveMapper.selectByDeviceAndPlatform(deviceActive.getDevice(),
            deviceActive.getPlatform());
      if (da == null) {
         deviceActive.setId(null);
         if (deviceActive.getUpdateTime() == null)
            deviceActive.setUpdateTime(new Date());
         if (deviceActive.getCreateTime() == null)
            deviceActive.setCreateTime(new Date());
         if (!StringUtil.isNullOrEmpty(deviceActive.getDeviceToken())) {
            deviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         }
         deviceActiveMapper.insertSelective(deviceActive);
         DouYinDeviceActiveCMQManager.getInstance().addDeviceActive(deviceActive.getDevice(),
               deviceActive.getPlatform());
      } else {
         DeviceActive updateDeviceActive = new DeviceActive();
         updateDeviceActive.setId(da.getId());
         updateDeviceActive.setUpdateTime(new Date());
         updateDeviceActive.setVersionCode(deviceActive.getVersionCode());
         if (StringUtil.isNullOrEmpty(da.getImei()))
            updateDeviceActive.setImei(deviceActive.getImei());
         if (!StringUtil.isNullOrEmpty(deviceActive.getDeviceToken())) {
            updateDeviceActive.setDeviceToken(deviceActive.getDeviceToken());
            updateDeviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         }
         if (StringUtil.isNullOrEmpty(da.getMac()))
            updateDeviceActive.setMac(deviceActive.getMac());
         deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive);
      }
   }
   /**
    *
    * @param device
    *            设备号
    * @param platform
    *            平台类型
    * @return
    */
   @Override
   public DeviceActive getDeviceByDeviceAndPlatform(String device, String deviceToken, String platform) {
      DeviceActive deviceActive = null;
      if ("android".equalsIgnoreCase(platform)) {
         deviceActive = deviceActiveMapper.selectFirstByDeviceAndPlatform(device, DeviceActive.PLATFORM_ANDROID);
      } else if ("ios".equalsIgnoreCase(platform)) {
         deviceActive = deviceActiveMapper.selectFirstByDeviceAndPlatform(device, DeviceActive.PLATFORM_IOS);
      }
      return deviceActive;
   }
   @Override
   public DeviceActive getFirstActiveInfo(String device) {
      return deviceActiveMapper.selectFirst(device);
   }
   @Override
   public DeviceActive getFirstActiveInfoByImei(String imei) {
      return deviceActiveMapper.selectFirstByImei(imei);
   }
}
package com.yeshi.fanli.service.impl.push;
import com.yeshi.fanli.dao.mybatis.push.DeviceActiveMapper;
import com.yeshi.fanli.entity.push.DeviceActive;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.mq.cmq.DouYinDeviceActiveCMQManager;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
@Service
public class DeviceActiveServiceImpl implements DeviceActiveService {
   @Resource
   private DeviceActiveMapper deviceActiveMapper;
   @Resource
   private DouYinDeviceActiveCMQManager douYinDeviceActiveCMQManager;
   @Override
   public void addDeviceActive(DeviceActive deviceActive) {
      // 添加记录
      if (deviceActive == null)
         return;
      if (deviceActive.getPlatform() == null)
         return;
      if (deviceActive.getVersionCode() == null)
         return;
      if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
         return;
      // Android的唯一标识为device
      if (StringUtil.isNullOrEmpty(deviceActive.getDevice()))
         return;
      DeviceActive da = deviceActiveMapper.selectByDeviceAndPlatform(deviceActive.getDevice(),
            deviceActive.getPlatform());
      if (da == null) {
         deviceActive.setId(null);
         if (deviceActive.getUpdateTime() == null)
            deviceActive.setUpdateTime(new Date());
         if (deviceActive.getCreateTime() == null)
            deviceActive.setCreateTime(new Date());
         if (!StringUtil.isNullOrEmpty(deviceActive.getDeviceToken())) {
            deviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         }
         deviceActiveMapper.insertSelective(deviceActive);
         douYinDeviceActiveCMQManager.addDeviceActive(deviceActive.getDevice(),
               deviceActive.getPlatform());
      } else {
         DeviceActive updateDeviceActive = new DeviceActive();
         updateDeviceActive.setId(da.getId());
         updateDeviceActive.setUpdateTime(new Date());
         updateDeviceActive.setVersionCode(deviceActive.getVersionCode());
         if (StringUtil.isNullOrEmpty(da.getImei()))
            updateDeviceActive.setImei(deviceActive.getImei());
         if (!StringUtil.isNullOrEmpty(deviceActive.getDeviceToken())) {
            updateDeviceActive.setDeviceToken(deviceActive.getDeviceToken());
            updateDeviceActive.setDeviceTokenMd5(StringUtil.Md5(deviceActive.getDeviceToken()));
         }
         if (StringUtil.isNullOrEmpty(da.getMac()))
            updateDeviceActive.setMac(deviceActive.getMac());
         deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive);
      }
   }
   /**
    *
    * @param device
    *            设备号
    * @param platform
    *            平台类型
    * @return
    */
   @Override
   public DeviceActive getDeviceByDeviceAndPlatform(String device, String deviceToken, String platform) {
      DeviceActive deviceActive = null;
      if ("android".equalsIgnoreCase(platform)) {
         deviceActive = deviceActiveMapper.selectFirstByDeviceAndPlatform(device, DeviceActive.PLATFORM_ANDROID);
      } else if ("ios".equalsIgnoreCase(platform)) {
         deviceActive = deviceActiveMapper.selectFirstByDeviceAndPlatform(device, DeviceActive.PLATFORM_IOS);
      }
      return deviceActive;
   }
   @Override
   public DeviceActive getFirstActiveInfo(String device) {
      return deviceActiveMapper.selectFirst(device);
   }
   @Override
   public DeviceActive getFirstActiveInfoByImei(String imei) {
      return deviceActiveMapper.selectFirstByImei(imei);
   }
}