| | |
| | | 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); |
| | | } |
| | | |
| | | } |