guoshilong
2023-08-14 3d9c4d0b0790c45ddf15a9e65e9cbcfef71c4bb4
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/push/service/impl/PushServiceImpl.java
@@ -14,16 +14,13 @@
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Service
@AllArgsConstructor
public class PushServiceImpl implements IPushService {
   private static final String PUSH_CLIENT_ID = "push:client:id:";
   private static final String UNI_CLOUD_PUSH_URL = "https://fc-mp-ad1ed7e3-700e-4fca-abae-0d097cc222b5.next.bspapp.com/push";
   private static final String UNI_CLOUD_PUSH_URL = "https://fc-mp-ff11cc4d-ca8e-4b47-a57f-e26804379530.next.bspapp.com/push";
   private BladeRedis bladeRedis;
   private IMessageClient messageClient;
@@ -38,7 +35,7 @@
   @Override
   public Boolean pushMessageList(List<MessageRecord> messageRecordList) {
      // 加入测试人员
//      addSendMsgTest(messageRecordList);
      addSendMsgTest(messageRecordList);
      PushVO pushVO = new PushVO();
      List<String> cIdList = new ArrayList<>();
      //相同的消息推送给多用户
@@ -47,10 +44,17 @@
         String clientId = getClientIdByUserId(messageRecord.getRecipient());
         cIdList.add(clientId);
      });
      pushVO.setCIds(cIdList);
      pushVO.setTitle(messageRecordList.get(0).getTheme());
      pushVO.setContent(messageRecordList.get(0).getContent());
      HashMap<String,Object> payload = new HashMap<>();
      payload.put("title",messageRecordList.get(0).getTheme());
      payload.put("content",messageRecordList.get(0).getContent());
      payload.put("payload","test");
      pushVO.setPayload(payload);
      return pushMessage(pushVO);
   }
@@ -110,6 +114,13 @@
      cIdList.add(clientIdByUserId);
      pushVO.setCIds(cIdList);
      HashMap<String,Object> payload = new HashMap<>();
      payload.put("title",pushVO.getTitle());
      payload.put("content",pushVO.getContent());
      payload.put("payload","test");
      pushVO.setPayload(payload);
      return pushMessage(pushVO);
   }
@@ -141,15 +152,18 @@
    * @return
    */
   public Boolean pushMessage(PushVO pushVO) {
      RestTemplate template = new RestTemplate();
      Map<String, Object> params = new LinkedHashMap<>();
      //用户cId,可数组,可字符串
      params.put("push_clientid", pushVO.getCIds());
      params.put("pushClientid", pushVO.getCIds());
      //标题
      params.put("title", pushVO.getTitle());
      //内容
      params.put("content", pushVO.getContent());
      params.put("requestId", UUID.randomUUID());
      params.put("payload",pushVO.getPayload());
//      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;