| | |
| | | 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 {
|
| | |
| | | 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 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());
|
| | | deviceActiveMapper.insertSelective(deviceActive);
|
| | | } else {
|
| | | DeviceActive updateDeviceActive = new DeviceActive();
|
| | | updateDeviceActive.setId(da.getId());
|
| | | updateDeviceActive.setUpdateTime(new Date());
|
| | | updateDeviceActive.setVersionCode(deviceActive.getVersionCode());
|
| | | deviceActiveMapper.updateByPrimaryKeySelective(updateDeviceActive);
|
| | | 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(),
|
| | | deviceActiveMapper.insertSelective(deviceActive);
|
| | | DouYinDeviceActiveCMQManager.getInstance().addDeviceActive(deviceActive.getDevice(),
|
| | | 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);
|
| | | } 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()));
|
| | | }
|
| | |
|
| | | break;
|
| | | default:
|
| | | return;
|
| | | 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);
|
| | | }
|
| | |
|
| | | }
|