| | |
| | | package cn.gistack.alerts.push.service.impl; |
| | | |
| | | import cn.gistack.alerts.push.service.IPushService; |
| | | import cn.gistack.alerts.push.utils.GeTuiUtils; |
| | | import cn.gistack.alerts.push.vo.PushVO; |
| | | import cn.gistack.alerts.push.vo.UniCloudReturnRes; |
| | | import cn.gistack.sm.message.entity.MessageRecord; |
| | |
| | | |
| | | private BladeRedis bladeRedis; |
| | | private IMessageClient messageClient; |
| | | private GeTuiUtils geTuiUtils; |
| | | |
| | | @Override |
| | | public Boolean saveCId(String userId,String cId) { |
| | | bladeRedis.set(PUSH_CLIENT_ID + userId,cId); |
| | | public Boolean saveCId(String userId, String cId) { |
| | | bladeRedis.set(PUSH_CLIENT_ID + userId, cId); |
| | | return Boolean.TRUE; |
| | | } |
| | | |
| | |
| | | @Override |
| | | public Boolean pushMessageByUserId(PushVO pushVO) { |
| | | |
| | | if (Func.isEmpty(pushVO.getUserId())){ |
| | | if (Func.isEmpty(pushVO.getUserId())) { |
| | | throw new ServiceException("请填写用户id!"); |
| | | } |
| | | |
| | |
| | | return pushMessage(pushVO); |
| | | } |
| | | |
| | | @Override |
| | | public Boolean geTuiPushMessage(PushVO pushVO) { |
| | | |
| | | List<String> cIdList = new ArrayList<>(); |
| | | cIdList.add(getClientIdByUserId(pushVO.getUserId())); |
| | | return geTuiUtils.pushMsg(cIdList, pushVO.getTitle(), pushVO.getContent()); |
| | | } |
| | | |
| | | /** |
| | | * 根据用户id从redis中获取cid |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | public String getClientIdByUserId(String userId){ |
| | | return bladeRedis.get(PUSH_CLIENT_ID+userId); |
| | | public String getClientIdByUserId(String userId) { |
| | | |
| | | if (Func.isEmpty(userId)) { |
| | | throw new ServiceException("请填写用户id!"); |
| | | } |
| | | |
| | | |
| | | return bladeRedis.get(PUSH_CLIENT_ID + userId); |
| | | } |
| | | |
| | | /** |
| | | * 消息推送 |
| | | * |
| | | * @param pushVO |
| | | * @return |
| | | */ |
| | | public Boolean pushMessage(PushVO pushVO){ |
| | | public Boolean pushMessage(PushVO pushVO) { |
| | | |
| | | RestTemplate template = new RestTemplate(); |
| | | Map<String, Object> params = new LinkedHashMap<>(); |
| | | //用户cId,可数组,可字符串 |
| | | params.put("push_clientid",pushVO.getCIds()); |
| | | params.put("push_clientid", pushVO.getCIds()); |
| | | //标题 |
| | | params.put("title",pushVO.getTitle()); |
| | | params.put("title", pushVO.getTitle()); |
| | | //内容 |
| | | params.put("content",pushVO.getContent()); |
| | | params.put("content", pushVO.getContent()); |
| | | // UniCloudReturnRes uniCloudReturnRes = template.getForObject(UNI_CLOUD_PUSH_URL,UniCloudReturnRes.class,params); |
| | | UniCloudReturnRes uniCloudReturnRes = template.postForObject(UNI_CLOUD_PUSH_URL,params,UniCloudReturnRes.class); |
| | | return uniCloudReturnRes.getErrCode().equals(0)?true:false; |
| | | UniCloudReturnRes uniCloudReturnRes = template.postForObject(UNI_CLOUD_PUSH_URL, params, UniCloudReturnRes.class); |
| | | return uniCloudReturnRes.getErrCode().equals(0) ? true : false; |
| | | |
| | | } |
| | | } |