Browse Source

🚀 处理友盟消息推送

master
wangxiang 3 years ago
parent
commit
9f2420b319
  1. 9
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java
  2. 2
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MessageController.java
  3. 7
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IMapLogisticService.java
  4. 28
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java
  5. 15
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/PushClientUtil.java
  6. 1
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/bootstrap.yml

9
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MapLogisticController.java

@ -104,10 +104,11 @@ public class MapLogisticController { @@ -104,10 +104,11 @@ public class MapLogisticController {
return R.ok(mapLogistic);
}
@PostMapping("/pushAndroidMsg")
public R pushAndroidMsg() {
iMapLogisticService.pushAndroidMsg();
return R.ok();
@PostMapping("/mapPresetPointConfirmPushMsgTest")
@ApiOperation(value = "地图预设点确认测试请求")
public R mapPresetPointConfirmPushMsgTest(@RequestBody MapLogisticPoint mapLogisticPoint) {
iMapLogisticService.mapPresetPointConfirmPushMsg(mapLogisticPoint);
return R.ok(true);
}
}

2
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/MessageController.java

@ -25,7 +25,7 @@ import java.util.Arrays; @@ -25,7 +25,7 @@ import java.util.Arrays;
* @author entfrm开发团队-王翔
* @since 2022-11-15
*/
@Controller
@RestController
@RequestMapping(AppConstants.APP_COMMON +"/message")
@RequiredArgsConstructor
@Api(tags = "消息模块")

7
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IMapLogisticService.java

@ -2,6 +2,7 @@ package com.cloud.kicc.commonbiz.service; @@ -2,6 +2,7 @@ package com.cloud.kicc.commonbiz.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cloud.kicc.commonbiz.api.entity.MapLogistic;
import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint;
import java.util.List;
@ -31,9 +32,9 @@ public interface IMapLogisticService extends IService<MapLogistic> { @@ -31,9 +32,9 @@ public interface IMapLogisticService extends IService<MapLogistic> {
/**
* 友盟推送消息
* @param
* @return
* @param mapLogisticPoint 地图任务点
* @return void
*/
void pushAndroidMsg();
void mapPresetPointConfirmPushMsg(MapLogisticPoint mapLogisticPoint);
}

28
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java

@ -1,11 +1,13 @@ @@ -1,11 +1,13 @@
package com.cloud.kicc.commonbiz.service.impl;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.MapLogistic;
import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint;
import com.cloud.kicc.commonbiz.api.entity.MapTask;
@ -21,6 +23,7 @@ import okhttp3.OkHttpClient; @@ -21,6 +23,7 @@ import okhttp3.OkHttpClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
@ -101,17 +104,32 @@ public class MapLogisticServiceImpl extends ServiceImpl<MapLogisticMapper, MapLo @@ -101,17 +104,32 @@ public class MapLogisticServiceImpl extends ServiceImpl<MapLogisticMapper, MapLo
}
@Override
public void pushAndroidMsg() {
public void mapPresetPointConfirmPushMsg(MapLogisticPoint mapLogisticPoint) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("appkey", "6373815dac36474270fdf0c1");
jsonObject.put("type", "unicast");
jsonObject.put("description", "收样员交接点设置");
jsonObject.put("production_mode", "false");
JSONObject payload = new JSONObject();
payload.put("display_type", "message");
payload.put("display_type", "notification");
JSONObject body = new JSONObject();
body.put("custom", "测试发送消息!");
body.put("ticker", "交接任务确认");
body.put("text", SecurityUtils.getUser().getUsername() + "向你发起了交接点确认!");
body.put("title", "交接任务确认");
body.put("after_open", "go_custom");
body.put("custom", JSONObject.toJSON(mapLogisticPoint));
body.put("play_sound", true);
body.put("play_vibrate", true);
body.put("play_lights", true);
payload.put("body", body);
jsonObject.put("payload", payload);
jsonObject.put("type", "customizedcast");
jsonObject.put("alias_type", PushClientUtil.uPushUserAliasType);
// todo:这里需要处理一下地图点中加入下一个地图点ID方便拿下一个用户ID
jsonObject.put("alias", "1562406147860549633");
jsonObject.put("mipush", "false");
JSONObject policy = new JSONObject();
policy.put("expire_time", LocalDateTimeUtil.now().plusDays(3)
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
jsonObject.put("policy", policy);
try {
PushClientUtil pushClientUtil = new PushClientUtil(okHttpClient);
pushClientUtil.send(jsonObject);

15
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/util/PushClientUtil.java

@ -28,18 +28,29 @@ public class PushClientUtil { @@ -28,18 +28,29 @@ public class PushClientUtil {
protected static final String postPath = "/api/send";
private static final String appMasterSecret = "kiv3ka9idqvqgiq7w3sudlp7azslty1r";
public static final String uAppKey = "637609c2ac3647427000a9e2";
public static final String uAppMasterSecret = "96621e752731bfa57294fbdf08c5a6f8";
public static final String uMessageSecret = "1x6hmlberweewjw6unwbcqff7yyfgmip";
public static final String uPushUserAliasType = "KICC_UID";
public PushClientUtil(OkHttpClient okHttpClient) {
this.okHttpClient = okHttpClient;
}
public boolean send(JSONObject jsonObject) throws Exception {
// 配置消息推送参数
jsonObject.put("appkey", uAppKey);
String timestamp = Integer.toString((int)(System.currentTimeMillis() / 1000));
jsonObject.put("timestamp", timestamp);
// 发送url处理
String url = host + postPath;
String postBody = jsonObject.toString();
String sign = DigestUtils.md5Hex(("POST" + url + postBody + appMasterSecret).getBytes("utf8"));
String sign = DigestUtils.md5Hex(("POST" + url + postBody + uMessageSecret).getBytes("utf8"));
url = url + "?sign=" + sign;
// 发送post请求并获得响应

1
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/bootstrap.yml

@ -8,6 +8,7 @@ spring: @@ -8,6 +8,7 @@ spring:
nacos:
discovery:
server-addr: ${NACOS_HOST:192.168.3.10}:${NACOS_PORT:8848}
#server-addr: ${NACOS_HOST:kicc-register}:${NACOS_PORT:8848}
namespace: @profiles.namespace@
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}

Loading…
Cancel
Save