提交 175a5de1 authored 作者: zgy's avatar zgy

修改商店排序

上级 2656a76d
......@@ -25,16 +25,21 @@
<dependencies>
<dependency>
<groupId>com.yunpian.sdk</groupId>
<artifactId>yunpian-java-sdk</artifactId>
<version>1.2.7</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.43.Final</version>
</dependency>
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>6.5.0</version>
</dependency>
<dependency>
<groupId>com.yunpian.sdk</groupId>
<artifactId>yunpian-java-sdk</artifactId>
<version>1.2.7</version>
</dependency>
<!--springframework.boot-->
<dependency>
<groupId>org.springframework.boot</groupId>
......
package com.diaoyun.zion.master.util;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.messaging.*;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @Auther: wudepeng
* @Date: 2019/12/05
* @Description:
*/
public class FireBaseUtil {
//存放多个实例的Map
private static Map<String, FirebaseApp> firebaseAppMap = new ConcurrentHashMap<>();
//获取AndroidConfig.Builder对象
private static com.google.firebase.messaging.AndroidConfig.Builder androidConfigBuilder = AndroidConfig.builder();
//获取AndroidNotification.Builder对象
private static AndroidNotification.Builder androidNotifiBuilder = AndroidNotification.builder();
/**
* 判断SDK是否初始化
*
* @param appName
* @return
*/
public static boolean isInit(String appName) {
return firebaseAppMap.get(appName) != null;
}
/**
* 初始化SDK
*
* @param jsonPath JSON路径
* @param dataUrl firebase数据库
* @param appName APP名字
* @throws IOException
*/
public static void initSDK(String jsonPath, String dataUrl, String appName) throws IOException {
FileInputStream serviceAccount = new FileInputStream(jsonPath);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl(dataUrl).build();
//初始化firebaseApp
FirebaseApp firebaseApp = FirebaseApp.initializeApp(options);
//存放
firebaseAppMap.put(appName, firebaseApp);
}
/**
* 单设备推送
*
* @param appName 应用的名字
* @param token 注册token
* @param title 推送题目
* @param body 推送内容
* @return
* @throws FirebaseMessagingException
*/
public static void pushSingle(String appName, String token, String title, String body) throws FirebaseMessagingException {
//获取实例
FirebaseApp firebaseApp = firebaseAppMap.get(appName);
//实例为空的情况
if (firebaseApp == null) {
return;
}
//构建消息内容
Message message = Message.builder().setNotification(new Notification(title, body))
.setToken(token)
.build();
//发送后,返回messageID
String response = FirebaseMessaging.getInstance(firebaseApp).send(message);
System.out.println("单个设备推送成功 : " + response);
}
/**
* 给设备订阅主题
*
* @param appName 应用的名字
* @param tokens 设备的token,最大1000个
* @param topic 要添加的主题
* @return
* @throws FirebaseMessagingException
*/
public static void registrationTopic(String appName, List<String> tokens, String topic) throws FirebaseMessagingException {
//获取实例
FirebaseApp firebaseApp = firebaseAppMap.get(appName);
//实例不存在的情况
if (firebaseApp == null) {
return;
}
//订阅,返回主题管理结果对象。
TopicManagementResponse response = FirebaseMessaging.getInstance(firebaseApp).subscribeToTopic(tokens, topic);
System.out.println("添加设备主题,成功:" + response.getSuccessCount() + ",失败:" + response.getFailureCount());
}
/**
* 取消设备的订阅主题
*
* @param appName 应用的名字
* @param tokens 设备的token,最大1000个
* @param topic 取消的主题
* @return
* @throws FirebaseMessagingException
*/
public static void cancelTopic(String appName, List<String> tokens, String topic) throws FirebaseMessagingException {
//获取实例
FirebaseApp firebaseApp = firebaseAppMap.get(appName);
//实例不存在的情况
if (firebaseApp == null) {
return;
}
//取消订阅,返回主题管理结果对象。
TopicManagementResponse response = FirebaseMessaging.getInstance(firebaseApp).unsubscribeFromTopic(tokens, topic);
System.out.println("取消设备主题,成功:" + response.getSuccessCount() + ",失败:" + response.getFailureCount());
}
/**
* 按主题推送
*
* @param appName 应用的名字
* @param topic 主题的名字
* @param title 消息题目
* @param body 消息体
* @return
* @throws FirebaseMessagingException
*/
public static void sendTopicMes(String appName, String topic, String title, String body) throws FirebaseMessagingException {
//获取实例
FirebaseApp firebaseApp = firebaseAppMap.get(appName);
//实例不存在的情况
if (firebaseApp == null) {
return;
}
//构建消息
Message message = Message.builder()
.setNotification(new Notification(title, body))
.setTopic(topic)
.build();
//发送后,返回messageID
String response = FirebaseMessaging.getInstance(firebaseApp).send(message);
System.out.println("主题推送成功: " + response);
}
/**
* 单条Android设备推送消息(和pushSingle方法几乎没有区别)
*
* @param appName 应用的名字
* @param token 注册token
* @param title 推送题目
* @param body 推送内容
* @throws FirebaseMessagingException
*/
public static void pushSingleToAndroid(String appName, String token, String title, String body) throws FirebaseMessagingException {
//获取实例
FirebaseApp firebaseApp = firebaseAppMap.get(appName);
//实例为空的情况
if (firebaseApp == null) {
return;
}
androidConfigBuilder.setRestrictedPackageName("io.telecomm.telecomm");
androidNotifiBuilder.setColor("#55BEB7");// 设置消息通知颜色
androidNotifiBuilder.setIcon("https://www.shiku.co/images/favicon.png");// 设置消息图标
androidNotifiBuilder.setTitle(title);// 设置消息标题
androidNotifiBuilder.setBody(body);// 设置消息内容
AndroidNotification androidNotification = androidNotifiBuilder.build();
androidConfigBuilder.setNotification(androidNotification);
AndroidConfig androidConfig = androidConfigBuilder.build();
//构建消息
Message message = Message.builder()
.setToken(token)
.setAndroidConfig(androidConfig)
.build();
//发送后,返回messageID
String response = FirebaseMessaging.getInstance(firebaseApp).send(message);
System.out.println("单个安卓设备推送成功 : " + response);
}
/**
* Android按主题推送(和sendTopicMes方法几乎没有区别)
*
* @param appName 应用的名字
* @param topic 主题的名字
* @param title 消息题目
* @param body 消息体
* @return
* @throws FirebaseMessagingException
*/
public static void sendTopicMesToAndroid(String appName, String topic, String title, String body) throws FirebaseMessagingException {
//获取实例
FirebaseApp firebaseApp = firebaseAppMap.get(appName);
//实例为空的情况
if (firebaseApp == null) {
return;
}
androidNotifiBuilder.setColor("#55BEB7");// 设置消息通知颜色
androidNotifiBuilder.setIcon("https://www.shiku.co/images/favicon.png");// 设置消息图标
androidNotifiBuilder.setTitle(title);// 设置消息标题
androidNotifiBuilder.setBody(body);// 设置消息内容
AndroidNotification androidNotification = androidNotifiBuilder.build();
androidConfigBuilder.setNotification(androidNotification);
AndroidConfig androidConfig = androidConfigBuilder.build();
//构建消息
Message message = Message.builder()
.setTopic(topic)
.setAndroidConfig(androidConfig)
.build();
String response = FirebaseMessaging.getInstance(firebaseApp).send(message);
System.out.println("安卓主题推送成功: " + response);
}
@Test
public void sendMessage() throws FirebaseMessagingException {
String appName = "Afrishop";
String token = "USYIOvmtbIe4dvdXwmfKQlCiwqqAILYA9LPcwlVfrmP0jYp";
String title = "test";
String body = "helloworld!";
pushSingle(appName, token, title, body);
}
}
{
"type": "service_account",
"project_id": "afrishop-c3ef7",
"private_key_id": "2ddcfbe2bc788d49a7659c8ff40877d456df848c",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDgob0mXMEM6UAZ\n0UnThitmpU6piABkkF69tMzIjq2p1mkFdn8nf9rnYFbswGw/85lrNPEH0/Xgghik\n+XNIyQxowELVSnM71Qmwj2B0peGcOCDn8ugnyBlRiLDGP4fjW6HhJhOofDrE3Eh6\nK7ZzQXGtNsescULbsVESKXjMJ5otU0ER7VVGFPjgPJy+ZghVDPN2JrDP0gEePSsJ\n1vZYmRiPpfC+DRP2NLXH8UHRdupBX5xk1SXftmdhVzP9Z8QiHaqX0+UA/bKKwBkD\nUfVvd++WrugmBn6R7nOIz4Xm0Cpf+ZKo8HRPBXs1TMZ9Kjdix+QesgwtwwqoZ+ES\nFQJj3bhDAgMBAAECggEAASgkEroAjoH3AAsJX8r9lzo7tPjL07jAnCZ9tXyynUDK\n6qnJDtmENZPT7sUw6YVmIVy07w7i4cSZvuO/+bx7UWDIF1QaUtEOize5ze/6wPSz\nCq7ADlBj/P0AuAyktQGITGIHUONO5CukPejSuDY6kSNKlPNCXmJD4h2PjzGXBCu6\nndPFMWoZaeGH03Upzye74z1Xz5w0Hsi9OXEChSOM6jy/FWa9YfXTK0Ysx5wUttsd\nOs+nnNAWHYDW2E/r0dXHXe852tCoOEVxWz2vwEDDd1XercLN8jxKJDcnDSaVonr5\nGY3SvI6WruOgk5zz06ET1qkjD4nD3Erz5CmGk72YmQKBgQD43XdUTsSOkYq6CvCX\n961USRpYrTah2VmbGMTH06+xhPUIhOD8+mPwAqyJeecfruAHngqVr2zgnYqKQr5g\nw3xKv2Yp5lqQv/DqcQ/BLZ1refMQ8mMvCLWMR81D2Y66kAKCT4bhbIxBXvKwQ1jb\nkK3LpfF1DP8b19QfXkAvefjdSwKBgQDnEmnaJDlpL0I58IcPypFFsNsAj9KRuEpV\nxyzCUUdq/s/DUrdxGHtXVL8uE2aV5zQLKXx+Y1YYti4/a/QAkWBeKqhL8y9udPku\nz6qBrAj/rPoHRLeiLyiwQexwF2R9y7YmU2cT7HeG2ANDLOakk5jK7BDTTCIQ53ly\nuriTwS6N6QKBgQD3QUoi2FOPdmjHaMEbq3dpa2wiuI20Bjdx0g0IoHhJvliZSzQi\nBEAwoOd9e0E3iE6LIulPSMi67atMrP1rNC4UMc+2R2ipshoRQ52sh76EntfxeXEz\ntMpzgo8dH1UgZJ4pjAvtgiRjeotStsbc9wTFdazNZ8k6h5f4RnMs+FlauwKBgQCP\nD3BntSuyOqcW9hq4pSKB8jf0xhaJT37+Un0cpXPBA5egB1M5ev3KGNbwcOR/hJBN\nJNdF7Lx+OjSx4WVFALyYMHLX6uz/xv4LhFi9RcSgfvihjWLfz7CyR25aC7GUzI2u\nds6HoEx0OML0URVO6W6cm8DjAOzKaHVhmcby+5SWGQKBgQDOokfnbda+sSHXuC5h\ndZ59npJrsgzsXxVXl+yOejiH3zZv5i3gTV1x85D9pp9LOYCELZv7Gweqho61MTC2\nUnq2VLdnMwLRGxXdx1Z/AnAoEKmHjEqpFwqzUlVNCBpTIwFwoJOTnORZNcMlrErC\n2ebsC0v+s9Aemy0pan6ji++eug==\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-81qfl@afrishop-c3ef7.iam.gserviceaccount.com",
"client_id": "103704052556630553683",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-81qfl%40afrishop-c3ef7.iam.gserviceaccount.com"
}
......@@ -36,18 +36,18 @@
<select id="queryList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfStoreEntity">
select
`store_id`,
`store_code`,
`store_name`,
`store_brief`,
`store_url`,
`store_img`,
`platform_code`,
`platform_name`,
`enable_flag`,
`create_time`,
`item_img_1`,
`item_img_2`
`store_id`,
`store_code`,
`store_name`,
`store_brief`,
`store_url`,
`store_img`,
`platform_code`,
`platform_name`,
`enable_flag`,
`create_time`,
`item_img_1`,
`item_img_2`
from tb_cf_store
WHERE 1=1
<if test="name != null and name.trim() != ''">
......@@ -133,7 +133,7 @@
</delete>
<!--获取店铺独立站-->
<select id="getStoreStationList" resultType="com.diaoyun.zion.chinafrica.entity.TbCfStoreEntity">
select * from tb_cf_store where enable_flag!=0 order by enable_flag asc
select * from tb_cf_store order by store_code asc
</select>
</mapper>
\ No newline at end of file
package com.diaoyun.zion;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.messaging.AndroidConfig;
import com.google.firebase.messaging.AndroidNotification;
import com.google.firebase.messaging.FirebaseMessaging;
import com.google.firebase.messaging.Message;
import org.junit.Test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
/**
* @Auther: wudepeng
* @Date: 2019/12/05
* @Description:
*/
public class App {
static Message.Builder builder = Message.builder();
static com.google.firebase.messaging.AndroidConfig.Builder androidBuilder = AndroidConfig.builder();
// static Notification notice=new Notification("这是第一条消息", "fcm集成测试");
static AndroidNotification.Builder androidNotifiBuilder = AndroidNotification.builder();
private static FileInputStream FileInputStream;
InputStream path = this.getClass().getResourceAsStream("/afrishop-c3ef7-firebase.json");
public static void main(String[] args) throws FileNotFoundException {
FileInputStream = new FileInputStream(new File("src\\main\\resources\\afrishop-c3ef7-firebase.json"));
try {
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(FileInputStream))
.setDatabaseUrl("https://sixth-hawk-164509.firebaseio.com")
.build();
FirebaseApp.initializeApp(options);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
androidBuilder.setRestrictedPackageName("com.sk.weichat");
androidNotifiBuilder.setColor("#55BEB7");// 设置消息通知颜色
androidNotifiBuilder.setBody("服务消息通知");// 设置消息内容
androidNotifiBuilder.setIcon("https://www.shiku.co/images/favicon.png");// 设置消息图标
androidNotifiBuilder.setTitle("开发者你好");// 设置消息标题
AndroidNotification androidNotification = androidNotifiBuilder.build();
androidBuilder.setNotification(androidNotification);
AndroidConfig androidConfig = androidBuilder.build();
builder.setToken("USYIOvmtbIe4dvdXwmfKQlCiwqqAILYA9LPcwlVfrmP0jYp");// 客户端申请到的token
builder.setAndroidConfig(androidConfig);
// builder.setNotification(notice);
Message message = builder.build();
try {
String fcm = FirebaseMessaging.getInstance().send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void test(){
try {
InputStream path = this.getClass().getResourceAsStream("/afrishop-c3ef7-firebase.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(path))
.setDatabaseUrl("https://sixth-hawk-164509.firebaseio.com")
.build();
FirebaseApp.initializeApp(options);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
androidBuilder.setRestrictedPackageName("com.sk.weichat");
androidNotifiBuilder.setColor("#55BEB7");// 设置消息通知颜色
androidNotifiBuilder.setBody("服务消息通知");// 设置消息内容
androidNotifiBuilder.setIcon("https://www.shiku.co/images/favicon.png");// 设置消息图标
androidNotifiBuilder.setTitle("开发者你好");// 设置消息标题
AndroidNotification androidNotification = androidNotifiBuilder.build();
androidBuilder.setNotification(androidNotification);
AndroidConfig androidConfig = androidBuilder.build();
builder.setToken("AAAAb7GOs6M:APA91bFZdHjWikBQzHjGUlfwdBb0vLKdoBkcPn1nJ6LjO7SmmdMfAM8g0zMdO9vlddAZdL_SjkCi7lsFjPvGQE7CoMxVGOmfN8WSDuWTif5_l35AkIfJF3Ls6Wt5BFPDTTI0MRZP-VJl");// 客户端申请到的token
builder.setAndroidConfig(androidConfig);
// builder.setNotification(notice);
Message message = builder.build();
try {
String fcm = FirebaseMessaging.getInstance().send(message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
......@@ -220,4 +220,10 @@ public class PayTest {
com.yunpian.sdk.model.Result<SmsBatchSend> r = clnt.sms().tpl_batch_send(param);
System.out.println(r);
}
@Test
public void sendMessageToAll(){
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论