guoshilong
2023-07-19 17f32c613e6a48007b5f49ae03631fd83d5ae145
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
@@ -1,6 +1,7 @@
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;
@@ -25,10 +26,11 @@
   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;
   }
@@ -80,7 +82,7 @@
   @Override
   public Boolean pushMessageByUserId(PushVO pushVO) {
      if (Func.isEmpty(pushVO.getUserId())){
      if (Func.isEmpty(pushVO.getUserId())) {
         throw new ServiceException("请填写用户id!");
      }
@@ -92,33 +94,49 @@
      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;
   }
}