From 6b2670dfa68af9ce2e36a5f9580125f4fc6da570 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 26 六月 2021 18:06:10 +0800 Subject: [PATCH] 推送服务完善 --- service-push/src/main/java/com/ks/push/service/remote/BDeviceTokenServiceImpl.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 5 deletions(-) diff --git a/service-push/src/main/java/com/ks/push/service/remote/BDeviceTokenServiceImpl.java b/service-push/src/main/java/com/ks/push/service/remote/BDeviceTokenServiceImpl.java index 455e2bd..30e4fef 100644 --- a/service-push/src/main/java/com/ks/push/service/remote/BDeviceTokenServiceImpl.java +++ b/service-push/src/main/java/com/ks/push/service/remote/BDeviceTokenServiceImpl.java @@ -1,29 +1,77 @@ package com.ks.push.service.remote; +import com.ks.lib.common.exception.ParamsException; +import com.ks.push.dao.BPushDeviceTokenDao; import com.ks.push.exception.BPushDeviceTokenException; import com.ks.push.pojo.DO.BPushDeviceToken; import com.ks.push.service.BDeviceTokenService; import org.apache.dubbo.config.annotation.Service; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.yeshi.utils.StringUtil; + +import javax.annotation.Resource; +import java.util.Date; @Service(version = "1.0") public class BDeviceTokenServiceImpl implements BDeviceTokenService { - @Override - public void save(BPushDeviceToken deviceToken) throws BPushDeviceTokenException { + @Resource + private BPushDeviceTokenDao bPushDeviceTokenDao; + + @Override + public void save(BPushDeviceToken deviceToken) throws ParamsException, BPushDeviceTokenException { + if (deviceToken == null) { + throw new ParamsException(ParamsException.CODE_PARAMS_NOT_ENOUGH, "瀵硅薄涓虹┖"); + } + if (StringUtil.isNullOrEmpty(deviceToken.getAppCode())) { + throw new ParamsException(ParamsException.CODE_PARAMS_NOT_ENOUGH, "appcode涓虹┖"); + } + if (StringUtil.isNullOrEmpty(deviceToken.getDeviceId())) { + throw new ParamsException(ParamsException.CODE_PARAMS_NOT_ENOUGH, "璁惧ID涓虹┖"); + } + if (StringUtil.isNullOrEmpty(deviceToken.getToken())) { + throw new ParamsException(ParamsException.CODE_PARAMS_NOT_ENOUGH, "token涓虹┖"); + } + String id = BPushDeviceToken.createId(deviceToken.getAppCode(), deviceToken.getDeviceId()); + if (bPushDeviceTokenDao.get(id) == null) { + //鏂板 + if (deviceToken.getCreateTime() == null) { + deviceToken.setCreateTime(new Date()); + } + deviceToken.setUpdateTime(new Date()); + bPushDeviceTokenDao.save(deviceToken); + } else { + //鏇存柊 + deviceToken.setId(id); + bPushDeviceTokenDao.updateSelective(deviceToken); + } } @Override public void deleteByDeviceId(String appCode, String deviceId) { - + String id = BPushDeviceToken.createId(appCode, deviceId); + bPushDeviceTokenDao.delete(id); } @Override public void unBindUid(String appCode, String deviceId) { - + String id = BPushDeviceToken.createId(appCode, deviceId); + Update update = new Update(); + update.set("uid", null); + Query query = new Query(); + query.addCriteria(Criteria.where("_id").is(id)); + bPushDeviceTokenDao.update(query, update); } @Override public void bindUid(String appCode, String deviceId, String uid) { - + String id = BPushDeviceToken.createId(appCode, deviceId); + Update update = new Update(); + update.set("uid", uid); + Query query = new Query(); + query.addCriteria(Criteria.where("_id").is(id)); + bPushDeviceTokenDao.update(query, update); } } -- Gitblit v1.8.0