package com.yeshi.fanli.service.impl.push;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.mybatis.push.DeviceTokenHWMapper;
|
import com.yeshi.fanli.entity.bus.user.UserInfo;
|
import com.yeshi.fanli.entity.push.DeviceTokenHW;
|
import com.yeshi.fanli.service.inter.push.DeviceTokenHWService;
|
import com.yeshi.fanli.util.StringUtil;
|
|
@Service
|
public class DeviceTokenHWServiceImpl implements DeviceTokenHWService {
|
|
@Resource
|
private DeviceTokenHWMapper deviceTokenHWMapper;
|
|
@Override
|
public List<DeviceTokenHW> getDeviceTokenList(int page, int pageSize) {
|
return deviceTokenHWMapper.selectList((page - 1) * pageSize, pageSize);
|
}
|
|
@Override
|
public Long getDeviceTokenCount() {
|
Long count = deviceTokenHWMapper.selectCount();
|
return count == null ? 0 : count;
|
}
|
|
@Override
|
public void addDeviceToken(String token, String device, Long uid) {
|
if (StringUtil.isNullOrEmpty(device))
|
return;
|
//
|
if (uid != null && uid == 0)
|
uid = null;
|
|
List<DeviceTokenHW> list = deviceTokenHWMapper.selectByDevice(device);
|
if (list == null || list.size() == 0) {
|
DeviceTokenHW deviceTokenHW = new DeviceTokenHW();
|
deviceTokenHW.setDevice(device);
|
deviceTokenHW.setDeviceToken(token);
|
deviceTokenHW.setDeviceTokenMd5(StringUtil.Md5(token));
|
deviceTokenHW.setUpdateTime(new Date());
|
if (uid != null)
|
deviceTokenHW.setUser(new UserInfo(uid));
|
deviceTokenHWMapper.insertSelective(deviceTokenHW);
|
} else {
|
for (DeviceTokenHW deviceTokenHW : list) {
|
DeviceTokenHW update = new DeviceTokenHW();
|
update.setId(deviceTokenHW.getId());
|
if (!StringUtil.isNullOrEmpty(token)) {
|
update.setDeviceToken(token);
|
update.setDeviceTokenMd5(StringUtil.Md5(token));
|
}
|
update.setUpdateTime(new Date());
|
if (uid != null)
|
update.setUser(new UserInfo(uid));
|
deviceTokenHWMapper.updateByPrimaryKeySelective(update);
|
}
|
}
|
}
|
|
@Override
|
public List<DeviceTokenHW> getDeviceTokenByUid(Long uid) {
|
if (uid == null)
|
return null;
|
return deviceTokenHWMapper.selectByUid(uid);
|
}
|
|
@Override
|
public void unBindDeviceToken(String device) {
|
List<DeviceTokenHW> list = deviceTokenHWMapper.selectByDevice(device);
|
if (list == null || list.size() == 0)
|
return;
|
for (DeviceTokenHW deviceTokenHW : list) {
|
deviceTokenHW.setUser(null);
|
deviceTokenHW.setUpdateTime(new Date());
|
deviceTokenHWMapper.updateByPrimaryKey(deviceTokenHW);
|
}
|
}
|
|
@Override
|
public void bindUid(String device, Long uid) {
|
deviceTokenHWMapper.bindUidByDevice(uid, device);
|
}
|
|
}
|