新增日志及通道修改

This commit is contained in:
yan.y 2025-04-07 17:52:38 +08:00
parent e6d54fcc85
commit 25f59c124b
1 changed files with 61 additions and 10 deletions

View File

@ -46,7 +46,7 @@ public class AliyunPushApi {
private final DefaultAcsClient client;
public AliyunPushApi(String regionId,String accessKeyId,String accessKeySecret){
public AliyunPushApi(String regionId, String accessKeyId, String accessKeySecret) {
client = new DefaultAcsClient(DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret));
}
@ -82,7 +82,7 @@ public class AliyunPushApi {
@Autowired
private ITblAliyunDeviceInfoService aliyunDeviceInfoService;
public void advancedPush(TblPushList pushList){
public void advancedPush(TblPushList pushList) {
//根据Target来设定多个值使用逗号分隔
//此处应该查询出用户所对应的deviceId
@ -90,9 +90,9 @@ public class AliyunPushApi {
//查询所有
LambdaQueryWrapper<TblAliyunDeviceInfo> allQuary = new QueryWrapper<TblAliyunDeviceInfo>().lambda().eq(TblAliyunDeviceInfo::getUserId, pushList.getUserId());
if ("IOS".equalsIgnoreCase(pushList.getPhoneType())) {
allQuary.eq(TblAliyunDeviceInfo::getPhoneType,"iOS");
} else if("ANDROID".equalsIgnoreCase(pushList.getPhoneType())) {
allQuary.eq(TblAliyunDeviceInfo::getPhoneType,"ANDROID");
allQuary.eq(TblAliyunDeviceInfo::getPhoneType, "iOS");
} else if ("ANDROID".equalsIgnoreCase(pushList.getPhoneType())) {
allQuary.eq(TblAliyunDeviceInfo::getPhoneType, "ANDROID");
}
List<TblAliyunDeviceInfo> pushUserDevices = aliyunDeviceInfoService.list(allQuary);
pushUserDevices.forEach(aliyunDeviceInfo -> {
@ -147,15 +147,17 @@ public class AliyunPushApi {
try {
PushResponse response = client.getAcsResponse(pushRequest);
log.info("阿里云推送\t" + aliyunDeviceInfo.getUserId() + "\t" + aliyunDeviceInfo.getAliyunDeviceId() + "\t" + JSONObject.toJSONString(response));
pushList.setReportId(response.getMessageId());
pushList.setDeviceId((pushList.getDeviceId() == null || pushList.getDeviceId() == 0)? null : pushList.getDeviceId());
pushList.setDeviceId((pushList.getDeviceId() == null || pushList.getDeviceId() == 0) ? null : pushList.getDeviceId());
} catch (ClientException e) {
log.error(e.getMessage(),e);
log.error(e.getMessage(), e);
}
}
public static ApiHelper apiHelper = null;
public static PushApi pushApi = null;
public static PushApi pushApi = null;
static {
System.setProperty("http.maxConnections", "200");
GtApiConfiguration apiConfiguration = new GtApiConfiguration();
@ -205,6 +207,8 @@ public class AliyunPushApi {
options.put("XM", XM);
Map<String, Object> OP = new HashMap<>();
OP.put("/channel_id", "push_oplus_category_content");
OP.put("/category", "DEVICE_REMINDER");
OP.put("/notify_level", 2);
options.put("OP", OP);
ups.setOptions(options);
androidDTO.setUps(ups);
@ -214,12 +218,57 @@ public class AliyunPushApi {
audience.addCid(aliyunDeviceInfo.getAliyunDeviceId());
// 进行cid单推
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
log.info("gtPush request : " + aliyunDeviceInfo.getAliyunDeviceId() + " , response : " + JSONObject.toJSONString(apiResult));
log.info("个推推送\t" + "\t" + aliyunDeviceInfo.getUserId() + aliyunDeviceInfo.getAliyunDeviceId() + "\t" + JSONObject.toJSONString(apiResult));
}
public static void main(String[] args) {
//根据cid进行单推
PushDTO<Audience> pushDTO = new PushDTO<>();
// 设置推送参数
pushDTO.setRequestId(System.currentTimeMillis() + "");
PushMessage pushMessage = new PushMessage();
pushDTO.setPushMessage(pushMessage);
GTNotification notification = new GTNotification();
pushMessage.setNotification(notification);
notification.setTitle("测试");
notification.setBody("测试");
notification.setClickType("startapp");
PushChannel pushChannel = new PushChannel();
pushDTO.setPushChannel(pushChannel);
/*配置安卓厂商参数*/
AndroidDTO androidDTO = new AndroidDTO();
Ups ups = new Ups();
ThirdNotification thirdNotification = new ThirdNotification();
thirdNotification.setTitle("测试");
thirdNotification.setBody("测试");
thirdNotification.setClickType("startapp");
ups.setNotification(thirdNotification);
Map<String, Map<String, Object>> options = new HashMap<>();
Map<String, Object> HO = new HashMap<>();
HO.put("/android/notification/importance", "NORMAL");
options.put("HO", HO);
Map<String, Object> HW = new HashMap<>();
HW.put("/message/android/category", "WORK");
options.put("HW", HW);
Map<String, Object> XM = new HashMap<>();
XM.put("/extra.channel_id", "131247");
options.put("XM", XM);
Map<String, Object> OP = new HashMap<>();
OP.put("/channel_id", "push_oplus_category_service");
OP.put("/category", "DEVICE_REMINDER");
OP.put("/notify_level", 2);
options.put("OP", OP);
ups.setOptions(options);
androidDTO.setUps(ups);
pushChannel.setAndroid(androidDTO);
Audience audience = new Audience();
pushDTO.setAudience(audience);
audience.addCid("0de17157d2fbfdc1cc53b705f810ce44");
// 进行cid单推
ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
log.info("gtPush request : 0de17157d2fbfdc1cc53b705f810ce44 , response : " + JSONObject.toJSONString(apiResult));
}
/*public static void main(String[] args) {
@ -300,6 +349,7 @@ public class AliyunPushApi {
/**
* 随机生成字母与数字组合
*
* @param length
* @return
*/
@ -350,6 +400,7 @@ public class AliyunPushApi {
}
return buf.toString();
}
private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
private static final char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
}